首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用POST内部POST请求

使用POST内部POST请求
EN

Stack Overflow用户
提问于 2015-03-23 12:23:46
回答 3查看 79关注 0票数 1

我希望有一个配置文件页,在那里我可以查看和编辑信息,而不需要使用其他页面。

默认情况下,此信息是打印的:

代码语言:javascript
运行
复制
<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‘,请执行以下操作:

代码语言:javascript
运行
复制
<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”,请执行以下操作:

代码语言:javascript
运行
复制
$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中尝试了我的查询,它确实起了作用。

还是不能在单页中使用双发帖请求?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-23 12:27:57

<form>标记放在所有输入的前面。不要忘记引用带有特制沙司的特殊HTML字符

代码语言:javascript
运行
复制
<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查询似乎没有问题。

票数 1
EN

Stack Overflow用户

发布于 2015-03-23 12:32:11

您的表单位于具有字段的表的外侧。要更新的字段应该在form元素中。

代码语言:javascript
运行
复制
<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> 
票数 1
EN

Stack Overflow用户

发布于 2015-03-23 12:32:32

表上方的用户表单标记,以便所有输入都在表单中,而不是使用$_POST方法获取表单的值。

代码语言:javascript
运行
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29210138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档