-1

問題

送信ボタンをクリックするたびに POST を入力していて、POST を設定する必要があります。残念ながら、何らかのランダムな理由で、POST がいっぱいになりません。

コード

        echo '
        <form action="settings.php" method="POST">
        <textarea name="area" class="input" id="textarea">'.$settings_welcome_page['paragraph'].'</textarea><br />
        <input type="submit" value="Edit" class="button">
        </form>';

        if (isset($_POST['area'])) {
            $update = $CONNECT_TO_DATABASE->prepare("UPDATE welcome_text SET paragraph = :message");
            $update->bindValue(':message', $_POST['paragraph']);
            $update->execute();
            header ('Location: settings.php?status=sucess');    
        } else {
            echo' post not working ';
        }

「投稿が機能していません」というエコーが返されます。これは、POST 'area' が設定されていないことを意味します。

何が問題ですか?どうすれば修正できますか? ありがとう。

4

3 に答える 3

2
$_POST['paragraph']

する必要があります

$_POST['area']

あなたの状態でも値をバインドする際に、広告を出すことができます

if(isset($_POST['area']) || (isset($_GET['status']) == 'success')){
    // code here..
} 
else{
   // code here..
}

すでにフォームを送信しているかどうかを確認し、他のことに陥っていないかどうかを確認してください。

IN General ..コードは次のようになります

if (isset($_POST['area']) || (isset($_GET['status']) == 'succes')) {
            $update = $CONNECT_TO_DATABASE->prepare("UPDATE welcome_text SET paragraph = :message");
            $update->bindValue(':message', $_POST['area']);
            $update->execute();
            header ('Location: settings.php?status=sucess');    
        } else {
            echo' post not working ';
        }
于 2013-04-02T08:57:52.310 に答える
0

コードでは、サーバーはリダイレクト ヘッダーによって POST に応答します。

   if (isset($_POST['area'])) {
        header ('Location: settings.php?status=sucess');    
    } else {
        echo' post not working ';
    }

ブラウザがこのヘッダーを受信すると、aGET settings.php?status=sucessがサーバーに送信されます。それがあなたがメッセージを受け取る理由ですpost not working

このコードを試すと、POST がうまく機能していることがわかります。

<html><body><?php 
 echo '
     <form action="settings.php" method="POST">
       <textarea name="area" class="input" id="textarea">bla bla ...</textarea><br />
       <input type="submit" value="Edit" class="button">
     </form>';

    if (isset($_POST['area'])) {
        echo' this was a POST of area='.$_POST['area'];
    } else {
        echo' this was a GET ';
    }
?></body></html>
于 2013-04-02T09:26:24.030 に答える