 |
|
|
 |
 |
|
เผื่อช่วยได้
Ajax Login
|
 |
 |
 |
 |
Date :
2009-08-17 13:35:18 |
By :
panyapol |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองแล้วค่ะแต่ไม่ได้มันจะเป็นแบบนี้ช่วยดูให้หน่อยนะค่ะหรือไม่ก็ช่วยบอกวิธีอื่นอีกได้มั้ยค่ะขอบคุณอยากจะถามว่า โค๊ด ajax ทำไม window.locationในโค๊ดของ ajax มันไม่ทำงานค่ะ คือมันไม่ ทำการ redirect ไปหน้าที่ต้องการค่ะช่วยดูให้หน่อยนะค่ะคือถ้า login ถูกมันจะ echo ค่า y ค่ะ แต่ไม่ไปอีกหน้าค่ะ
ค่ะCode (PHP)
<?php
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax() {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window .ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'logincheck.php';
var pmeters = "tUsername=" + encodeURI( document.getElementById("txtUsername").value) +
"&tPassword=" + encodeURI( document.getElementById("txtPassword").value );
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
if(HttPRequest.responseText == 'Y')
{
window.location = "edit.php";
}
else
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
}
</script>
?>
|
 |
 |
 |
 |
Date :
2009-08-17 13:48:01 |
By :
saowaluk052 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function checkLongin()
{
var user = document.getElementById('txtUser').value;
var pass = document.getElementById('txtPass').value;
var hUser = document.getElementById('user').value;
var hPass = document.getElementById('pass').value;
if(user == '' || pass == '')
alert('กรุณกรอก username และ password');
else if((user == hUser) && (pass == hPass))
{
window.location = '';
}
else
alert('username และ password ไม่ถูกต้อง');
}
</script>
</head>
<body>
<?php
$user = 'admin';
$pass = 'admin';
?>
<form name="frmLogin" id="frmLogin">
<label>user: </label>
<input name="user" type="text" name="txtUser" id="txtUser" /><br />
<label>pass: </label>
<input name="user" type="password" name="txtPass" id="txtPass" /><br />
<input type="button" value="submit" onclick="checkLongin();" />
<input type="hidden" name="user" value="<?=$user?>" />
<input type="hidden" name="pass" value="<?=$pass?>" />
</form>
</body>
</html>
ที่เหลือรบกวน นำไป ประยุกต์เอาเองนะครับ
|
 |
 |
 |
 |
Date :
2009-08-17 14:43:14 |
By :
DownsTream |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ค่ะขอบคุณสำหรับคำตอบนะค่ะคุณ DownsTream แต่ว่าถ้าให้ดีอยากได้แบบที่เช็คกับฐานข้อมูลค่ะ พอจะมีโค๊ดมั้ยค่ะ ขอบคุณล่วงหน้าค่ะ
|
 |
 |
 |
 |
Date :
2009-08-17 16:17:35 |
By :
saowaluk052 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาไป ประยุกต์สิครับ จะเอาแบบ เสร็จเลยเหรอครับ ไม่ดีมั้ง เด่วคุณก็ไม่ได้คิดพอดี
เอาโค้ดนี้ไป เพิ่มในส่วนของ query ข้อมูล ออกมาเช็ค นะครับ ถ้าคุณมอง concetp
ออก คุณก็จะประยุกต์ได้ครับ ...
gide ให้ละกันครับ
$user = 'admin'; เก็บค่า user ที่ query จากฐานข้อมูล
$pass = 'admin'; เก็บค่า password ที่ query จากฐานข้อมูล
|
 |
 |
 |
 |
Date :
2009-08-17 16:23:31 |
By :
DownsStream |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยากเอาการแฮะ 
|
 |
 |
 |
 |
