布尔和提交

时间:2013-09-19 14:01:26

标签: php

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

2 个答案:

答案 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无效