所以我一直在与此战斗了几天,我似乎无法让它工作。无论何时按下提交按钮,浏览器都应该将post变量发送到write.php,但是它只是重定向到网站主页或文档根目录。这应该是真的,非常简单,我以前做过,但现在它不适合我。我想知道的是,如果这是我的网络服务器设置或PHP的问题,或者只是我的一个愚蠢的错误。这只是一个简单的HTML表单,算不上特别,所以这里的形式本身,在index.php文件:HTML表单动作发生错误的地方,不会发送变量到目标文件
<p style="font-size:13px">
<?php
$rp = fopen('mainlog.txt', 'r');
while(!feof($rp))
{
$read = fgets($rp);
echo($read).('<br/>');
}
fclose($rp);
?>
</p>
<form action="write.php" method="post">
Name: <input type="text" name="user" /><br/>
Changes:<br/>
<textarea cols="70" rows="8" name="change" style="background-color:#555;color:#ccc;font-family:verdana,arial,helvetica,sans-serif;font-size:13px"></textarea><br/>
<input type="submit" value="Add Entry"/>
</form>
这里的地方将其发送给在write.php:
<?php
$fp = fopen('mainlog.txt', 'a');
$wr1 = $_POST['change'];
#$my_t = getdate(date("g"));
date_default_timezone_set("America/New_York");
$date = date("n").('/').date("d").('/').date("Y").(', ').date("g").(':').date("i").(':').date("s");
$who = $_POST['user'];
$write = $date.(' by ').$who.('
').$wr1.('
');
fwrite($fp, $write);
fclose($fp);
header('Location: http://www.zennixstudios.com/first/chlog/');
?>
我有在我的Apache 2.2专用服务器上使用FreeBSD8.2上的PHP 5以及XAMPP for Windows尝试了这两种方法,结果相同。我怀疑它可能与PHP有关,特别是PHP include(),因为我在这个页面上有几个这样的内容,当我把它放在有XAMPP的朋友的计算机上,但没有包含的文件时,include ()只是把错误放在屏幕上,但HTML表单突然正常工作。那么,有没有与HTML表单和某些PHP函数有任何已知的冲突?
其他注意事项: 上面显示的index.php代码位于主页div内,但是如果您希望整个页面源代码只是问。 我很确定这个错误不在write.php中,因为我知道浏览器从不向它发送任何东西,因为它至少会把日期放在mainlog.txt中。 如果你想看到什么,这看起来像在上下文中,去http://www.zennixstudios.com/first/chlog/
感谢, 混沌
啊哈!非常感谢你!我不会看到这一段时间,因为我不使用该登录字段。我把它放在前面,然后根本找不到有登录系统的理由,所以我只是把它留在那里......无论如何,再次感谢! – Chaos