Simple PHP: getting variable from a form input

2020-03-30 16:45发布

问题:

I can't really use PHP and from what I've seen in tutorials this should work, but it doesn't:

<html>
  <head></head>
  <body>
    <form>
      <input type='text' name="name" value='myName'>
    </form>
    <p>
      <?php
        $name = $_POST['name'];
        echo $name
      ?>
    </p>
  </body>
</html>

Is there a reason I can't get the value of name? Sorry for asking such a simple question...

here is the fiddle http://jsfiddle.net/DCmu5/1/, so, please try what you said and send it to me only when it works before answering

回答1:

PHP is a server-side language, so you'll need to submit the form in order to access its variables.

Since you didn't specify a method, GET is assumed, so you'll need the $_GET super-global:

echo $_GET['name'];

It's probably better though, to use $_POST (since it'll avoid the values being passed in the URL directly. As such, you can add method attribute to your <form> element as follows:

<form method="post">
    <input type='text' name="name" value="myName" />
    <input type="submit" name="go" value="Submit" />
</form>

Notice I also added a submit button for good measure, but this isn't required. Simply hitting return inside the textbox would submit the form.



回答2:

Well, you have to POST your form to get the value of $_POST variables. Add this to your <form>

<form action="yourpagename.php" method="post">
    <input type='text' name="name" value='myName'>
    <button type="submit">Submit</button>
</form>

Click button and whatever is typed in your field will show up.



回答3:

try this

<?php
    if(isset($_REQUEST['name'])){
                $name = $_REQUEST['name'];
                echo $name;
    }
     ?>