次のような入力フィールドがあります。
<input type="text" name="subject" id="subject" value="Car Loan">
Car Loan
入力フィールドの値を取得して、セッションに割り当てたいと思います。PHPまたはjQueryを使用してこれを行うにはどうすればよいですか?
次のような入力フィールドがあります。
<input type="text" name="subject" id="subject" value="Car Loan">
Car Loan
入力フィールドの値を取得して、セッションに割り当てたいと思います。PHPまたはjQueryを使用してこれを行うにはどうすればよいですか?
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']; ?>
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ファイル内で取得しました。
次のように値$value
を取得できます。
$value = $_POST['subject'];
また:
$value = $_GET['subject'];
、使用するフォームメソッドによって異なります。
session_start();
$_SESSION['subject'] = $value;
値はセッション変数subjectに割り当てられます。
グローバルに使用する場合は、次を使用できます。
$val = $_REQUEST['subject'];
そしてあなたのセッションを追加するには、単に
session_start();
$_SESSION['subject'] = $val;
この場合、jQueryは必要ありません。
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));
getリクエストを使用する場合、$_GET['subject']
またはpostリクエストを使用する場合は、$_POST['subject']
<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'];
}
?>