我在php $ _POST代码中遇到问题。这是我的代码?我做错了什么?
这是index.php
<form action="upload.php" method="post" id="form">
<input type="text" name="fname" size="87" />
<input type="submit" style="display:none" />
如果我点击提交,页面将转到upload.php和白色屏幕。我看看sample.txt,它就像一个:
<h1></h1>
这是upload.php
$yazi=$_POST['fname'];
$fo = fopen("sample".".txt", "a");
fwrite($fo, '<h1>'.$yazi.'</h1>');
fclose($fo);
我能做些什么来修复? 我使用jquery提交。所以没有问题显示:没有,我想。
答案 0 :(得分:1)
没有任何错误发生,白屏应该是如何工作的。
在upload.php
中完成处理后,您可以使用Location标头指令将浏览器重定向到某处。例如:
header("Location: http://mypage.com/where_to_go_after.php");
空的$ var问题,请尝试使用"
,如:
fwrite($fo, "<h1>".$yazi."</h1>");
答案 1 :(得分:0)
更改
$fo = fopen(sample.".txt", "a");
要
$fo = fopen("sample.txt", "a");
完整代码:
<?php
var_dump($_POST);
$filename = 'sample.txt';
$yazi = '<h1>'.$_POST['fname'].'</h1>';
if (is_writable($filename)) {
if (!$fo = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
if (fwrite($fo, $yazi) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Success, wrote ($yazi) to file ($filename)";
fclose($fo);
} else {
echo "The file $filename is not writable";
}
?>
答案 2 :(得分:0)
我在代码中看不到任何会阻止表单字段在文件中结束的内容,因此错误最有可能发生在其他地方。在这里,您可以使用几个技巧来帮助您找到问题:
在所有脚本之上添加此内容:
ini_set('display_errors', TRUE);
error_reporting(E_ALL);
在upload.php
:
var_dump($_POST);
...然后转到浏览器的“查看 - >来源”菜单,查看您的数据是什么样的。
使用W3C online validator验证您生成的HTML。
答案 3 :(得分:0)
您可以先执行$ _POST方法,然后再执行upload.php操作
<php>
if(isset($_POST['fname'])){
//your echo or any code here..
//this is to test your method
}
?>