HTML/PHP表单不工作
我有一个HTML表单,它使用部分PHP获取值,该表单基本上类似于编辑帐户详细信息表单 问题 我不知道为什么表单不工作,当我点击按钮使用HTML/PHP表单不工作,php,forms,html,isset,Php,Forms,Html,Isset,我有一个HTML表单,它使用部分PHP获取值,该表单基本上类似于编辑帐户详细信息表单 问题 我不知道为什么表单不工作,当我点击按钮使用notepad++编辑我的代码时,它显示开始是一个DIV,这让事情变得更加混乱。。。提交表单时,它会将您带回到表单页面,没有任何消息,因此我会因为某种原因而迷路 表单页面 <form method="POST" action="dev.php"> <!-- Row --> <div class="row-fluid">
notepad++
编辑我的代码时,它显示开始是一个DIV,这让事情变得更加混乱。。。提交表单时,它会将您带回到表单页面,没有任何消息,因此我会因为某种原因而迷路
表单页面
<form method="POST" action="dev.php">
<!-- Row -->
<div class="row-fluid">
<!-- Column -->
<div class="span6">
<!-- Group -->
<div class="control-group">
<label class="control-label" for="fname">First name</label>
<div class="controls">
<input type="text" name="fname" id="fname" value="<?php echo $user_fname; ?>" class="span10" />
<span style="margin: 0;" class="btn-action single glyphicons circle_question_mark" data-toggle="tooltip" data-placement="top" data-original-title="First name is mandatory"><i></i></span>
</div>
</div>
<!-- // Group END -->
<!-- Group -->
<div class="control-group">
<label class="control-label" for="lname">Last name</label>
<div class="controls">
<input type="text" name="lname" id="lname" value="<?php echo $user_sname; ?>" class="span10" />
<span style="margin: 0;" class="btn-action single glyphicons circle_question_mark" data-toggle="tooltip" data-placement="top" data-original-title="Last name is mandatory"><i></i></span>
</div>
</div>
<!-- // Group END -->
</div>
<!-- // Column END -->
<!-- Column -->
<div class="span6">
<!-- Group -->
<div class="control-group">
<label class="control-label" for="email">Email Address</label>
<div class="controls">
<input type="text" name="email" id="email" value="<?php echo $user_email; ?>" class="span10" />
<span style="margin: 0;" class="btn-action single glyphicons circle_question_mark" data-toggle="tooltip" data-placement="top" data-original-title="First name is mandatory"><i></i></span>
</div>
</div>
<!-- // Group END -->
<!-- Group -->
<div class="control-group">
<label class="control-label" for="phonenumber" >Phone Number:</label>
<div class="controls">
<input type="text" name="phonenumber" id="phonenumber" value="<?php echo $user_number; ?>" class="span10" />
</div>
</div>
<!-- // Group END -->
</div>
<!-- // Column END -->
</div>
<!-- // Row END -->
<div class="separator line bottom"></div>
<!-- Group -->
<div class="control-group row-fluid">
<label class="control-label" for="bio">About me</label>
<div class="controls">
<textarea id="bio" name="bio" class="span12" rows="5"><?php echo $user_bio;?></textarea>
</div>
</div>
<!-- Form actions -->
<div class="form-actions" style="margin: 0;">
<button type="submit" id="accountdetails" name="accountdetails" class="btn btn-icon btn-primary glyphicons circle_ok"><i></i>Save changes</button>
</div>
</div>
</form>
<!-- // Form actions END -->
我可能需要喝更多的咖啡,但我一辈子都不知道为什么咖啡不起作用
任何帮助都将不胜感激
提前谢谢
编辑
我输入了名称,但这没有帮助,现在页面的URL显示:
update.php?fname=Aaron&lname=Hatton&email=me%40aaronhatton.co.uk&phonenumber=0123456789&bio=+18+%7C+London+%7C+take&accountdetails=
有什么想法吗?第一:照弗雷德说的做(输入标签上的名称属性)
第二:您缺少末尾的
标记。您的表单页面似乎正确,但是,由于表单更新了用户数据,请查看dev.php代码的作用:
如果设置了值,并且手动设置了字段,则isset()函数将返回true,以便将其计算为true
在if语句中,您正在对所有条件进行ORing,因此一旦它找到1个真条件,它将进入if语句体并执行die,而die将不起任何作用
因此,如果您想测试,而不是使用die,请尝试echo“here”查看是否打印了消息。因此,我发现表单工作得非常完美,并且有一些AJAX被另一个编码器使用,删除了,令人惊讶的是它工作得非常完美 该死的同事
感谢所有的帮助 (一方面):除了提交按钮之外,您还没有命名输入字段。除非您需要,否则不要添加
id=“email”
,而是添加name=“email”
,并对其他@Fred ii执行相同操作-请查看更新问题您正在使用GET
方法生成URL,其中您的方法是POST
。您的输入字段仍然需要命名。@Fred ii-无意冒犯,这没有帮助。。。请详细说明?我只能告诉您尝试将所有POST
事件更改为GET
。我只能告诉你,我必须继续我的工作日。我已经更新了我的代码,添加了结尾和名称(大约2分钟前)。你还有一个额外的,如果你还没有更新,也感谢你指出,我已经尝试过了,但没有乐趣,因为POST的URL仍然有值,好像表单方法是get?当你使用get时,您将能够看到URL中传递的字段值,使用POST您将看不到任何内容。现在另一个建议是尝试使用ajax提交表单。这是我通常95%的时间都在做的事情,这样你就不会得到页面刷新。我从来没有使用过AJAX,因此我的理解很模糊,如果没有,我不希望这成为一个选项……那么在dev.php内部,做一些类似的事情:if(isset($_POST['accountdetails'){$fname=isset($_POST['fname'))?isset($_POST['fname'):“”;//对所有其他字段执行相同的操作echo$fname;//对所有其他字段进行echo,查看是否从表单中获取值。然后可以调用更新函数来更新数据库}
if (isset($_POST['accountdetails'])) {
if (isset($_POST['fname']) || isset($_POST['lname']) || isset($_POST['email']) || isset($_POST['phonenumber']) || isset($_POST['bio'])) {
die ("HERE");
};
};