羅嘯
1.先建立一個登錄表單。(這都是HTML,不解釋了)。<form action="" method="post"><input type="text" name="username" /><br><input type="password" name="pwd" /><br /><input type="submit" name="login" value="登錄" /></form>2.開始寫PHP的處理程序,在剛才寫的代碼的上面開始寫:$username = "admin"; //要登錄的賬號$pwd = "123456"; //要使用的密碼if ($username==$_POST[username]&&$pwd==$_POST[pwd]){echo "登陸成功!";}else{echo "賬號或密碼錯誤";exit();}其實這個就是一個很簡單的用戶系統(tǒng)。我也是新手。其實PHP100的教程就不錯,我就是跟著那個自學(xué)的
劇憐同病
session_star();if(!isset($_SESSION['login_status'])) //不存在就直接login頁面,你可以在每個頁頭加載這個來判斷 header('Location:login.php');$username=$_POST['name'];$pass=$_POST['password'];$sql="select * from 用戶表單 where username='{$username}'";$result=mysql_query($sql,$link);if($result && mysql_num_rows($result)>0){ //判斷用戶名是否存在 $user=mysql_fetch_assoc($result); if($user['pass']==md5($pass)){ $_SESSION['login_status'] = 1 //讓后續(xù)判斷是不是已經(jīng)登錄了(存放在服務(wù)器端,關(guān)閉瀏覽器就沒有,或者你可以用cookie來判斷) echo '登錄成功!'; }else{ echo "密碼錯誤!"; }}else{ echo "賬號不存在!"; }代碼寫的很好,但是是個初學(xué)者,對session對話還不是很了解,所以不能完全看懂你的代碼。非常感謝你做的回答。
盛世仁杰
//開啟一個會話session_start();$error_msg = "";//如果用戶未登錄,即未設(shè)置$_SESSION['user_id']時,執(zhí)行以下代碼if(!isset($_SESSION['user_id'])){ if(isset($_POST['submit'])){//用戶提交登錄表單時執(zhí)行如下代碼 $dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME); $user_username = mysqli_real_escape_string($dbc,trim($_POST['username'])); $user_password = mysqli_real_escape_string($dbc,trim($_POST['password'])); if(!empty($user_username)&&!empty($user_password)){ //MySql中的SHA()函數(shù)用于對字符串進(jìn)行單向加密 $query = "SELECT user_id, username FROM mismatch_user WHERE username = '$user_username' AND "."password = SHA('$user_password')"; $data = mysqli_query($dbc,$query); //用用戶名和密碼進(jìn)行查詢,若查到的記錄正好為一條,則設(shè)置SESSION和COOKIE,同時進(jìn)行頁面重定向 if(mysqli_num_rows($data)==1){ $row = mysqli_fetch_array($data); $_SESSION['user_id']=$row['user_id']; $_SESSION['username']=$row['username']; setcookie('user_id',$row['user_id'],time()+(60*60*24*30)); setcookie('username',$row['username'],time()+(60*60*24*30)); $home_url = 'loged.php'; header('Location: '.$home_url); }else{//若查到的記錄不對,則設(shè)置錯誤信息 $error_msg = 'Sorry, you must enter a valid username and password to log in.'; } }else{ $error_msg = 'Sorry, you must enter a valid username and password to log in.'; } }}else{//如果用戶已經(jīng)登錄,則直接跳轉(zhuǎn)到已經(jīng)登錄頁面 $home_url = 'loged.php'; header('Location: '.$home_url);}**同時注銷session和cookie的頁面*///即使是注銷時,也必須首先開始會話才能訪問會話變量session_start();//使用一個會話變量檢查登錄狀態(tài)if(isset($_SESSION['user_id'])){ //要清除會話變量,將$_SESSION超級全局變量設(shè)置為一個空數(shù)組 $_SESSION = array(); //如果存在一個會話cookie,通過將到期時間設(shè)置為之前1個小時從而將其刪除 if(isset($_COOKIE[session_name()])){ setcookie(session_name(),'',time()-3600); } //使用內(nèi)置session_destroy()函數(shù)調(diào)用撤銷會話 session_destroy();}//同時將各個cookie的到期時間設(shè)為過去的某個時間,使它們由系統(tǒng)刪除,時間以秒為單位setcookie('user_id','',time()-3600);setcookie('username','',time()-3600);//location首部使瀏覽器重定向到另一個頁面$home_url = 'logIn.php';header('Location:'.$home_url);
只按題目來就行,不需要涉及到比cookie和session更高級的東西服務(wù)器或者別的什么,要求簡單的,只是作業(yè)不是工作,
小螺洲
<?PHP// 判斷是否提交if ($dopost == 'login'){ $pwd = "123456";// 密碼,可自行修改從數(shù)據(jù)庫中讀取 // 判斷用戶名是否為空 if ($username == '') { echo '<script language="javascript">alert("用戶名不能為空!");window.history.back();</script>'; exit(); } // 判斷密碼是否為空 if ($userpwd == '') { echo '<script language="javascript">alert("密碼不能為空!");window.history.back();</script>'; exit(); } // 判斷密碼是否正確 if ($pwd == $userpwd) { echo '<script language="javascript">alert("登陸成功");window.location.href="index.php";</script>'; exit(); }else{echo '<script language="javascript">alert("密碼錯誤!");window.history.back();</script>'; exit();}}?><form name="form1" method="post" action="?dopost=login">用戶名:<input type="text" name="username" id="username" /><br />密 碼:<input type="password" name="userpwd" id="userpwd" /><br /><input type="submit" name="btn" id="btn" value="登錄" /></form>為什么放上去之后會報錯的呢?Notice: Undefined variable: dopost inE:\PHPnow\htdocs\password\login.php on line 3
姚玉蘭
首先你又session嗎?有的話這么寫<?php session_start(); if(empty(session["user"])){//判斷session變量 如為空 則 echo "<script>location.href='Login.php'</script>"; // JS 跳轉(zhuǎn) heade("location:login.php"); //php 跳轉(zhuǎn) }?>
于詮
這篇文章可以很好的解決這個問題:<用PHP獲得windows登錄用戶名的方法>http://hi.baidu.com/paperassword/blog/item/8572181789c200004a90a7b4.html
云梗窩
在App訪問內(nèi)嵌的要求登錄的頁面PageA時,PageA會302跳轉(zhuǎn)到SSO的登錄頁面,這個過程都是在App中進(jìn)行的,App在訪問SSO的登錄頁面時會在Cookie中加入一個hash值。SSO接收到請求后先判斷SSO自身是否處于登錄狀態(tài),如果沒有則拿Cookie中的hash值去App服務(wù)器請求用戶ID,在取到用戶ID后生成用戶登錄信息,再帶上token跳轉(zhuǎn)PageA所在系統(tǒng)WebA的回調(diào)URL,WebA重復(fù)上面的登錄過程就可以登錄了。
鄭袤
php 模擬登陸,可以使用 curl,以下是示例代碼:
$post = "name=2&userType=1&passwd=asdf&loginType=1&rand=6836&imageField.x=25&imageField.y=7"; $ch = curl_init();curl_setopt($ch, CURLOPT_URL, "http://網(wǎng)址/login.action");curl_setopt($ch, CURLOPT_HEADER, false);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_POSTFIELDS, $post);curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);$result=curl_exec($ch);curl_close($ch);
黃氏
登錄后你
echo "親愛的".$SESSION['username']."您好"; //這樣就能輸出登錄后顯示名字//注銷if($_GET['action'] == "login"){ session_start(); session_destroy(); echo '注銷登錄成功!點擊此處 <a href="login.php">登錄</a>'; exit;這樣更直接些
我登錄頁面后,退出沒有返回登錄頁面
echo '注銷登錄成功!點擊此處 登錄';你把這里改掉就行了。這是需要點擊錄后才能跳轉(zhuǎn)到登錄頁面