Date :
2009-08-17 23:30:12 |
By :
Zoomsky |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ยากหรอกครับ ถ้าเราตั้งใจและมีความพยายามที่จะทำให้ได้นะครับ ยังไงผมมันใจว่า ต้องทำได้
บางคนที่มาโพสถามข้อมูล อาจจะเก่งกว่าผมด้วยซ้ำแต่ เค้าขาดประสบการณ์ในการเขียนโค้ด
ถ้าเราอยู่กะมันทุกๆ วันแล้วเรารักมันเราก็จะมีความสุขแล้วก็เป็นไปเองโดยไม่รู้ตัวด้วยซ้ำนะครับ
เออ ขอฝากไว้นะครับ เรื่อง ajax concetp ของการเขียนโปรแกรมด้วยเทคนิค ajax
บทความจาก thaicreate เรื่อง ajax ทำความเข้าใจไม่ยากครับ หัดเขียน แล้วทำความเข้าใจ
บ่อยๆ ก็จะเข้าใจ ajax เมื่อเดือนที่แล้วผมก็ยังไม่เข้าใจ ajax หรอกครับ แต่ได้โค้ด จาก thaicreate
นี่แหละครับ แล้วเอาไปประยุกต์ใช้งานตามความต้องการของผม แล้วในที่สุดผมก็พูดได้เต็มปากว่าผม
เข้าใจ ajax ในระดับนึงแล้วครับ ต้องขอขอบพระคุณพี่ๆ และทีมงาน thaicreate ครับ
แลขอเป็นกำลังใจให้ทุกๆคนครับ ที่กำลังศึกษาและเขียนโปรแกรม php
และก็ที่ลืมไม่ได้เลย ก็คือ http://www.google.co.th อยากได้อะไรผมคิดว่ามีนะครับ อยู่ที่เรา
จะคิด keyword ในการ search ข้อมูลแล้วละครับ ถ้าใครยังไม่ค่อยได้ใช้บริการก็พยามฝึก นะครับ
ก่อนที่จะถามคนอื่นเราต้องพยายามหาด้วยตัวเองก่อน ถ้าไม่ได้จริงๆ หรือไม่มีเวลาแล้วก็ค่อยถาม
php หางานง่ายถ้าไม่ซีเรียสเรื่องเงินครับ ผมคนนึงละที่คิดว่าไม่ผิดเลยที่เลือกโปรแกรม php เป็นอาชีพหลัก
พักกินน้ำก่อน ไว้ค่อยมาบ่นให้ฟังต่อ 555
|
 |
 |
 |
 |
Date :
2009-08-18 08:44:09 |
By :
DownsTream |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รบกาวนคุณDownsTream และผู้รู้อีกนิดนะค่ะคืเปอว่าหนูเปลี่ยนมาใช้โค๊ด javascript อย่างนี้ในการเข้าlogin เพื่อให้สมาชิกเข้าไปแก้ไขข้อมูลส่วนตัว แต่ถ้าเขาใส่ emailและpasswordที่ถูกต้องแล้วแต่มันก็ยังเตือนขึ้นว่าloginไม่ถูกต้องคือมันไม่ไปอีกหน้าค่ะ ไม่รู้ว่าหนูใช้โค๊ดถูกหรือเปล่าขอให้พี่ๆ และผู้รู้ช่วยดูโค๊ดให้หน่อยค่ะถ้าผิดก็ช่วยแก่ให้หน่อยนะ ค่ะ
Code (PHP)
<?php
<SCRIPT LANGUAGE="JavaScript">
function Validate(form) {
if (form.email.value == "")
{ alert("กรุณากรอก email"); form.email.focus(); return; }
if (form.password.value == "")
{ alert("กรุณากรอก password"); form.password.focus(); return; }
if ((form.email.value != "<?=$email;?>")&&(form.password.value !="<?=$password;?>"))
{
alert('คุณ loginไม่ถูกต้อง');
return ;
}
form.submit();
}
</script>
?>
|
 |
 |
 |
 |
Date :
2009-08-18 09:26:39 |
By :
saowaluk052 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำไมไม่เห็นบอกเลยละคับว่าไปหน้าไหน แล้วติดต่อกับฐานข้อมูลที่เก็บ email และ pass ยังคับ
|
 |
 |
 |
 |
