HTML Form POST is null

30,613

Solution 1

This code is working. You need to add some condition, that checks, if $username is posted or not.

Something like that:

if(count($_POST)){
    $username ='';
    if(isset($_POST['user'])){
        $username = $_POST['user'];
    if ($username==null || !$username)
         echo 'username is null';
     echo strlen($username);
     echo $username;
   }

 }

Solution 2

The issue is that all of your inputs have id but not name. The id are used by JavaScript. The name are used for sending form data.

Change it to be like this:

<form action='http://k9minecraft.tk/scripts/adduser.php' method='POST'>
  <table>
    <tr>
      <td>First Name:</td>
      <td><input type='text' name='first' id='first'></td>
    </tr>
    <tr>
      <td>Last Name:</td>
      <td><input type='text' name='last' id='last'></td>
    </tr>
    <tr>
      <td>Email:</td>
      <td><input type='text' name='email' id='email'></td>
    </tr>
    <tr>
      <td>Minecraft Name:</td>
      <td><input type='text' name='user'></td>
    </tr>
    <tr>
      <td><input type='submit' name='Send' value='Send'></td>
      <td><input type='reset' name='Rest' value='Reset'></td>
    </tr>
  </table>
</form>

Solution 3

Try this to find out if the field is posted by the formular:

isset($_POST['user'])

I think $username==null will be true even if $username really is equal to an empty string.

Share:
30,613
Kyle
Author by

Kyle

Updated on July 09, 2022

Comments

  • Kyle
    Kyle almost 2 years

    so I'm trying to simply send one field of data from a form to a php file. Below is my form in a table. I also posted my php code. It keeps returning that $username is null. Ive tried post/get and it doesn't seem to matter.

    HTML:

    <form action='http://k9minecraft.tk/scripts/adduser.php' method='POST'>
        <table>
            <tr>
                <td>First Name:</td>
                <td><input type='text' id='first'></td>
            </tr>
            <tr>
                <td>Last Name:</td>
                <td><input type='text' id='last'></td>
            </tr>
            <tr>
                <td>Email:</td>
                <td><input type='text' id='email'></td>
            </tr>
            <tr>
                <td>Minecraft Name:</td>
                <td><input type='text' name='user'></td>
            </tr>
            <tr>
                <td><input type='submit' value='Send'></td>
                <td><input type='reset' value='Reset'></td>
            </tr>
        </table>
    </form>
    

    PHP:

    <?php
    print_r($_POST);
    if (isset($_POST['user'])) {
        $username = $_POST['user'];
        echo $username;
        echo 'username is not null';
    }
    ?>