2017-02-08 7 views
-3

OKこのタイムセションのことは私には新しいものですテストコードをいくつか作成しました。ここでは、セッションの開始を投稿するフォームは次のとおりです。PHPセッションが設定されているかどうかを確認するには?

<?php 
echo '<form action="index2.php?content=merc_script" method="post">'; 
echo '<input type="radio" name="Archer" value="1"">'; 
echo '<input type="submit" value="Hire Archer">'; 
echo '</form>'; 
?> 

、ここでは、テストコードは次のとおりです。

if(isset($_POST['Archer'])){ 
$archer = ini_set("session.cookie_lifetime","3600"); 
echo "Your Cookie is set!"; 
echo "$archer"; 
exit(); 
} 


else{ 
echo "The Cookie was NOT set"; 
} 

このコードは、セッションを生成したりので、それは言う:! あなたのクッキーが設定されている0ここ は、私は戦いのスクリプトであることを使用していますコードです:私は、モンスターと戦うために行くとき

<?php 
if(isset($_SESSION["Archer"])){ 
echo "The Archer is with you"; 
exit; 
} 
else{ 
echo "You have no Mercenary to help You!"; 
} 
?> 

それは言う: あなたがいない持っていますあなたを助ける傭兵! 誰かがこれを正しく行う方法を説明できますか?事前

おかげで、私は混乱して取得していますので、私はこの記事を編集しました。私はグローバルなsession_start()を持っています。私が呼び出すすべてのスクリプトに含まれているヘッダーファイルに記述します。私はすべての提案を試みましたが、答えが見つからないようではありません。あなたのアドバイスの

+0

printr $ _SESSION –

+0

は、まずあなたがセッション –

+0

を開始して、コメントを追加引用ここに '値=「1」は" '<<<あなたはまったくのセッションコードを持っていない –

答えて

0

セッション開始にはカッコが必要です。それ以外の場合はphpが定数と間違えてしまいます。

session_start(); 
$key = 'my_key'; 
// check to see if session variable is set 
if(isset($_SESSION[$key])){ 
    $val = $_SESSION[$key]; 
    echo "Key is set. The value is: $val"; 
}else{ 
    // not set, setting a session variable at a specific key 
    $_SESSION[$key] = 'Some Value'; 
} 
+0

私はこれを試して、それはちょうど0で戻って来たので、その値は0に設定されているか、NULLを意味していますか? –

+0

@TerryJ。私のコードを見てください。あなたのことを見てください。あなたはiniのクッキーライフを設定しています。これはちょうどあなたがそれを持続させたいと思っていることを示します。 (私は正しいとは確信していませんが、私はさらに調べたくありません)Session変数を設定しているところはありません。上記の私のelse節を見てください。 session_start()を呼び出した後にこれを設定する方法です。 – MackProgramsAlot

+0

コードが動作し、投稿されたフォームからArchertに値を設定します。今、私はそれに時間制限を設定する方法を理解する必要があります。 –

0

一言、(ちょうど常にこの操作を行うことで)もののいずれかのセッションタイプをやっている、あなたの最初のステートメントは、session_start;すなわちファイル作成:

<?php 
    session_start; 
    // other stuff here 
?> 

これは、1つの場合は、セッションを開始します存在していない場合は既存のセッションを使用します。

+0

私はそれを試みました、それはセッションがすでに開始されていると言いました、私はグローバルセッションを使用しています_開始();私のヘッダーファイル。 –

+0

ファイル内でsession_start関数を複数回使用することはできません。この文をファイル内に複数回配置すると、通常、「セッションはすでに開始されました」というエラーが表示されます。これは、すでにsession_startステートメントが含まれているphpファイルを含める場合にも当てはまります。 –

関連する問題