そのため、フォームからのデータをセッション変数として保存することが可能かどうか疑問に思っていました。
ここに私がこれまでに持っているものがありますが、フォームアクションのために何を置くべきか分かりません。
見てくれてありがとう!
<strong>Test Form</strong>
<form action="" method"post">
<input type="text" name="picturenum"/>
<input type="submit" name="Submit" value="Submit!" />
</form>
<?
if (isset($_POST['Submit'])) {
$_session['picturenum'] = $_POST['picturenum'];
}
?>
<strong><? echo $_session['picturenum'];?></strong>
セッション変数を使用するには、session_start
関数を使用してセッションを開始する必要があります。これにより、データをグローバル変数$_SESSION
に永続的に保存できます。
コードは最終的に次のようになります。
<strong>Test Form</strong>
<form action="" method"post">
<input type="text" name="picturenum"/>
<input type="submit" name="Submit" value="Submit!" />
</form>
<?php
// starting the session
session_start();
if (isset($_POST['Submit'])) {
$_SESSION['picturenum'] = $_POST['picturenum'];
}
?>
<strong><?php echo $_SESSION['picturenum'];?></strong>
使いやすくし、再度忘れないようにするために、すべてのコードに含まれてセッションを開始するsession_file.php
を作成できます
session_start.php
<?php
session_start();
?>
そして、あなたが好きな場所にそれを含めます:
<strong>Test Form</strong>
<form action="" method"post">
<input type="text" name="picturenum"/>
<input type="submit" name="Submit" value="Submit!" />
</form>
<?php
// including the session file
require_once("session_start.php");
if (isset($_POST['Submit'])) {
$_SESSION['picturenum'] = $_POST['picturenum'];
}
?>
これは、将来のメンテナンスのためのよりポータブルで簡単な方法です。
その他の発言
apacheバージョン2以上を使用している場合は、代わりに注意してください<?
phpのタグを開くには、<?php
を使用します。そうしないと、コードが解釈されません。
pHPの変数名は大文字と小文字を区別します。$ _ sessionを書くのではなく、大文字で$ _SESSIONを書きます
よくできました !
それは完全に問題なく動作します。ただし、セッションを使用するには、PHPコードの最初の行にsession_start();
を配置する必要があります。だから基本的に
<?php
session_start();
//rest of stuff
?>
はい、これは可能です。 kizzieはsession_start();
が最初に行かなければならないので正しいです。
私が行った別の観察では、次を使用してフォームデータをフィルタリングする必要があります。
strip_tags($value);
および/または
stripslashes($value);
次のコードを使用して、この問題を解決できます。
if(!empty($_GET['variable from which you get']))
{
$_SESSION['something']= $_GET['variable from which you get'];
}
したがって、GETフォームから変数を取得し、$_SESSION['whatever']
変数は、$_GET['variable from which you get']
が設定され、空の場合は$_SESSION['something']
は古いパラメータを保存します