我在php中的代码没有按计划运行。问题是,它不会完成所有的行:
if ( isset( $_POST['submit'] ) ) {
}
我不知道我做错了什么。 此代码的目标是能够编辑您的帐户信息。还有一件可能与之相关的奇怪之处。代码:
if (!$edit){
}
将永远在屏幕上。例如,如果我输入echo'hello';即使布尔值为true,它仍会显示。我很想知道问题是什么,我正在寻求你的帮助。这是我的代码:
$edit=false;
echo
<<<EOT
<form action="profile.php" method="post">
<input name="edit" type="submit" value="edit"></td>
</form>
EOT;
if (!$edit){
//some action
}
if ( isset( $_POST['edit'] ) ) {
$edit=true;
if($edit==true){
echo'<table>';
echo
<<<EOT
<form action="profile.php" method="post">
<textarea name="about" rows="5" cols="50" >{$about}</textarea>
<td><input name="submit" type="submit" value="submit"></td>
</form>
EOT;
echo'</table>';
if ( isset( $_POST['submit'] ) ) {
$sql_result = $mysqli->query("update account_information SET about='".$about."' WHERE username = '".$username."'");
$edit=false;
}
}
}
修改 的
我想首先只显示编辑按钮,当我按下编辑按钮时,提交按钮和 Textarea 将可用。我想点击它后编辑按钮就会消失。然后我在textarea中输入一些东西,然后单击提交按钮,这将导致textarea的文本显示在屏幕上并插入我的数据库中。
答案 0 :(得分:1)
你遇到结构性错误,请尝试这样的事情:
if ( isset( $_POST['edit'] ) ) {
// Print out the edit form
} else if ( isset( $_POST['edit'] ) ) {
// Update database
} else {
<<<EOT
<form action="profile.php" method="post">
<input name="edit" type="submit" value="edit"></td>
</form>
EOT;
}
答案 1 :(得分:0)
改变你的
`<input name="edit" type="submit" value="edit">`
到
` <input name="submit" type="submit" value="edit">`
需要添加属性name
,以便服务器可以呈现表单数据,但您使用的是submit
无效