我前一段时间问了这个问题,但这是关于其他事情的。
在我的本地服务器上,如果我去www.localhost / en / register /我有一个表格。 一旦我提交表单,它就不会提交到页面。该页面似乎没有阅读它。
以下是表格:
<form class="form_main" method="post" action="/en/register/">
<h2>Registration</h2>
<table>
<tr><td><label>Username</label><input maxlength="15" type="text" name="username"></td></tr>
<tr><td><label>Password</label><input maxlength="32" type="password" name="password"></td></tr>
<tr><td><label>E-Mail</label><input maxlength="50" type="email" name="email"></td></tr>
<tr><td><label>How did you find us?</label><input maxlength="50" type="text" name="howfind"></td></tr>
<tr><td><label>Why do you want to join?</label><textarea maxlength="1000" rows="5" cols="30" type="text" name="join"></textarea></td></tr>
<tr><td><input class="button_o" value="Send" type="submit"></td></tr>
</table>
</form>
在本地,它工作得很完美,但在我的服务器上,它似乎无法读取我的代码。
if(isset($_POST['username'],$_POST['password'],$_POST['email'],$_POST['howfind'],$_POST['join'])){
//Some code here
}
我注意到我的表单都没有用。当我点击提交时,它不会提交内容。它只是重新加载它看起来像的页面。有谁知道为什么?
是的,如果有人问,我有<base href="">
。
编辑:删除动作属性后,它似乎可以正常工作,但只要我执行if(empty($_POST['something'])){}
之类的操作,它就会使页面变为白色而没有错误。
答案 0 :(得分:0)
验证表单的操作是否将发布数据发送到重定向为http状态301或302的URL。如果是,则可能是问题所在。要进行此检查,请在Firefox或Chrome开发人员工具中打开Firebug,转到“网络”标签,然后单击表单中的“提交”。您应该看到您的帖子请求及其http状态。您还可以看到发布的数据。但请记住,仅当http状态为200时才会发布帖子。
也许您的服务器将带有斜杠(“/”)的网址重定向到没有斜线的网址,这可能会导致301 http状态。尝试在表单的操作中删除网址的斜杠。