0

ボタンがクリックされたときにテキストボックスの値をセッション変数として使用しようとしていますが、これまでのところ機能していますが、ハードコードされています。代わりにテキストボックスの値を使用するにはどうすればよいですか?

セッションコードは次のとおりです。

<?php
session_start();
$_SESSION['url'] = "url";
?>

テキストボックスは次のとおりです。

echo "<input type='text' id='starurl' value=''/>";
echo "<br><button onclick='save_a9({$row99['starID']})'>Approve</button><button onclick='save_d9({$row99['starID']})'>Disapprove</button><br>";

これが save_a9 です。

 function save_a9(id) {
        $.post('response6.php', {starID:id}, 
        function(result) { 
            alert(result); 
            window.location.reload();
    });
}



これはあなたが意味するものですか?値にフォームは必要ありません。別のページに移動して使用する必要があるだけです。

<?php
session_start();
if (isset($_POST['url']) {
  $_SESSION['url'] = $_GET['url'];
}
?>

echo "<input type='text' id='starurl' value='" . htmlspecialchars($_SESSION['url'])"
4

3 に答える 3

1

_SESSION url を割り当てる場合、posted 変数を使用して文字列を割り当てる必要があります。

$_SESSION['url'] = $_GET['url'];

逆に、テキスト ボックスにセッションの値を表示するには、次のようにします。

echo "<input type='text' id='starurl' value='" . htmlspecialchars($_SESSION['url']) . "'/>";

テキスト ボックスに実際に何かをさせたい場合は、入力ボックスをフォーム タグで囲む必要があることに注意してください。

<form>タグは、フォームの開始位置と終了位置をブラウザに伝えます。<form>とタグの間にあらゆる種類の HTML タグを追加でき</form>ます。(エコーエコーありがとう!)

RESTful に作業している場合、データを取得するだけのリクエストには GET を使用し、何かを実行するリクエストには POST を使用する必要があります。

いくつかの例:

  • 特定の SO 質問を表示しているページを取得する
  • コメントを投稿
  • [カートに追加] ボタンをクリックして、POST リクエストを送信します。

スキルドリックに感謝!

フォームと PHP ファイルは次のようになります。

<?php
session_start();
if (isset($_POST['url']) {
  $_SESSION['url'] = $_POST['url'];
}

echo '<form action="POST" method="?">';
echo "<input type='text' id='starurl' value='" . htmlspecialchars($_SESSION['url']) . "'/>";
echo '</form>';

フォームが更新されると、セッションも更新されます。ブラウザを閉じて再度開くと、入力ボックスに古い内容が表示されます。(送信ボタンなしで入力ボックスを保存するには、「Enter」を押します)。

于 2013-09-10T06:33:40.937 に答える