我试图将基本错误表单写入文件,但是当我提交文件时,我的PHP总是崩溃。我已经尝试了一些基本的错误修复,例如if语句是否正在发生,如果我使用的所有变量都不为空等等......
在我的代码中,所有字符串变量都是有效的,我100%确定它们不会导致错误。
我通过错误测试将其减少为行
$destination = fopen($filename,"w");
和
$fclose($destination);
我的代码:
if(isset($_POST['submit']) && $_POST['name'] != "" && $_POST['email'] != ""){
$filename = "message_" . date('Y-m-d H:i:s') . ".txt";
$issueType = "Type of issue: " . $_POST["issues"] . "\r\n";
$submitter = "Submitted by: " . $_POST["name"];
$email = "Email ID: " . $_POST["email"];
$time = "Submitted at: " . date('Y-m-d H:i:s') . "\r\n";
$message = "Details: " . $_POST["details"];
$destination = fopen($filename,"w");
fwrite($destination,"Issue Alert!");
fwrite($destination,$issueType);
fwrite($destination,$submitter);
fwrite($destination,$email);
fwrite($destination,$time);
fwrite($destination,$message);
$fclose($destination);
}
我实施的任何其他代码都无关紧要,因为我已将这些代码视为错误点。
当我尝试使用基本的硬编码字符串时,我不会遇到任何错误。感谢所有帮助,谢谢!
答案 0 :(得分:0)
尝试更改$filename
,就像你写的那样
$filename = "message_" . date('Y-m-d H:i:s') . ".txt";
因为您无法使用冒号(&#39; <&#39; 来自&#39; H:i:s
&#39; )在文件名中。
也许你可以试试这个:
$filename = "message_" . date('U') . ".txt";
您的文件名中仍有日期时间信息
但请记住,如果您的网站流量很大,也许您会在一秒内获得相同的文件名,并且之前的现有文件将被覆盖