2017-09-11 3 views
-2

ユーザーが正常にログインしたときにセッションが適用されるログインシステムがあります。ログインはチャームのように機能しますが、その後はセッションを適用できません。私はそれをvar_dump、print_r itしようとしましたが、何のエラーもなく成功しませんでした。誰かが兄弟を助けることができますか? NUM_ROWSセッションはエラーなしで動作しません

+0

すべてのスクリプトに 'session_start();'を含めましたか? – rndus2r

+0

移動session_start();スクリプトの最初の行に移動します。 – Shan

+0

'error_reporting(E_ALL); ini_set( 'display_errors'、 'On'); 'session_start'がエラーを投げているかどうかを確認します。 – Script47

答えて

0

コード

<?php 

require_once $_SERVER["DOCUMENT_ROOT"] . '/project-school/config/init.php'; 
session_start(); 

error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 


if (isset($_POST['submit-admin-login'])) 
{ 
$username=db_escape($koneksi, $_POST['username']); 
$password=db_escape($koneksi, md5($_POST['password'])); 

if(empty($username) || empty($password)) 
    { 
     $_SESSION['pesan'] = 'Username dan Password Wajib Diisi Dengan Benar'; 
     $_SESSION['alert'] = 'danger'; 
     header('location:../login.php'); 
    } 
    else 
    { 
     $sqladmin= "SELECT * FROM admin WHERE username='$username' AND password='$password'"; 
     $queryadmin= mysqli_query($koneksi, $sqladmin) or die(mysqli_error($koneksi));   
     $resultadmin= mysqli_num_rows($queryadmin); 

     $sqlpengajar= "SELECT * FROM pengajar WHERE username_login='$username' AND password_login='$password'"; 
     $querypengajar= mysqli_query($koneksi, $sqlpengajar) or die(mysqli_error($koneksi)); 
     $resultpengajar= mysqli_num_rows($querypengajar); 

     if($resultadmin > 0) 
     { 
      while ($row = mysqli_fetch_array($queryadmin)) { 
       $_SESSION['username_admin'] = $row['username']; 
       $_SESSION['level']   = $row['level'];  
      } 
      echo $_SESSION['username_admin']; 
      header('Location: ../view/admin-dashboard.php'); 
     } 
     elseif($resultpengajar > 0) 
     { 
      while ($row = mysqli_fetch_array($querypengajar)) { 
      $_SESSION['nip']    = $row['nip']; 
      $_SESSION['nama_lengkap']  = $row['nama_lengkap']; 
      $_SESSION['level']    = $row['level']; 
      $_SESSION['username_pengajar'] = $row['username_login']; 
      $_SESSION['alamat']    = $row['alamat']; 
      $_SESSION['tempat_lahir']  = $row['tempat_lahir']; 
      $_SESSION['tgl_lahir']   = $row['tgl_lahir']; 
      $_SESSION['jenis_kelamin']  = $row['jenis_kelamin']; 
      $_SESSION['agama']    = $row['agama']; 
      $_SESSION['foto']    = $row['foto']; 
      } 
      echo $_SESSION['username_pengajar']; 
      header('Location: ../view/pengajar-dashboard.php'); 
     } 
     else 
     { 
      $_SESSION['pesan'] = 'Username atau Password Anda Salah'; 
      $_SESSION['alert'] = 'danger'; 
      header('Location: ../login.php'); 
     } 
    }  
} 

セッションの開始が必要な文の前に、あなたのセッションを起動してみてください。同様に

セッションを使用するときは常に最初にセッションを開始します。それ以外の場合は、phpはそれを読み取りません。

あなたはSQLインジェクションのリスクが高いです。準備された文をSQLインジェクションから安全に保つために学ぶ

+0

それはブロのおかげで解決しました – mending3

+0

心配のないメイト!!! –

関連する問題