HTML表单POST为空

问题描述 投票:4回答:5

因此,我试图将数据的一个字段直接从表单发送到php文件。下面是我的表格表格。我还发布了我的PHP代码。它不断返回$ username为null。香港专业教育学院尝试发布/获取,这似乎并不重要。

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';
}
?>
php html forms post
5个回答
3
投票

此代码有效。您需要添加一些条件,以检查是否发布了$username

类似的东西:

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

 }

7
投票

问题是您所有的输入都具有ID,但没有名称。这些ID由JavaScript使用。名称用于发布。

将其更改为这样:

<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>

1
投票

尝试此操作以确定该字段是否由公式发布者发布:

isset($_POST['user'])

我认为即使$username==null确实等于空字符串,$username也将为真。


0
投票

这是人们通常的做法:

if(isset($_POST['user']) && !empty($_POST['user'])) {
    $user = $_POST['user'];
}

注意:== null不适用于空字符串。参见here

您还需要为您的其他输入字段添加名称属性。


0
投票

尝试使用此

<?php
    if(isset($_POST['submit'])){
     $msg = "";
     /* Validate post */
     if(isset($_POST['user'])==""){
      $msg .= "username is null";
     }
    /*End Validate*/
     if($msg==""){
      $user = $_POST['user'];
     }else{
       echo $msg;
     }
    }

?>
© www.soinside.com 2019 - 2024. All rights reserved.