2017-07-04 14 views
-3

セッションを作成できません。

私のPHPコードが

<?php 

      $dbhost = "localhost"; 
      $dbuser = "root"; 
      $dbpassword = ""; 
      $dbname = "dany"; 
      $query = ""; 
      $sqlQuery = ""; 
      $row = ""; 
      $username=false; 
      if(isset($_POST['n'])){ 
       $username=$_POST['n']; 
      } 
      $password= false; 
      if(isset($_POST['p'])){ 
       $password= $_POST['p']; 
      } 
      $conn=mysqli_connect($dbhost,$dbuser,$dbpassword,$dbname); 
      $sUser=mysqli_real_escape_string($conn,$username); 
      $sPass=mysqli_real_escape_string($conn,$password); 
      // For Security 
      $query="SELECT * From admin where username='$sUser' and password='$sPass'"; 
      $result=mysqli_query($conn,$query); 
      if(mysqli_num_rows($result)==1) 
      { 
       session_start(); 
       $_SESSION['dany']= $dbname; 
       header('location:adminPanel.php'); 
      } 
?> 

セッションがチェックされている他のコードで、コードは次のとおりです。

ここ
<?php 
session_start(); 
if(!$_SESSION['dany']) 
{ 
    header('location:adminLogin.php'); 
} 
?> 

ライン:

if(!$_SESSION['dany']) 

がためにfalseを返しますすべての有効な入力は無効な入力と同様に与えられます。 私はコード全体をコピーして新しいダミープロジェクトを作成しようとしましたが、そこで働いていました。私のactulaプロジェクトでは動作しません。

+0

を '$ _ SESSION ...' false'を '戻っていますか...?つまり、 'if' *に入るか、' if' *に入りませんか?セッションが最初に成功したかどうかを確認しましたか?(mysqli_num_rows($ result)== 1は 'true'です)? – deceze

+0

@deceze if(!$ _ SESSION ['dany'])がtrueを返します。これは$ _SESSION ['dany']がfalseと等しいことを意味します。 これはifブロックに入ります。しかし、私は、有効な入力ではいけません。 –

+0

@deceze ---未定義のインデックス: "adminPanel.php"の3行目--- これはエラーとして表示されます。 –

答えて

0
あなたは danyエントリは issetで定義されたかどうかを確認する必要があり

:!

if(isset($_SESSION['dany'])){ 
+0

正当なものか無効なものかを問わず、すべての入力を処理していますが、これは今行っています if(isset($ _ SESSION ['dany'])) { header( 'location:form.php') ; } else if(is_null($ _ SESSION ['dany'])){ header( 'location:adminLogin.php'); } でもこれは同じ効果があります –

+0

'else if(is_null($ _ SESSION ['dany'])){'、あなたは単純に 'else {'を使うことができます。 – Isac

+0

私は以前にそれを試みました。それはまた、問題を解決しませんでした。私はまだセッションを作成することができません –

関連する問題