2011-11-04 15 views
0

所以我一直在与此战斗了几天,我似乎无法让它工作。无论何时按下提交按钮,浏览器都应该将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/

感谢, 混沌

回答

2

这里是你的问题:

<table align="right"><tr><td align="right"><form action="/" method="post">Username: <input action="login.php" type="text" name="uname"/><br/>Password: <input type="password" name="passwd"/><br/><input type="submit" value="Login" align="right"/></td></tr></table> 

你从来不关的形式在你的头了用户名和密码,因此您的<form action="/" method="post">几乎用于整个页面,并且您的write.php表单操作被忽略,因为表单在技术上已经打开。您需要关闭页眉中的表单才能正常工作。

要重申:没有任何内容正在重定向,您实际上将两个“表单”中的所有数据发布到指定位置/

+0

啊哈!非常感谢你!我不会看到这一段时间,因为我不使用该登录字段。我把它放在前面,然后根本找不到有登录系统的理由,所以我只是把它留在那里......无论如何,再次感谢! – Chaos

相关问题