用PHP无法获得表单值

I am trying to get the value of a form (text field) with _POST, and store it to a text file but it doesn't work. Here's my code:

HTML

<form>
<input type="text" name="test" id="test" value="">
<input type="button" onclick="location.href='example.com/index.php?address=true';" value="ODOSLAŤ" />
</form>

PHP

if (isset($_GET['address'])) {

    $email = $_POST['test'];

    $myfile = fopen("log.txt","a") or die("Error.");
    fwrite($myfile, "
".$email);

    // this prints nothing
    echo $email;  
  }

I can't get the value of that text field. Nor GET nor POST doesn't work for me. What am I doing wrong?

You are missing a post method in your form.

<form method="post" action="example.com/index.php?address=true">
     <input type="text" name="test" id="test" value="">
     <input type="submit" value="ODOSLAŤ" />
</form>

You also have to change the following line.

if (isset($_GET['address'])) {

With

if (isset($_POST['address'])) {

You want to post after triggering an action as FreedomPride mentioned

Conclusion

You want to declare for example a post methodif you know that you would like to post that data in the future.

As FreedomPride also mentioned :

You are using a GET, but if a user does not input anything your script won't work, there by it is recommended to use a POST

You are not submitting your form.

Change your code as follows....

<form method="post" action="example.com/index.php?address=true">
     <input type="text" name="test" id="test" value="">
     <input type="submit" value="ODOSLAŤ" />
</form>

You'll get what you want....

This is what you're missing as Tomm mentioned.

<form method="post" action="yourphp.php">
<input type="text" name="address" id="test" value="">
<input type="submit" name="submit"/>
</form>

In your PHP, it should be post if it was triggered

if (isset($_POST['address'])) {

    $email = $_POST['test'];

    $myfile = fopen("log.txt","a") or die("Error.");
    fwrite($myfile, "
".$email);

    // this prints nothing
    echo $email;  
  }

Explanation :-

In a form, an action is required to pass the action to the next caller with action. The action could be empty or pass it's value to another script.

In your PHP you're actually using a GET. What if the user didn't input anything. That's why it's recommended to use POST .