51

次のような入力フィールドがあります。

<input type="text" name="subject" id="subject" value="Car Loan">

Car Loan入力フィールドの値を取得して、セッションに割り当てたいと思います。PHPまたはjQueryを使用してこれを行うにはどうすればよいですか?

4

7 に答える 7

74

PHP$_POSTまたは$_GETスーパーグローバルを使用して、HTMLタグの名前を介して入力タグの値を取得します。

たとえば、フォームのメソッドを変更してから、入力の名前で値をエコーアウトします。

方法の使用$_GET

<form name="form" action="" method="get">
  <input type="text" name="subject" id="subject" value="Car Loan">
</form>

値を表示するには:

<?php echo $_GET['subject']; ?>

方法の使用$_POST

<form name="form" action="" method="post">
  <input type="text" name="subject" id="subject" value="Car Loan">
</form>

値を表示するには:

<?php echo $_POST['subject']; ?>
于 2012-11-19T04:22:37.997 に答える
20

PHPを使用してフォームから値を取得する例:

これをfoobar.phpに入れてください:

<html>
<body>
  <form action="foobar_submit.php" method="post">
    <input name="my_html_input_tag"  value="PILLS HERE"/>

    <input type="submit" name="my_form_submit_button" 
           value="Click here for penguins"/>

    </form>
</body>
</html>

上記のコードを読んで、それが何をしているのかを理解してください。

「foobar.phpはHTMLフォームを含むHTMLドキュメントです。ユーザーがフォーム内の送信ボタンを押すと、フォームのアクションプロパティが実行されますfoobar_submit.php。フォームはPOSTリクエストとして送信されます。フォーム内には入力タグがあります。名前は「my_html_input_tag」です。デフォルト値は「PILLSHERE」です。これにより、ブラウザに「PILLS HERE」というテキストのテキストボックスが表示されます。右側には送信ボタンがあり、クリックするとブラウザのURLが変わります。にfoobar_submit.php、以下のコードが実行されます。

このコードをfoobar.phpと同じディレクトリのfoobar_submit.phpに配置します。

<?php
  echo $_POST['my_html_input_tag'];
  echo "<br><br>";
  print_r($_POST); 
?>

上記のコードを読んで、その機能を理解してください。

上記のHTMLフォームは、フォーム内のhtml要素を表すキーと値のペアを$_POSTスーパーグローバルに入力しました。エコーは、キー'my_html_input_tag'によって値を出力します。キーが見つかった場合、つまり、その値が返されます:「PILLSHERE」。

次に、print_rは$ _POSTからすべてのキーと値を出力するので、そこに他に何があるかを確認できます。

name=の入力タグの値がmy_html_input_tag$_POSTに入れられ、別のPHPファイル内で取得しました。

于 2014-04-02T19:21:32.847 に答える
8

次のように値$valueを取得できます。

$value =  $_POST['subject'];

また:

$value = $_GET['subject'];、使用するフォームメソッドによって異なります。

session_start();
$_SESSION['subject'] =  $value;

値はセッション変数subjectに割り当てられます。

于 2012-11-19T04:15:05.677 に答える
4

グローバルに使用する場合は、次を使用できます。

$val = $_REQUEST['subject'];

そしてあなたのセッションを追加するには、単に

session_start();
$_SESSION['subject'] =  $val;

この場合、jQueryは必要ありません。

于 2012-11-19T04:22:12.260 に答える
3
function get_input_tags($html)
{
    $post_data = array();

    // a new dom object
    $dom = new DomDocument; 

    //load the html into the object
    $dom->loadHTML($html); 
    //discard white space
    $dom->preserveWhiteSpace = false; 

    //all input tags as a list
    $input_tags = $dom->getElementsByTagName('input'); 

    //get all rows from the table
    for ($i = 0; $i < $input_tags->length; $i++) 
    {
        if( is_object($input_tags->item($i)) )
        {
            $name = $value = '';
            $name_o = $input_tags->item($i)->attributes->getNamedItem('name');
            if(is_object($name_o))
            {
                $name = $name_o->value;

                $value_o = $input_tags->item($i)->attributes->getNamedItem('value');
                if(is_object($value_o))
                {
                    $value = $input_tags->item($i)->attributes->getNamedItem('value')->value;
                }

                $post_data[$name] = $value;
            }
        }
    }

    return $post_data; 
}

error_reporting(~E_WARNING);
$html = file_get_contents("https://accounts.google.com/ServiceLoginAuth");

print_r(get_input_tags($html));
于 2017-05-27T20:42:02.980 に答える
2

getリクエストを使用する場合、$_GET['subject']またはpostリクエストを使用する場合は、$_POST['subject']

于 2012-11-19T04:15:10.073 に答える
1
<form action="" method="post">
<input type="text" name="subject" id="subject" value="Car Loan">
<button type="submit" name="ok">OK</button>
</form>
<?php
if(isset($_POST['ok'])){
echo $_POST['subject'];
}
?>
于 2017-11-13T04:03:58.657 に答える