簡體   English   中英

PHP中的會話(用戶登錄)

[英]Sessions in PHP (user login)

我對PHP來說還很陌生,並停留在如何使用會話檢查數據庫的用戶名和密碼上。

我有一個PHP文件調用createuser.php,它允許我使用html文本框中的用戶名和密碼將用戶添加到數據庫中。 我有另一個名為viewuser.php的文件,它允許我輸入用戶名和密碼,並查看該用戶/密碼是否存在於數據庫中。

我該如何將會話添加到checkuser,如果用戶名和登錄名正確且在數據庫中,則該會話僅允許用戶使用該文件。

相信我的checkuser.php文件。

<?php
 $username = $_POST['username']; 
 $password = $_POST['password']; 

 $db= new  PDO('sqlite:test2.db'); 
 $query = "SELECT * from login WHERE username = '$username' AND password = '$password' ";
 $results = $db->Query($query)->fetchAll(); 

 foreach ($results as $arow) {    
 print 'username: ' . $arow['username'] . '  password: ' . $arow['password'].'<br>';
 }

 $rowcount = count($results); 
 print "number of rows $rowcount <br>" ; 

 if ( $rowcount  > 0 ){
  print " details matched atleast once <br>";
 }else{
  print " details did not match <br>";    
 }
?>

 <form action='' method=post> 
    Username <input type='text' name='username' /> <br>
    Password <input type='text' name='password' /> <br>
    <input type='submit' value='Submit' /> 
 </form>

這是怎么

....
$rowcount = mysql_num_rows($results); 
if ( $rowcount  > 0 )
{
 session_start();
 $_SESSION['user'] = $arow['username'];
 print " details matched atleast once <br>";
}

else
{
  print " details did not match <br>";
 }

 ?>
 ...

並在每隔一頁

<?php
   session_start();
   if(!isset($_SESSION['user']))       
      //redirect to login
    else
     //logged in

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM