2

我在 php 中的代码没有按计划工作。问题是,它不会执行以下所有行:

if ( isset( $_POST['submit'] ) ) { 
}

我不知道我做错了什么。此代码的目标是能够编辑您的帐户信息。还有另一件奇怪的事情可能与此有关。中的代码:

if (!$edit){
}

将永远出现在屏幕上。例如,如果我输入 echo 'hello'; 即使布尔值为真,它仍然会显示。我很想知道问题是什么,我正在寻求您的帮助。这是我的代码:

$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 的文本显示在屏幕上并插入到我的数据库中。

4

2 回答 2

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;
}
于 2013-09-19T14:40:29.143 回答
0

改变你的

      `<input name="edit" type="submit" value="edit">`

  ` <input name="submit" type="submit" value="edit">`

name需要添加该属性,以便服务器可以呈现表单数据,但您使用submit的是无效的

于 2013-09-19T15:00:29.313 回答