我希望有一个配置文件页,在那里我可以查看和编辑信息,而不需要使用其他页面。
默认情况下,此信息是打印的:
<table border="0" style="width:35%">
<tr><td>E-mail:</td><td><?php echo $user['email']; ?></td></tr>
<tr><td>About me:</td><td><?php echo $user['about']; ?></td></tr>
</table>
<form action = "" method="post">
<input type = "submit" name="modify" value="Edit My Profile"/>
如果选中POST‘’modify‘,请执行以下操作:
<table border="0" style="width:25%">
<tr><td>E-mail:</td><td><input type="text" name="email" value="<?php echo $user['email']; ?>"/></td></tr>
<tr><td>About Me:</td></tr>
</table>
<textarea name="about" rows="4" cols="64"><?php echo $user['about']; ?></textarea>
<form action = "" method="post">
<input type = "submit" name="modify2" value="Edit My Profile"/>
<input type = "submit" name="cancel" value="Cancel"/>
</form>如果选中了后置“this 2”,请执行以下操作:
$db = new mysqli('localhost', 'r00t', 'somepass', 'sometable');
$stmt = $db->prepare("UPDATE users SET email= ?, about= ? WHERE username = ?");
$stmt->bind_param('sss', $_POST['email'], $_POST['about'], $_SESSION['username']);
$stmt->execute();
$stmt->close();
redirect("profile.php");它按照预期工作,除非我试图编辑我的配置文件。我不能覆盖电子邮件或有关部分。我认为这与MySQL查询有关吗?我知道我得到了我的$_会话‘用户名’的严格性。那么,是否还没有设置$_POST‘’email‘或/和$_POST’‘about’呢?
我用正确的参数在PhpMyAdmin中尝试了我的查询,它确实起了作用。
还是不能在单页中使用双发帖请求?
发布于 2015-03-23 12:27:57
将<form>标记放在所有输入的前面。不要忘记引用带有特制沙司的特殊HTML字符
<table border="0" style="width:25%">
<form action = "" method="post">
<tr><td>E-mail:</td>
<td><input type="text" name="email" value="<?php echo htmlspecialchars($user['email']); ?>"/></td>
</tr>
<tr><td>About Me:</td></tr>
</table>
<textarea name="about" rows="4" cols="64"><?php echo htmlspecialchars($user['about']); ?></textarea>
<input type = "submit" name="modify2" value="Edit My Profile"/>
<input type = "submit" name="cancel" value="Cancel"/>
</form>MySQL查询似乎没有问题。
发布于 2015-03-23 12:32:11
您的表单位于具有字段的表的外侧。要更新的字段应该在form元素中。
<form action = "" method="post">
<table border="0" style="width:25%">
<tr><td>E-mail:</td><td><input type="text" name="email" value="<?php echo $user['email']; ?>"/></td></tr>
<tr><td>About Me:</td></tr>
<tr><td> <textarea name="about" rows="4" cols="64"><?php echo $user['about']; ?></textarea></td></tr></table>
<input type = "submit" name="modify2" value="Edit My Profile"/>
<input type = "submit" name="cancel" value="Cancel"/>
</form> 发布于 2015-03-23 12:32:32
表上方的用户表单标记,以便所有输入都在表单中,而不是使用$_POST方法获取表单的值。
<table border="0" style="width:25%">
<tr><td>E-mail:</td><td><input type="text" name="email" value="<?php echo $user['email']; ?>"/></td></tr>
<tr><td>About Me:</td></tr>
</table>
<textarea name="about" rows="4" cols="64"><?php echo $user['about']; ?></textarea>
<form action = "" method="post">
<input type = "submit" name="modify2" value="Edit My Profile"/>
<input type = "submit" name="cancel" value="Cancel"/>
</form>https://stackoverflow.com/questions/29210138
复制相似问题