php登錄注冊代碼
1. 用php寫了個留言板,注冊後自動登錄的代碼怎麼寫
用cookie,
登陸驗證用戶名密碼通過的話,執行
setcookie('login','ture');設置一個cookie。
在留言本上加入這段:
<?php
if(!$_COOKIE['logo']=='ture')
{
Header("Location: login.php");//login,php換成你的登陸頁面
exit;
}
//下面就寫你留言本的代碼就好
?>
2. 怎樣用php做一個網站的登錄注冊
在php文件中嵌入html代碼(包含表單,做好表單驗證),提交到一個表單處理文件(php文件),處理文件里查詢資料庫,和用戶提交的用戶名,密碼匹配,異常則登錄失敗,正常則登錄成功,跳轉頁面(重定向或轉發)。注冊同理做好html頁面,提交到注冊處理頁,先校驗資料庫是否存在用戶名,有則返回注冊頁,提示注冊失敗,無則在資料庫插入用戶注冊表單的信息。
3. 求一用php寫的注冊和登錄頁面代碼
reg.php文件
<?php
header("Content-type:text/html;charset=utf-8");
if($_POST){
$dsn = 'mysql:dbname=1104javab;host=127.0.0.1';
$user = 'root';
$password = '';
try{
$pdo = new pdo($dsn,$user,$password,array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')
);
}catch(Exception $e){
echo '錯誤'.$e->getmessage();
}
$name = $_POST['name'];
$pwd = md5($_POST['pwd']);
$sql = "insert into 表 (username,password) values ('$name','$pwd')";
$exec = $pdo->query($sql);
if($exec){
echo "<script>alert('成功');location.href='reg.html'</script>";
}else{
echo "<script>alert('失敗');location.href='reg.html'</script>";
}
}
?>
reg.html文件
<form action='reg.php' method='post'>
用戶名:<input type='text' name='name'>
密碼:<input type='password' name='pwd'>
<input type='submit' value='submit'>
</form>
login.html文件
<form action='reg.php' method='post'>
用戶名:<input type='text' name='name'>
密碼:<input type='password' name='pwd'>
<input type='submit' value='submit'>
</form>
login.php文件
header("Content-type:text/html;charset=utf-8");
if($_POST){
$dsn = 'mysql:dbname=1104javab;host=127.0.0.1';
$user = 'root';
$password = '';
try{
$pdo = new pdo($dsn,$user,$password,array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')
);
}catch(Exception $e){
echo '錯誤'.$e->getmessage();
}
$name = $_POST['name'];
$pwd = $_POST['pwd'];
$sql = "select user_id from 表名 where username='$name' and password='$pwd'";
$stmt = $pdo->query($sql);
$info = $stmt->fetch(PDO::FETCH_ASSOC);
if($info){
echo "登錄成功";
}else{
echo "登錄失敗";
}
}
大概這樣
4. 用php的CI框架怎麼寫登錄和注冊
第一步:login.php
//登陸方法
public function login(){
//如果用戶名和密碼為空,則返回登陸頁面
if(empty($_POST['username']) || empty($_POST['password'])){
$data['verifycode'] = rand(1000,9999);//生成一個四位數字的驗證碼
//將驗證碼放入session中,注意:參數是數組的格式
$this->session->set_userdata($data);
//注意:CI框架默認模板引擎解析的模板文件中變數不需要$符號
//$this->parser->parse("admin/login",$data);
//smarty模板變數賦值
$this->tp->assign("verifycode",$data['verifycode']);
//ci框架在模板文件中使用原生態的PHP語法輸出數據
//$this->load->view('login',$data);//登陸頁面,注意:參數2需要以數組的形式出現
//顯示smarty模板引擎設定的模板文件
$this->tp->display("admin/login.php");
}else{
$username = isset($_POST['username'])&&!empty($_POST['username'])?trim($_POST['username']):'';//用戶名
$password = isset($_POST['password'])&&!empty($_POST['password'])?trim($_POST['password']):'';//密碼
$verifycode = isset($_POST['verifycode'])&&!empty($_POST['verifycode'])?trim($_POST['verifycode']):'';//驗證碼
//做驗證碼的校驗
if($verifycode == $this->session->userdata('verifycode')){
//根據用戶名及密碼獲取用戶信息,注意:參數2是加密的密碼
$user_info=$this->user_model->check_user_login($username,md5($password));
if($user_info['user_id'] > 0){
//將用戶id、username、password放入cookie中
//第一種設置cookie的方式:採用php原生態的方法設置的cookie的值
//setcookie("user_id",$user_info['user_id'],86500);
//setcookie("username",$user_info['username'],86500);
//setcookie("password",$user_info['password'],86500);
//echo $_COOKIE['username'];
//第二種設置cookie的方式:通過CI框架的input類庫
$this->input->set_cookie("username",$user_info['username'],3600);
$this->input->set_cookie("password",$user_info['password'],3600);
$this->input->set_cookie("user_id",$user_info['user_id'],3600);
//echo $this->input->cookie("password");//適用於控制器
//echo $this->input->cookie("username");//適用於控制器
//echo $_COOKIE['username'];//在模型類中可以通過這種方式獲取cookie值
//echo $_COOKIE['password'];//在模型類中可以通過這種方式獲取cookie值
//第三種設置cookie的方式:通過CI框架的cookie_helper.php函數庫文件
//這種方式不是很靈驗,建議大家採取第二種方式即可
//set_cookie("username",$user_info['username'],3600);
//echo get_cookie("username");
//session登陸時使用:將用戶名和用戶id存入session中
//$data['username']=$user_info['username'];
//$data['user_id']=$user_info['user_id'];
//$this->session->set_userdata($data);
//跳轉到指定頁面
//注意:site_url()與base_url()的區別,前者帶index.php,後者不帶index.php
header("location:".site_url("index/index"));
}
}else{
//跳轉到登陸頁面
header("location:".site_url("common/login"));
}
}
}
}
第二步:User_model.php
//cookie登陸:檢測用戶是否登陸,如果cookie值失效,則返回false,如果cookie值未失效,則根據cookie中的用戶名和密碼從資料庫中獲取用戶信息,如果能獲取到用戶信息,則返回查詢到的用戶信息,如果沒有查詢到用戶信息,則返回0
public function is_login(){
//獲取cookie中的值
if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){
$user_info = false;
}else{
$user_info=$this->check_user_login($_COOKIE['username'],$_COOKIE['password']);
}
return $user_info;
}
//根據用戶名及加密密碼從資料庫中獲取用戶信息,如果能獲取到,則返回獲取到的用戶信息,否則返回false,注意:密碼為加密密碼
public function check_user_login($username,$password){
//這里大家要注意:$password為md5加密後的密碼
//$this->db->query("select * from ");
//快捷查詢類的使用:能為我們提供快速獲取數據的方法
//此數組為查詢條件
//注意:關聯數組
$arr=array(
'username'=>$username,//用戶名
'password'=>$password,//加密密碼
'status'=>1 //賬戶為開啟狀態
);
//在database.php文件中已經設置了數據表的前綴,所以此時數據表無需帶前綴
$query = $this->db->get_where("users",$arr);
//返回二維數組
//$data=$query->result_array();
//返回一維數組
$user_info=$query->row_array();
if(!empty($user_info)){
return $user_info;
}else{
return false;
}
}
第三步:其它控制器:
public function __construct(){
//調用父類的構造函數
parent::__construct();
$this->load->library('tp'); //smarty模板解析類
$this->load->helper('url'); //url函數庫文件
$this->load->model("user_model");//User_model模型類實例化對象
$this->cur_user=$this->user_model->is_login();
if($this->cur_user === false){
header("location:".site_url("common/login"));
}else{
//如果已經登陸,則重新設置cookie的有效期
$this->input->set_cookie("username",$this->cur_user['username'],3600);
$this->input->set_cookie("password",$this->cur_user['password'],3600);
$this->input->set_cookie("user_id",$this->cur_user['user_id'],3600);
}
$this->load->library('pagination');//分頁類庫
$this->load->model("role_model");//member_model模型類
$this->load->model("operation_model");//引用operation_model模型
$this->load->model("object_model");//引用object_model模型
$this->load->model("permission_model");//引用permission_model模型
}
5. php網站登錄注冊源碼
//login.php 負責處理用戶登錄與退出動作
if(!isset($_POST['submit'])){
exit('非法訪問!');
}
$username = htmlspecialchars($_POST['username']);
$password = MD5($_POST['password']);
//包含資料庫連接文件
include('conn.php');
//檢測用戶名及密碼是否正確
$check_query = mysql_query("select uid from user where username='$username' and password='$password' limit 1");
if($result = mysql_fetch_array($check_query)){
//登錄成功
$_SESSION['username'] = $username;
$_SESSION['userid'] = $result['uid'];
echo $username,' 歡迎你!進入 <a href="my.php">用戶中心</a>
';
echo '點擊此處 <a href="login.php?action=logout">注銷</a> 登錄!
';
exit;
} else {
exit('登錄失敗!點擊此處 <a href="javascript:history.back(-1);">返回</a> 重試');
}
註:上述源碼是在TP中的登錄驗證方法,供參考!!
6. php登陸頁面完整代碼
PHP登陸後跳轉到登陸前頁面,利用$_SERVER全局變數可以實現這個功能,下面有個不錯的示例,希望對大家有所幫助
最近手上一個小項目讓我接觸到PHP編程,簡單的登陸功能已經OK。可是在實際使用的時候發現一個問題:用戶A發送一個鏈接給用戶B,B打開時頁面提示登陸,可是登陸成功後,卻跳轉到了首頁,而並不是A發送的鏈接。為了有更好的用戶體驗,B登陸成功後應該自動跳轉到登陸前的鏈接。查了PHP幫助手冊,利用$_SERVER全局變數可以實現這個功能。 $_SERVER是PHP的一個超全局變數,關於$_SERVER變數的詳細解釋可以參考:http://www.php.net/manual/zh/reserved.variables.server.php 具體實現方法為:在提示用戶登錄的同時,在session或者cookie中記錄下請求頁面的URL;登錄驗證成功後在跳轉回該URL。 checklogin.php 代碼如下: session_start(); if (!isset ($_SESSION['login_ok'])) { echo "<script language=javascript>alert ('要訪問的頁面需要先登錄。');</script>"; $_SESSION['userurl'] = $_SERVER['REQUEST_URI']; echo '<script language=javascript>window.location.href="login.php"</script>'; } login.php 代碼如下: session_start(); //此處省略了賬號密碼驗證代碼,驗證OK再執行下面代碼 if (isset ($_SESSION['userurl'])) { //會話中有要跳轉的頁面 $url = $_SESSION['userurl']; } else { //沒有要跳轉的頁面,則轉到首頁 $url = "home.php"; } //0.5s後跳轉 echo "<meta http-equiv="refresh" content="0.5;url=$url">";
7. php會員登錄與注冊的源代碼,及其原理。。。
登錄:判斷輸入的用戶名或密碼是否合法,是則連接資料庫,查詢輸入的用戶名是否存在,密碼是否相同,是則登錄成功!
注冊:所有的注冊信息都要判斷是否合法,是則連接資料庫,檢查用戶輸入的賬號是否已被使用,如果沒被使用,就可以把信息插入資料庫,然後提示成功、跳轉頁面;
8. php寫一個登陸注冊代碼,求大神解答。
index.html 包含注冊和登錄
<!doctypehtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>index</title>
<style>
.x-stage{
margin:50pxautoauto;
width:400px;
font-size:12px;
}
.x-head{
font-size:0;
}
.x-tag{
display:inline-block;
vertical-align:middle;
font-size:12px;
font-weight:bold;
color:white;
background-color:gray;
height:30px;
line-height:30px;
text-align:center;
width:200px;
cursor:default;
}
.x-tag.x-active{
background-color:orange;
}
.x-body{
padding:15px0060px;
}
.x-panel{
display:none;
}
.x-panel.x-active{
display:block;
}
.x-panellabel{
display:block;
line-height:30px;
}
.x-panelinput{
vertical-align:middle;
}
</style>
<script>
window.onload=function(){
vartags=document.getElementsByClassName('x-tag');
varpanels=document.getElementsByClassName('x-panel');
varhead=document.getElementsByClassName('x-head')[0];
varlastIdx=0;
varidx=/(?:^?|&)idx(?:=)(.*?)(?=&|$)/.exec(location.search);
varmsg=/(?:^?|&)msg(?:=)(.*?)(?=&|$)/.exec(location.search);
idx=idx&&idx[1]||0;
msg=msg&&msg[1]||'';
varactive=function(idx){
if(idx==lastIdx)
return;
tags[lastIdx].className=tags[lastIdx].className.replace(/sx-active/,'');
panels[lastIdx].className=panels[lastIdx].className.replace(/sx-active/,'');
tags[idx].className+='x-active';
panels[idx].className+='x-active';
lastIdx=idx;
};
head.onclick=function(e){
varel=e.target;
if(!/x-tag/.test(el.className))return;
for(vari=0,len=tags.length;i<len;i++){
if(el===tags[i]){
active(i);
break;
}
}
};
active(idx);
if(msg)alert(decodeURI(msg));
};
</script>
</head>
<body>
<divclass="x-stage">
<divclass="x-head">
<divclass="x-tagx-active">登錄</div>
<divclass="x-tag">注冊</div>
</div>
<divclass="x-body">
<divclass="x-panelx-active">
<formname="login"action="response.php"method="post">
<label>帳號:</label>
<inputtype="text"name="usercode"required>
<label>密碼:</label>
<inputtype="password"name="pwd"required>
<inputtype="submit">
<inputtype="hidden"name="req-type"value="login">
</form>
</div>
<divclass="x-panel">
<formname="regist"action="response.php"method="post">
<label>帳號:</label>
<inputtype="text"name="usercode"required>
<label>密碼:</label>
<inputtype="password"name="pwd"required>
<label>性別:</label>
<inputtype="radio"name="sex"value="0"checked>男</input>
<inputtype="radio"name="sex"value="1">女</input>
<label>角色:</label>
<inputtype="checkbox"name="role"value="0"checked>角色1</input>
<inputtype="checkbox"name="role"value="1">角色2</input>
<inputtype="checkbox"name="role"value="2">角色3</input>
<label>E-Mail:</label>
<inputtype="text"name="email"required>
<label>昵稱:</label>
<inputtype="text"name="nickname"required>
<label>頭像:</label>
<inputtype="text"name="image"required>
<inputtype="submit">
<inputtype="hidden"name="req-type"value="regist">
</form>
</div>
</div>
</div>
</body>
</html>
response.php 包含注冊和登錄
<?php
$dsn=array('127.0.0.1','root','123456','bbs',3306);
//這里假設表名為user描述里沒有說
$query_sql='select`usercode`,`id`from`user`where`usercode`=?and`pwd`=?';
$query_param_types='ss';
//這里假設sexrole是int類型image是連接地址也就是varchar類型
$insert_sql='insertinto`user`(`usercode`,`pwd`,`sex`,`role`,`email`,`nickname`,`image`)values(?,?,?,?,?,?,?)';
$insert_param_types='ssddsss';
functionget_request(){
$params=array();
$type;
$i=0;
foreach($_REQUESTas$key=>$param)
if($key!='req-type')
$params[$i++]=$param;
else$type=$param;
returnarray(
'params'=>$params,
'type'=>$type
);
}
functionquery($dsn,$sql,$param_types,$params,$fetch=true,$char_set='UTF8'){
$client=mysqli_init();
call_user_func_array(array($client,'real_connect'),$dsn);
if($char_set)$client->set_charset($char_set);
$stmt=$client->prepare($sql);
foreach($paramsas$pk=>$pv)
$params[$pk]=&$params[$pk];
array_unshift($params,$param_types);
$c_stmt=newReflectionClass('mysqli_stmt');
$cm_stmt=$c_stmt->getMethod('bind_param');
$cm_stmt->invokeArgs($stmt,$params);
$stmt->execute();
if(!$fetch){
$affected_rows=$stmt->affected_rows;
$client->close();
return$affected_rows;
}
$result=$stmt->get_result();
$set=array();
while($row=$result->fetch_array(MYSQL_ASSOC))
$set[]=$row;
$result->free();
$client->close();
return$set;
}
$request=get_request();
$msg='請求類別錯誤!';
$idx=0;
$result=null;
if($request['type']=='login'){
$idx=0;
$result=query($dsn,$query_sql,$query_param_types,$request['params']);
$msg=empty($result)?'用戶名或密碼錯誤!':'登錄成功!';
}
if($request['type']=='regist'){
$idx=1;
$result=query($dsn,$insert_sql,$insert_param_types,$request['params'],false);
if(empty($result)){
$msg='注冊失敗!';
$idx=1;
}else{
$msg='注冊成功!';
$idx=0;
}
}
header('location:index.html?msg='.$msg.'&idx='.$idx);
9. php登錄或注冊成功時怎麼在主界面顯示歡迎您某某,求詳細代碼
加到exit(『注冊成功』);那裡可以下載個phpmailer下面一個testdemo,你可以試試!IsSMTP();//設置mailer使用smtp模式$mail->Host=$host;//smtp伺服器$mail->SMTPAuth=true;//轉換成smtp模式$mail->Username=$username;//smtp用戶$mail->Password=$password;//smtp密碼$mail->From=$username;//發送郵件的郵箱$mail->FromName=$fromname;//發送郵件的用戶名$mail->Mailer="smtp";//$mail->IsHTML(true);$mail->Subject=$title;//標題$mail->Body=$content;//發送內容$mail->AltBody=$body;if($addresses){if(is_array($addresses)){foreach($addressesas$address){$mail->AddAddress($address,'');if(!$mail->Send()){echo"Messagecouldnotbesent.";echo"MailerError:".$mail->ErrorInfo;exit;}echo"Messagehasbeensent";}}else{$mail->AddAddress($addresses,"");if(!$mail->Send()){echo"Messagecouldnotbesent.";echo"MailerError:".$mail->ErrorInfo;exit;}echo"Messagehasbeensent";}}}$array=array('[email protected]','[email protected]');PHPsendMail('[email protected]','80300838397','smtp.qq.com','[email protected]','abc','abc','親愛噠!!','bbbbb');
10. php登錄頁面完整代碼連接資料庫
創建conn.php,連接資料庫。
$dns = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
// 1.連接資料庫,創建PDO對象
$pdo = new PDO($dns,$username,$password);
創建login.html,登陸頁面。
用戶名
密 碼
創建login.php,驗證賬號密碼。
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
exit("錯誤執行");
}//檢測是否有submit操作
include('conn.php');//鏈接資料庫
$name = $_POST['name'];//post獲得用戶名表單值
$pwd = sha1($_POST['password']);//post獲得用戶密碼單值
if ($name && $pwd){//如果用戶名和密碼都不為空
$sql = "select * from user where username = '$name' and password='$pwd'";//檢測資料庫是否有對應的username和password的sql
$stmt = $pdo->prepare($sql);
$stmt->execute();
if($stmt->fetch(PDO::FETCH_BOUND)){//0 false 1 true
header("refresh:0;url=welcome.html");//如果成功跳轉至welcome.html頁面
exit;
}else{
echo "用戶名或密碼錯誤";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";//如果錯誤使用js 1秒後跳轉到登錄頁面重試;
}
}else{//如果用戶名或密碼有空
echo "表單填寫不完整";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";
//如果錯誤使用js 1秒後跳轉到登錄頁面重試;
}
$pdo = null;
創建signup.html,注冊頁面
用戶名:
密 碼:
創建signup.php
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST['submit'])){
exit("錯誤執行");
}//判斷是否有submit操作
$name=$_POST['name'];//post獲取表單里的name
$pwd = sha1($_POST['password']);//post獲取表單里的password
include('conn.php');//鏈接資料庫
$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向資料庫插入表單傳來的值的sql
$stmt = $pdo->prepare($sql);
$stmt->execute();
$stmt->fetch(PDO::FETCH_BOUND);
if (!$stmt){
die('Error: ' . $stmt->getMessage());//如果sql執行失敗輸出錯誤
}else{
echo "注冊成功";//成功輸出注冊成功
}
$pdo = null;//關閉資料庫