-1

こんにちは、フォームで ID を送信する際に問題があります。

サイトの構造は次のとおりです。

session_start();
if (!isset($_SESSION['a'])){
    ...create the session from some variables...
$_SESSION['a'] = $var;
$var = $_SESSION['a'];
}else{
$var = $_SESSION['a'];

    if (isset($_POST["one"]) ){
        echo "post one was send";
    }
    if (isset($_POST["two"]) ){
        echo "post en was send";
    }

echo "session already exists.";
}

送信されるフォームはページの最後に配置され、除外された php によって html に埋め込まれます。

echo '...
      <ul class="drop_down">
    <form action="'.$_SERVER['PHP_SELF'].'" method="post">      
        <input type="submit" id="one" name="one" value="one"/><div>set one</div>
    </form>
    <form action="'.$_SERVER['PHP_SELF'].'" method="post">  
        <input type="submit" id="two" name="two" value="two"><div>set two</div>
    </form>
      </ul>
     ...';

そのため、奇妙なことに、コードの最初の部分がフォームを送信するときにelse部分が機能しないため、コードの最初の部分が機能するため、フォームが送信されないように見えます。ポストメソッドの条件の下にエコーテキストが表示されるだけです。

だから、私がこれを解決する方法を教えてくれる人がいれば、本当に感謝しています.

どうもありがとう。

アップデート:

アクションなしで request-method を使用すると、メッセージがエコーアウトされます。うまくいくと思いました。問題は、投稿を送信するときにセッションが変更されている必要があることです。これは事実ではなく、なぜこれが機能しないのかわかりません。

元のコードは次のようになります。

if (isset($_POST["tr"]) ){
    $_SESSION['a'] = "tr";
    echo "post tr was send and session has changed to tr";
    }
4

1 に答える 1

2

このようなフォームがあれば

<form method="post">
  <input type="submit" value="Submit Form" name="formA">
</form>

<form method="post">
  <input type="submit" value="Submit Form" name="formB">
</form>

次に、このように確認できます

if (isset($_REQUEST['formA']) ...
elseif (isset($_REQUEST['formB']) ...
于 2012-12-21T16:10:48.563 に答える