为什么HTTP Post to Url没有传递输入值?

时间:2015-07-31 10:12:09

标签: http url post

获得了GIS-R10(访客互联网网关)设备,用于在访问互联网之前显示访客wifi登录页面。我可以选择基于HTML创建自定义登录页面,还可以选择使用POST.PHP文件将客户输入的值(如名称和电子邮件)添加到数据库(mysql)。

现在,在名为login.html的文件中显示登录表单,您必须在代码<!--LOGIN-->标记中包含。如下:

<table border="0" cellspacing="0" cellpadding="0" class="login_table" align="center">
<tbody><tr>
<td class="uni_01" style="border-bottom:1px #cccccc solid;">
<!--LOGIN-->
</td>
</tr>
</tbody></table>

然后我在设备管理页面上选择了一个选项,将数据重定向到myserver.com/post.php,不幸的是,数据库中的行已添加,但收到了空的电子邮件和名称字段。

当选项&#34; HTTP POST TO URL&#34;使用我的post.php文件选择,而不是登录页面的索引脚本添加代码:

<!--include(myserver/post.php);-->

<!--LOGIN-->标记添加的表单是

<form method="post" name="registered" onsubmit="return validateRegistered()">
            <input type="hidden" name="url" value="http://go.microsoft.com/fwlink/?LinkID=219472">
            <input type="hidden" name="ip" value="192.168.96.10">
            <input type="hidden" name="code" value="d">
            <br><br>
            <table cellpadding="4" border="0">

                <tbody><tr><td>Name: </td><td><input type="text" name="data1" style="width: 120px"></td></tr>

                <tr><td>Email: </td><td><input type="text" name="data2" style="width: 120px"></td></tr>

                <tr><td colspan="2" align="center"><input type="submit" value="Connect" style="font: 12px arial, helvetica, sans-serif"></td></tr>
            </tbody></table>
            <br>
            You must agree to our <a href="/disclaimer.cgi" target="_blank" id="termslink"><u>terms and conditions</u></a> to use this service.    
            </form>

最后在post.php文件中我使用:

$name=$_POST['data1'];
$email=$_POST['data2'];

将data1和data2值添加到我的数据库并接收空值。

非常感谢任何想法或指向正确的方向。

1 个答案:

答案 0 :(得分:0)

如果您不想将表单提交到.php文件,则必须设置form-element的action-attribute:

<form action="post.php" method="post" name="registered" onsubmit="return validateRegistered()">

如果请求被分派到.php文件,您也可以尝试使用$ _GET或$ _REQUEST而不是$ _POST

编辑: 请再试一次:

<?php 

print_r($_REQUEST);
exit;

// here MySQL db connector 

$primarykey1 = $_REQUEST['data1']; 
$primarykey2 = $_REQUEST['data2']; 

...

如果变量不在$ _REQUEST数组中,则必须联系客服,我没有看到任何错误。

另请注意:请在将数据保存到数据库之前将其转义,在您的情况下使用mysql_real_escape_string($ primarykey1),或者更好地使用mysql PDO抽象层