douqian9729 2013-09-12 01:19
浏览 30
已采纳

当我在php中发布时传递空值

I am having trouble figuring out why no matter what the address and city fields are always null for me. I input any basic data, post it and get on the other side and it says it's null. Anything obvious I'm doing wrong? Thanks in advance.

This is how I get the values passed via post:

$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$phone = $_POST['phone'];
$address_one = $_POST['address_one'];
$address_two = $_POST['address_two'];
$city = $_POST['city'];
$age = $_POST['age'];

Form I use to collect the data:

 <form id='login' action='createreg.php' method='post' accept-charset='UTF-8'>
                <h3>Create an Account</h3>
                <table id='registertb'>

                    <tr>
                        <td>Username:</td>
                        <td>
                        <input type='text' name='username' id='username' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td>Password:</td>
                        <td>
                        <input type='password' name='password' id='password' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td>Email:</td>
                        <td>
                        <input type='text' name='email' id='email' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td>First Name:</td>
                        <td>
                        <input type='text' name='fname' id='fname' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td>Last Name:</td>
                        <td>
                        <input type='text' name='lname' id='lname' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td>Phone:</td>
                        <td>
                        <input type='text' name='phone' id='phone' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td>Address Line 1:</td>
                        <td>
                        <input type='text' name='address1' id='address1' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td>Address Line 2:</td>
                        <td>
                        <input type='text' name='address2' id='address2' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td>City:</td>
                        <td>
                        <input type='text' name='address2' id='address2' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td>Age:</td>
                        <td>
                        <input type='text' name='age' id='age' class='loginfield' maxlength="50" />
                        </td>
                    </tr>
                    <tr>
                        <td><a href='index.html'>Login</a></td>
                        <td align='right'>
                        <input type='submit' id='subbutton' value='Create' class='buttons' />
                        </td>
                    </tr>
                </table>
  • 写回答

1条回答 默认 最新

  • doubi1910 2013-09-12 01:23
    关注

    You've named your inputs incorrectly. In your PHP, you use these to set the variables:

    $address_one = $_POST['address_one'];
    $address_two = $_POST['address_two'];
    $city = $_POST['city'];
    

    But the HTML references the address fields by number, and the city input is actually a duplicate of address2. You need to set the input name attributes to match what you're using inside the $_POST variables.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么