Date :
2009-08-18 09:51:31 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอโทษค่ะลืมใส่ไป ใส่ให้แล้วช่วยดูให้หน่อยนะค่ะ
Code (PHP)
<?php
<SCRIPT LANGUAGE="JavaScript">
function Validate(form) {
if (form.email.value == "")
{ alert("กรุณากรอก email"); form.email.focus(); return; }
if (form.password.value == "")
{ alert("กรุณากรอก password"); form.password.focus(); return; }
if ((form.email.value == "<?=$email;?>") && (form.password.value =="<?=$password;?>"))
{
window.location = 'edit.php';
}
else
{
alert(''คุณ loginไม่ถูกต้อง');
return ;
}
form.submit();
}
</script>
?>
|
 |
 |
 |
 |
Date :
2009-08-18 10:01:22 |
By :
saowaluk052 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองเปลี่ยนบรรทัดที่ 12 เป็น document.location="edit.php" ดูครับ
ถ้าไม่ได้ต้องรบกวนเซียนทั้งหลายในนี้แล้วล่ะคับ
|
 |
 |
 |
 |
Date :
2009-08-18 10:21:48 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ได้ค่ะ ถ้างั้นหนูขอรบกวนพี่ๆ ที่น่ารักทุกคนนะค่ะช่วยดูโค๊ดให้หน่อยค่ะถ้าหนูเขียนโค๊ดผิดพลาดตรงไหนก็ช่วยชี้แนะด้วยนะค่ะ 
|
 |
 |
 |
 |
Date :
2009-08-18 10:29:36 |
By :
saowaluk052 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้วบรรทัดไหนที่เช็คเมล์กับพาสที่ถูกต้องล่ะคับ มีฐานข้อมูลหรือป่าวไม่อย่างนั้นจะรู้ได้ไงว่าเมล์กับพาสที่ใส่ถูกต้องอ่ะคับ
|
 |
 |
 |
 |
Date :
2009-08-18 10:37:55 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
บรรทัดที่10 ค่ะ $email และ$password คือค่าตัวแปลที่ทำการตรวจสอบกับฐานข้อมูลค่ะ(ไม่รู้ว่าหนูเข้าใจที่คุณdeejingjing ถามถูกรึเปล่านะค่ะขออภัยด้วยค่ะ)
|
 |
 |
 |
 |
Date :
2009-08-18 10:50:26 |
By :
saowaluk052 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่เห้นมีการ select ฐานข้อมูลเลยคับ แล้วฟิลที่เก็บค่า email กับ password ชื่ออะไรเหรอคับ ถ้าไม่ select กับ query ข้อมูล แล้วมันจะไปเช็คค่าที่ถูกต้องยังไงล่ะคับ
|
 |
 |
 |
 |
Date :
2009-08-18 11:01:43 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ค่ะหนูส่งโค๊ดมาให้คุณdeejingjing ช่วยดูให้ทั้งหน้าแล้วนะค่ะช่วยดูให้หน่อยค่ะ ขอบคุณค่ะ
Code (PHP)
<?php
session_start();
include"connect.php";
/////////////////////log in สำหรับผู้ใช้ทั่วๆไป///////
if($_POST["email"]!='' || $_POST["password"]!=''){
$sql="SELECT * FROM regis WHERE regis_email='$email' AND regis_password='$password'";
$result=mysql_query($sql)or die(mysql_error());
$row=mysql_num_rows($result);
if($row==1){
$data=mysql_fetch_array($result);
$login123=$data[id_user];
$name=$data[regis_namelast];
echo $regis_email = "login_ok";
session_register("login123");
session_register("name");
session_register("regis_email");
echo "<meta http-equiv =\"refresh\" content=\"0;URL=edit.php\" />";
exit;
}
///////////////////log in admin//////////////////////
$sql="SELECT * FROM admin WHERE regis_email='$email' AND regis_password='$password'";
$result=mysql_query($sql)or die(mysql_error());
$row1=mysql_num_rows($result);
if($row1==1){
$data=mysql_fetch_array($result);
$user_id=$data[id_adm];
$user_name1=$data[adm_name];
$regis_email = "login_ok123";
session_register("user_id");
session_register("user_name1");
session_register("regis_email");
echo "<meta http-equiv =\"refresh\" content=\"0;URL=report.php\" />";
}
}
?>
<SCRIPT LANGUAGE="JavaScript">
function Validate(form) {
if (form.email.value == "")
{ alert("กรุณากรอก email"); form.email.focus(); return; }
if (form.password.value == "")
{ alert("กรุณากรอกpassword"); form.password.focus(); return; }
if ((form.email.value == "<?=$email;?>") && (form.password.value =="<?=$password;?>"))
{
window.location = 'edit.php';
}
else
{
alert('คุณ lognไม่ถูกต้อง');
return ;
}
form.submit();
}
</script>
<form id="form" name="form" method="post" action="">
email : <input name="email" type="text"size="23" />
</br>
</br>
Password : <input name="password" type="password"size="20" />
</br>
<input onclick=Validate(form) type=button value="login" name="Submit" style ="font-size:13pt;">
<input type="reset" name="Submit2" value="cancel"style ="font-size:13pt;"/>
</form>
?>
|
 |
 |
 |
 |
Date :
2009-08-18 11:16:57 |
By :
saowaluk052 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
บรรทัดที่ 11 กับ 36 มัน ตัวแปรซ้ำกันคับ ลองเปลี่ยนแบบนี้ดูคับ
<?
//ส่วนของ user//
if($_POST["email"]!='' || $_POST["password"]!=''){
$sql="SELECT * FROM regis WHERE regis_email='$email' AND regis_password='$password'";
$result=mysql_query($sql)or die(mysql_error());
$row=mysql_num_rows($result);
if($row==1){
$data=mysql_fetch_array($result);
//ส่วนของ admin//
$sql1="SELECT * FROM admin WHERE regis_email='$email' AND regis_password='$password'";
37.$result1=mysql_query($sql1)or die(mysql_error());
38.$row1=mysql_num_rows($result1);
39.if($row1==1){
40.$data=mysql_fetch_array($result1);
?>
ลองดูนะครับ ผมก็ไม่ค่อยเก่งเท่าไหร่ รบกวนผู้รู้ท่านต่อไปด้วยครับ
|
 |
 |
 |
 |
Date :
2009-08-18 14:54:50 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าไม่ได้ลองเอาโค้ดผมไปปรับเองก็ได้นะคับ ถ้าไม่เข้าใจก็ถามได้
<?
$sql1 = "select * from $tb1 where aUSER='$namelog' and aPASS='$passlog'";
$dbquery1 = mysql_db_query($dbname, $sql1);
$num_rows1 = mysql_num_rows($dbquery1);
if($num_rows1==1)
{
$_SESSION[admin]=true;
?>
<script type="text/javascript">
document.location="admin/index.dwt.php"; //หน้าหลักของ admin
</script>
<?
}
else
{
// ส่วน user
$sql2 = "select * from $tb2 where uUSER='$namelog' and uPASS='$passlog'";
$dbquery2 = mysql_db_query($dbname, $sql2);
$num_rows2 = mysql_num_rows($dbquery2);
$row=mysql_fetch_array($dbquery2);
if($num_rows2==1)
{
$_SESSION[usernames]=$namelog;
$_SESSION[uID]=$row[uID];
$_SESSION[uNAME]=$row[uNAME];
$_SESSION[member]=true;
?>
<script type="text/javascript">
document.location="templates/client.dwt.php"; //หน้าหลักของ user
</script>
<? }
else
{
?>
<script type="text/javascript">
<!--
alert('คุณใส่ชื่อหรือรหัสผ่านผิดครับ!! กรุณากลับไปใส่อีกครั้ง')
document.location="index.php";
//-->
</script>
<?php
}
}
?>
|
 |
 |
 |
 |
Date :
2009-08-18 15:29:33 |
By :
backship |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code = frm_login.php
Code (PHP)
<?php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="javascript">
function fncSubmit()
{
if(document.frmlogin.username.value == "")
{
alert('กรุณาใส่ชื่อผู้ใช้งานระบบ');
document.frmlogin.username.focus();
return false;
}
if(document.frmlogin.password.value == "")
{
alert('กรุณาใส่รหรัสผ่าน');
document.frmlogin.password.focus();
return false;
}
document.frmlogin.submit();
}
</script>
</head>
<body>
<div id="stylized" class="myform">
<form action="check_login.php" method="post" name="frmlogin" onSubmit="JavaScript:return fncSubmit();">
<h1>Login Form</h1>
<p>เข้าสู่ระบบ</p>
<label>Username
<span class="small">ชื่อผู้ใช้งาน</span>
</label>
<input type="text" name="username" id="username" />
<label>Password
<span class="small">รหัสผ่าน</span>
</label>
<input type="password" name="password" id="password" />
<button type="submit">Submit</button>
<button type="reset">Reset</button>
<div class="spacer"></div>
<p></p>
<a href = "frm_forgetpassword.php"><img src="img/lock.png" border=0> ลืมรหัสผ่าน</a>
</form>
</div>
</body>
</html>
?>
หน้า frm_login.php นะครับ

Code = check_login.php
Code (PHP)
<?php
<?php
session_start();
$strUsername = trim($_POST["username"]);
$strPassword = trim($_POST["password"]);
$objConnect = mysql_connect("localhost","root","") or die("Error Connect to Database");
$objDB = mysql_select_db("namdatabase");
mysql_query("SET NAMES UTF8");
//*** Check Username & Password ***//
$strSQL = "SELECT username,password,level FROM user WHERE username = '".$strUsername."' and password = '".$strPassword."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
$_SESSION["username"] = $strUsername;
if($objResult["level"]=="admin")
{
echo "<script>alert('ยินดีต้อนรับ Admin เข้าสู่ระบบ ขอบคุณครับ...');window.location='index_admin.php';</script>";
}
else if($objResult["level"]=="user")
{
echo "<script>alert('ยินดีต้อนรับสมาชิกเข้าสู่ระบบ ขอบคุณครับ...');window.location='index_user.php';</script>";
}
else
{
echo "<script>alert('ชื่อผู้ใช้งานระบบ หรือ รหัสผ่าน ไม่ถูกต้อง กรุณาตรวจสอบอีกครั้ง...');window.location='frm_login.php';</script>";
}
?>
?>
ถ้า level = admin จะไปหน้า index_admin.php
ถ้า level = user จะไปหน้า index_user.php
ถ้า username ผิด จะกลับไปหน้า frm_login.php
ถ้า password ผิด จะกลับไปหน้า frm_login.php
ถ้าผิดทั้ง 2 ก็จะกลับไปหน้า frm_login.php
ของผมนะครับเอาไปประยุกต์
ผมมือใหม่เหมือนกัน เหอๆ
|
 |
 |
 |
 |
Date :
2009-08-19 10:17:15 |
By :
ebuzzz |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
levelนี่คืออะไรค่ะ ใช่ฟิลล์ในฐานข้อมูลริป่าวค่ะช่วยอธิบายหน่อยค่ะ
|
 |
 |
 |
 |
Date :
2009-08-19 10:54:00 |
By :
saowaluk052 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช่ครับ คือ ฟิลล์ ใน ฐานข้อมูล เพื่อตรวจสอบ username ว่ามีระดับชั้นเป็น admin หรือ user
|
 |
 |
 |
 |
Date :
2009-08-19 11:03:15 |
By :
ebuzzz |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วค่ะ ขอบคุณ คุณ Qz-Xeon และขอบคุณสำหรับทุกคำตอบที่มาตอบนะค่ะ ขอบคุณผู้รู้ทุกท่านค่ะ    
|
 |
 |
 |
 |
Date :
2009-08-19 11:14:11 |
By :
saowaluk052 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|