我正在尝试编写一个程序,其基本思想是我要求用户在文本区输入,然后将文本存储到word文件中。下面是我要使用的代码:
<html>
<head>
<title>Simple Guestbook</title>
</head>
<body>
<h1>Simple Guestbook Comment Creator</h1>
<br>
<form method = "post"
action = "mysite.php">
<textarea name = "text"
rows = "10"
cols = "20">Write Here</textarea>
<input type = "submit"
value = "Submit Comment">
</form>
<?
if($_POST['text'] !== NULL){
$comment = $_POST['text'];
$file = fopen("texttest.txt", "a");
fputs($file, "<br>'n$comment");
fclose($file);
}
?>
</body>
</html>
我似乎不能使这个正常工作。我还在考虑以某种方式使表单操作存储文本,然后重新加载网站,但我还没有得到工作(原始文件是mysite.php,所以动作只是重新加载页面)。
如果有人有更好的算法或不同的语法使用的想法,请告诉我,因为我刚刚开始学习基本的PHP语法。
谢谢
检查以下内容:
- php是否有权限写入该目录下的文件?
- 是php文件称为"myfile.php"?
无论如何,当某些东西不工作并且你想知道是什么导致错误时,将error_reporting(-1);
放在php的开头-它将输出任何错误或警告,包括由fopen()生成的错误或警告。
此外,您可能想要检查变量是否已正确提交:echo $comment
在您分配它之后。
这样做可能会起作用。
你可能想对它们输入的值做更多的处理,但这基本上会完成你所要求的。
你还需要确保你有正确的文件路径,你试图写入,该文件有正确的权限,允许它被写入:
<html>
<head>
<title>Simple Guestbook</title>
</head>
<body>
<h1>Simple Guestbook Comment Creator</h1><br>
<?php
if (isset($_POST['submit'])) {
if (strlen(trim($_POST['comment']))) {
$file = fopen("texttest.txt", "a");
fputs($file, "$_POST['comment'])'n");
fclose($file);
}
} else {
?>
<form method = "post" action = "<?php echo($_SERVER['PHP_SELF']); ?>">
<label>Leave your comment
<textarea name="comment" rows="10" cols="20"></textarea>
</label>
<input type="submit" name="submit" value="Submit Comment" />
</form>
<?php
}
?>
</body>
此外,由于您要返回同一页面,您可能需要放置某种消息,让该人知道他们成功地在您的地址簿中输入了一些内容。