|
|
|
ไม่สามารถล็อกอินเข้าระบบได้เลย ไม่รู้ว่ารับค่าผิดอย่างไร |
|
|
|
|
|
|
|
ต้องลองดักตรงเงื่อนไข IF ดูครับว่ามันเข้าเงื่อนไขหรือเปล่า ลอง echo อะไรก็ได้ใน IF อะครับ
|
|
|
|
|
Date :
2014-11-26 16:46:13 |
By :
Manussawin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้
Code (PHP)
<?
?>
เป็น
Code (PHP)
<?php
?>
และ
Code (PHP)
$user=$_POST[user] ;
$pass=$_POST[pass];
เปลี่ยนเป็น
Code (PHP)
$user=$_POST['user'] ;
$pass=$_POST['pass'];
และก็
Code (PHP)
$sql = "select * from authorities where authorities_urs = '$user' and authorities_pwd = '$pass'";
เปลี่ยนเป็น
Code (PHP)
$sql = "select * from authorities where authorities_urs = '".$user."' and authorities_pwd = '".$pass."'";
ลองทำดูนะครับ
|
ประวัติการแก้ไข 2014-11-26 16:49:27 2014-11-26 16:50:45 2014-11-26 16:52:28 2014-11-26 16:53:09
|
|
|
|
Date :
2014-11-26 16:49:02 |
By :
nest12345 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?
02session_start();
03.include "connect.php";
ก่อนทำอย่างอื่น เช็คตัวแปรที่ส่งมาก่อนครับ ว่าได้ครบไหม
แก้เป็น
<?
print_r($_POST); exit; // เมื่อรู้ค่าว่าถูกต้องค่อยเอาออกและ เช็คต่อไป
02session_start();
03.include "connect.php";
|
|
|
|
|
Date :
2014-11-26 16:54:22 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มีใครช่วยเหลือผมได้เลยหรอครับ......T-T
|
|
|
|
|
Date :
2014-11-28 11:28:37 |
By :
scorpion86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าแก้ตามคุณ Ae Caichang , Chaidhanan ครบแล้วลองแทรก echo ไประหว่างบรรทัดการทำงานว่าไปตายก่อน header หรือเปล่า
Code (PHP)
if (mysql_num_rows($res) > 0) {
session_register("sess_adminid");
echo "1";
$rs = mysql_fetch_array($res);
echo "2";
$_SESSION['id'] = $rs['id_authorities'];
echo "3";
$_SESSION['id_authorities'] = $rs['id_authorities'];
echo "4";
$sess_adminid=session_id();
echo "5";
header("Location: menu.php");
} else {
echo "<H3>Cann't login!</H3>";
}
ได้ผลไงบอกด้วยนะ
|
|
|
|
|
Date :
2014-11-28 11:59:02 |
By :
LuckyStar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเช็ค syntax SQL ก่อนนะครับว่าเขียนอะไรผิด
Code (PHP)
$user=$_POST[user] ;
$pass=$_POST[pass];
$sql = "select * from authorities where authorities_urs = '$user' and authorities_pwd = '$pass'";
echo = $sql
ค่าที่ได้มันควรจะเป็น
select * from authorities where authorities_urs = 'kataro' and authorities_pwd = 'kataro'
ลองดูครับว่า ค่า sql ที่ออกมาถูกต้องตาม syntax ของ SQL ไหม
|
|
|
|
|
Date :
2014-11-28 12:20:51 |
By :
zinlucifer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูที่ไฟล์ connect.php ว่าถูกต้องหรือเปล่าครับ
|
|
|
|
|
Date :
2014-11-29 21:35:58 |
By :
LAGO |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คิดว่าผิดที่ session_register() ครับ มันถึงขึ้นหน้าขาว
จริงๆ มันน่าจะเป็น Fatal Error ซึ่งจะขึ้น Fatal Error Call to undefined function session_register() ถ้าคุณเปิด error ไว้
คุณใช้ PHP 5.4+ ใช่มั้ยครับ ถ้าใช่ มันไม่มีฟังก์ชั่นนี้แล้วครับ เขา DEPRECATED และ REMOVE ไปนานแล้ว
เอาออกไปเลยครับบรรทัดนั้น
Code (PHP)
<?
ini_set('display_errors', 1); // ให้แสดง error ด้วยถ้าอยากรู้ว่ามันใช่สาเหตุนี้จริงๆ หรือไม่
session_start();
include "connect.php";
$user=$_POST[user] ;
$pass=$_POST[pass];
$sql = "select * from authorities where authorities_urs = '$user' and authorities_pwd = '$pass'";
$res =mysql_query($sql);
if (mysql_num_rows($res) > 0) {
//session_register("sess_adminid");
$rs = mysql_fetch_array($res);
$_SESSION['id'] = $rs['id_authorities'];
$_SESSION['id_authorities'] = $rs['id_authorities'];
$sess_adminid=session_id();
header("Location: menu.php");
} else {
echo "<H3>Cann't login!</H3>";
}
?>
|
ประวัติการแก้ไข 2014-11-29 22:32:28
|
|
|
|
Date :
2014-11-29 22:31:54 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$_SESSION['id'] = $rs['id_authorities'];
$_SESSION['id_authorities'] = $rs['id_authorities'];
เปลี่ยนเป็นตัวนี้ดูครับ
Code (PHP)
$_SESSION['id'] = $rs['id'];
$_SESSION['id_authorities'] = $rs['id_authorities'];
|
|
|
|
|
Date :
2014-11-30 08:01:46 |
By :
LAGO |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือพอเอา session_register() ออก มันก็จะไม่ Fatal Error แล้ว (ไม่เป็นหน้าขาว)
และเปิด error มันก็จะเห็น error ครับ
จาก error ที่เอามาให้ดู คิดว่าเป็นที่ query
คือมันผิดตรงนี้
$sql = "select * from authorities where authorities_urs = '$user' and authorities_pwd = '$pass'";
$res =mysql_query($sql);
ให้เพิ่มส่วนตรวจ error เข้าไป
$sql = "select * from authorities where authorities_urs = '$user' and authorities_pwd = '$pass'";
$res =mysql_query($sql);
if (!$res) { // ถ้า query ผิดพลาด $res จะไม่เป็นจริง
exit(mysql_error()); // จบการทำงานและแสดง error
}
ผมเดาว่าน่าจะเป็นเพราะคุณพิมพ์ชื่อฟิลด์ผิด
$sql = "select * from authorities where authorities_urs = '$user' and authorities_pwd = '$pass'";
น่าจะเป็น
$sql = "select * from authorities where authorities_usr = '$user' and authorities_pwd = '$pass'";
หรือเปล่า เพราะเหมือนฟิลด์นั้นจะมีความหมายว่า "user"
|
|
|
|
|
Date :
2014-11-30 09:12:16 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณใช้ session แล้วนี่ครับ ก็ตรวจจาก $_SESSION ครับ
จากหน้า login
<?
ini_set('display_errors', 1); // ให้แสดง error ด้วยถ้าอยากรู้ว่ามันใช่สาเหตุนี้จริงๆ หรือไม่
session_start();
include "connect.php";
$user=$_POST[user] ;
$pass=$_POST[pass];
$sql = "select * from authorities where authorities_usr = '$user' and authorities_pwd = '$pass'";
$res =mysql_query($sql);
if (mysql_num_rows($res) > 0) {
//session_register("sess_adminid");
$rs = mysql_fetch_array($res);
$_SESSION['id'] = $rs['id_authorities']; // เนี่ยคุณกำหนดค่าไปแล้ว
$_SESSION['id_authorities'] = $rs['id_authorities'];
$sess_adminid=session_id();
header("Location: menu.php");
} else {
echo "<H3>Cann't login!</H3>";
}
?>
ในอีกไฟล์ก็ตรวจจาก $_SESSION['id'] เช่น
Code (PHP)
<?php
session_start();
if (isset($_SESSION['id'])) { // ตรวจตัวแปรที่กำหนดจากหน้า login ว่ามีอยู่หรือไม่
// login แล้ว
} else {
// error หรือ redirect อะไรก็ว่าไป
}
|
|
|
|
|
Date :
2014-11-30 09:40:43 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|