我有以下问题。我收集一些用户输入,然后使用PHP将其写入文本文件。完成此操作后,我想重定向到另一个网页 - 这里是www.google.com。我遇到了困难。
$myFile = "testFile.txt";
$fh = fopen($myFile, 'a');
$IP = $_SERVER["REMOTE_ADDR"].',';
$logdetails= $IP.date("F j, Y, g:i a O T");
$stringTimeout = $_POST['_delay'];
$stringData1 = $_POST['userChoices'];
$s = ',';
$postData = $s.$stringTimeout.$s.$stringData1"\n";
fwrite($fh,$logdetails.$postData);
fclose($fh);
header("Location: http://www.google.com");
答案 0 :(得分:2)
标题方法真的很糟糕,而且缺少重定向方法真的很烦人。
我假设您已经收到“标题已设置”或“标题已发送到浏览器”。在这种情况下使用javascript而不是header方法。
//header("Location: http://www.google.com");
echo "<script type='text/javascript'>location.href='http://www.google.se'</script>;";
答案 1 :(得分:1)
我在原始解决方案上粘贴了另一种替代方法。
适用于保罗的原始解决方案
fwrite($fh,$logdetails.$postData,'a');
这会强制fwrite修改文件,使用'w'选项会覆盖文件
我也用于多个变量的替代方案是:
$write_me = $logdetails.$postData;
fwrite($fh,$write_me);
答案 2 :(得分:1)
删除之间的空格
fclose($fh);
和header("Location: http://www.google.com");
喜欢在
fclose($fh);
header("Location: http://www.google.com");
答案 3 :(得分:1)
有没有错误?
它可能没有关系,但在我看来,你在最后一个转义的“\ n”字符前忘记了一个点:
$postData = $s.$stringTimeout.$s.$stringData1."\n";
答案 4 :(得分:0)
如果您在另一个PHP中首先尝试重定向部分该怎么办? 分而治之! :)
嘿,如果这不起作用,检查你的html标题,我记得我遇到了html标题试图使用的问题:标题(“位置:http://www.google.com”);
答案 5 :(得分:0)
尝试添加:
ob_end_flush();
exit();
在header()方法之后。
答案 6 :(得分:0)
我也曾多次面对这个问题。 我通过放一个die()来解决它;在标题的下一行(“位置:http://www.google.com”);
像这样标题(“位置:http://www.google.com”); 模具();