|
|
|
Login แบบ นี้พอมีตัวอย่างใหม ครับ ช่วย ที อยากทำ login แบบ ให้ ผู้ช้เลือก จำ username password อ่ะครับ |
|
|
|
|
|
|
|
ถ้าเลือกใช้ cookie ถ้าไม่เลือกใช้ session ครับ
|
|
|
|
|
Date :
2009-03-10 11:35:43 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากรู้เหมือนกาน ยังไม่เคยเขียนแบบนี้...
คุณ PlaKrim ยกตัวอย่างโค๊ดให้ดูหน่อยคร๊าบบบบบ
|
|
|
|
|
Date :
2009-03-10 13:04:58 |
By :
ochitae |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมมีแบบ จำ username และ password ในตัวเดียวกันครับ เดี๋ยวไป copy code มาให้ครับ
|
|
|
|
|
Date :
2009-03-10 13:22:00 |
By :
cjmling |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
index.php ///// หน้าหลักของเว็บครับ
Code (PHP)
<?php
$do = isset($_GET["do"])?$_GET["do"]:"";
$do = strtolower($do);
if (checkLoggedin())
{
require"showuser.php";
}
else
{
require"loginpanel.php";
}
?>
loginpanel.php //// panel คล้ายรูปด้านบน ของท่าน ครับ ใช้ในการ login ครับ
Code (PHP)
<?php
<form method="POST" action="login.php?do=login">
<table class="LOGINTB">
<tr>
<td align="center" colspan="2" class="TBLHEAD">
<font class="LOGINHD">
<?php echo "LOGIN"; ?>
</font>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td colspan="1" class="TBLDATA">
<font class="TBLDATA">
<?php echo "USERNAME"; ?>
</font>
</td>
<td colspan="1" class="TBLDATA">
<font class="TBLDATA">
<input type="text" size="8" name="uname">
</font>
</td>
</tr>
<tr>
<td colspan="1" class="TBLDATA">
<font class="TBLDATA">
<?php echo "PASSWORD"; ?>
</font>
</td>
<td colspan="1" class="TBLDATA">
<font class="TBLDATA">
<input type="password" size="8" name="pword">
</font>
</td>
</tr>
<tr>
<td align="center" colspan="2" class="LOGINRW">
<font class="LOGINRW">
<input type="submit" name="logon" value="LOG IN">
</font>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="CHECKBOX" name="remme"> Remember me for the next time I visit</td>
</tr>
<tr>
</table>
</form>
?>
login.php
Code (PHP)
<?php
$do = isset($_GET["do"])?$_GET["do"]:"";
$do = strtolower($do);
switch($do)
{
case "":
if (checkLoggedin())
{
require"showuser.php";
}
else
{
require"loginpanel.php";
}
break;
case "login":
$username = isset($_POST["uname"])?$_POST["uname"]:"";
$password = isset($_POST["pword"])?$_POST["pword"]:"";
if ($username=="" or $password=="" )
{
echo "<h1>Username or password is blank</h1>";
clearsessionscookies();
header("location: index.php");
}
else
{
if(confirmuser($username,$password)) // As pointed out by asgard2005
{
createsessions($username,$password);
header("location: index.php");
}
else
{
echo "<h1>Invalid Username and/Or password</h1>";
clearsessionscookies();
header("location: index.php");
}
}
break;
case "logout":
clearsessionscookies();
header("location: index.php");
break;
}
?>
function.php
Code (PHP)
<?php
function createsessions($username,$password)
{
//Add additional member to Session array as per requirement
session_register();
$_SESSION["gdusername"] = $username;
$_SESSION["gdpassword"] = $password;
if(isset($_POST['remme']))
{
//Add additional member to cookie array as per requirement
setcookie("gdusername", $_SESSION['gdusername'], time()+60*60*24*100, "/");
setcookie("gdpassword", $_SESSION['gdpassword'], time()+60*60*24*100, "/");
return;
}
}
function clearsessionscookies()
{
unset($_SESSION['gdusername']);
unset($_SESSION['gdpassword']);
session_unset();
session_destroy();
setcookie ("gdusername", "",time()-60*60*24*100, "/");
setcookie ("gdpassword", "",time()-60*60*24*100, "/");
}
function confirmUser($username,$password)
{
global $User,$test;
$User->loggedIn=FALSE;
$User->usertype=1;
connectdb();
$query = "SELECT * FROM userdata WHERE username=\"$username\"";
$result=mysql_query($query)
or die(mysql_error());
if($userline=mysql_fetch_array($result,MYSQL_ASSOC))
{
if($password==$userline["password"])
{
$User->userid=$userline["userid"];
$User->username=stripslashes($username);
$User->emailaddr=$userline["email"];
$User->createdate=$userline["since"];
$User->usertype=$userline["usertype"];
$User->loggedIn=TRUE;
$test=$userline["password"];
return true;
}
else
{
return false;
}
}
}
function checkLoggedin()
{
if(isset($_SESSION['gdusername']) AND isset($_SESSION['gdpassword']))
return true;
elseif(isset($_COOKIE['gdusername']) && isset($_COOKIE['gdpassword']))
{
if(confirmUser($_COOKIE['gdusername'],$_COOKIE['gdpassword']))
{
createsessions($_COOKIE['gdusername'],$_COOKIE['gdpassword']);
return true;
}
else
{
clearsessionscookies();
return false;
}
}
else
return false;
}
function connectdb()
{
$conn=mysql_connect("localhost","root","ragnarok")
or die(mysql_error());
$db=mysql_select_db("zeanpredict")
or die(mysql_error());
}
?>
|
|
|
|
|
Date :
2009-03-10 13:37:54 |
By :
cjmling |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่เข้าใจตรงใหนถามได้น่ะครับ
|
|
|
|
|
Date :
2009-03-10 13:39:22 |
By :
cjmling |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมมือใหม่ครับ อาจจะยัง งงๆ โค๊ด อยู่ ครับ แต่จะพยายาม นะครับ ขอบคุณทุกท่าน มากมายครับ
|
|
|
|
|
Date :
2009-03-10 18:40:22 |
By :
srenon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ว่าแต่ โค๊ด หน้า loginpanel.php ผิดรึเปล่าครับ
|
|
|
|
|
Date :
2009-03-10 18:56:27 |
By :
srenon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผิดยังไงเหรอครับ งงตรงใหนก็ถามแบบละเอียดได้น่ะครับ
|
|
|
|
|
Date :
2009-03-11 00:18:26 |
By :
cjmling |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|