小弟目前碰到嚕一個問題...
我剛再寫一個系統登入的程式(login.php)
目前的程式片段進度到....
<?php
$hostname = "localhost";
$username = "login";
$password = "password";
$dbName ="User";
mssql_connect($hostname,$username,$password)
mssql_select_db($dbName)
$query = "SELECT * FROM User";
$result = mssql_query($query);
我這邊應該怎樣寫
才可以讓他判斷LOGIN的帳號和密碼和資料庫中的相同呢
相同的話會導入到default.html
錯的話會到error.html
?>
補充梁楓兄更完整的用法
另外在加個level做權限層級認證
<?php
$hostname = "localhost";
$username = "login";
$password = "password";
$dbName ="User";
$line=mysql_connect($hostname, $username, $password) or die("Unable to connect to database");
mysql_select_db($dbName,$line) or die( "Unable to select database");
//sql的部分直接去select...user的帳號跟密碼
$result= mysql_query("select * from $dbName where login_id='$lid' and login_pass='$passd' ") or die(mysql_error());
$number = mysql_num_rows($result);
//如果select到的資料是0筆...即表示無此帳號或密碼錯誤
if ($number == 0) {
echo "登入失敗!!找不到這個帳號或密碼!!";
exit;
}
//如果select到的資料大於0筆...則將select到的user的資料潤session
elseif ($number > 0){
$fo = mysql_fetch_object($result);
$login_id=$fo->login_id ;
$login_pass=$fo->login_pass ;
$level=$fo->level ;
session_start();
session_register(session_id,session_pass,session_level);
$session_id = $login_id;
$session_pass = $login_pass;
$session_level = $level;
}
?>
到此...再先編輯一個判斷有無登入的檔
例如叫做 linkto.php
<?
if (($session_id && $session_level) || $session_id==0){
if ($session_id>=1 && $session_id<=4){
this is low level user
user_page_sttyle=1 || 2 || 3 || 4
user_goto_page=1 || 2 || 3 || 4
}elseif ($session_level>=5 && $session_level<=8 ){
this is middle level user
user_page_sttyle=5 || 6 || 7 || 8
user_goto_page=5 || 6 || 7 || 8
}elseif ($session_level==9){
this is administrator
......................
.......................
}
}else{
header ("login.html");
}
?>
從此...只要是你希望user必須要登入才能進入的頁面
你只要在最前面加上
include "linkto.php";
這樣就ok啦!!