1

サーバー セッション変数を作成するスクリプトがあります。

非表示のフォーム フィールドを使用して、これらの変数のうち 2 つを単純なフォーム (PHP ページ上) に挿入する必要があります。

<?php
session_start();
?><pre><?php
print_r($_SESSION);
?> 

上記のコードで簡単な php ページを作成しました。ページからコピーしたコードのこの部分でわかるように、ページでセッション変数を簡単に確認できます。

[login] => andrew8855
[pass] => $P$BIsPUTQ/e4mJSlaDsRLA48mB20xxIC1
[email] => andrew@mysiteaddress.com
[name_f] => Andrew
[name_l] => 
[street] => 
[street2] => 
[city] =>

カスタム フォームでは、上記の変数をフォームに取得/出力する必要があります。

<input type="hidden" name="login_email" id="login_email" value="[email]" />
<input type="hidden" name="login_user" id="login_user" value="[login]" />

したがって、フォームが送信されると、セッションに存在する変数が非表示のフォーム フィールドに送信されます。

何時間も検索した後、session_start(); を使用して何らかの方法でこれを実行できる可能性があることがわかりました....しかし、これを達成する方法については明確ではありません。ご提案ありがとうございます。

4

3 に答える 3

2

HTML テンプレートを次のように変更します。

<input type="hidden" name="login_email" id="login_email" value="<?php echo $_SESSION['email'];?>" />
<input type="hidden" name="login_user" id="login_user" value="<?php echo $_SESSION['login'];?>" />

short_open_tags有効にしている場合は、次のことができることに注意してください。

<?=$_SESSION['email']?>

それ以外の :

<?php echo $_SESSION['email'];?>
于 2014-11-20T20:28:31.997 に答える
1

セッションは session_start() 関数で開始されます。

セッション変数は、PHP グローバル変数 $_SESSION で設定されます。

自動セッション処理フレームワークを使用していない場合...独自のスクリプトを使用する場合は、使用する前にセッションを開始する必要があります。試すことができます

<?php
// Start the session<br/>
session_start();
?>

これはスクリプトの最初に設定されます。その後、セッション変数を使用できます。

HTML テンプレートを次のように変更します。

<input type="hidden" name="login_email" id="login_email" value="<?php echo $_SESSION['email'];?>" />
<input type="hidden" name="login_user" id="login_user" value="<?php echo $_SESSION['login'];?>" />

PHP 5.4 以降、short_open_tag (php.ini) の設定に関係なく、インライン エコー ショート タグが常に有効になっています。

有効になっていない場合は、設定してください

short_open_tag=php.ini でオン

その後、Apacheサーバーを再起動すると、使用できます

<?=$_SESSION['email']?>

それ以外の :

<?php echo $_SESSION['email'];?>

http://www.w3schools.com/php/php_sessions.aspでセッションを試すことができます。役に立つと思います。

およびPHP ショートタグを有効にする方法は? PHPの短いタグを有効にします。

于 2014-11-20T21:44:36.263 に答える
0
<?php
 // I suppose (and I can tell by the code you wrote that it is so) that you already have some values 
 // in the $_SESSION array

 session_start();

 echo "<input type=\"hidden\" name=\"login_email\" id=\"login_email\" value=\"" . $_SESSION['email'] . "\"";

?>

"" とバックスラッシュに何か問題があるのか​​もしれませんが、値として $_SESSION['mail'] (またはログイン) を設定する必要があるという考えです。

于 2014-11-20T20:37:28.877 に答える