และใน page ที่มีปัญหาคือว่าผมต้องการตำตวแปร user มาเทียบกับ database ว่าตรงกันหรือไม่ดังนี้
$sql = "SELECT p.permission_name, p.permission_status FROM mypermission p
WHERE p.username = '" .$_SESSION["user"]. "' AND p.permission_name = 'general' ";
พอ Run แล้ว ไม่เป็น page สีขาวไม่มีอาไรเยย แล้วในดาต้าเบส ก็ไม่มี การเก็บค่า User และ Password เยยคับพี่
ช่วยบอกผมที ผมได้ สร้าง ดาต้าเบสแล้ว และ เทเบิ้ล แล้ว ฟิว ผมก็กำหมดหมดแล้วคับ ซึ่งกนดเหมือบบทเรียน
CREATE DATABASE DBNAME;
USE DBNAME
CREATE TABLE cus_tomer (
id int(6) NOT NULL,
password varchar(30) NOT NULL,
date varchar(30) NOT NULL,
name varchar(30) NOT NULL,
surname varchar(30) NOT NULL,
email varchar(40) NOT NULL,
tel varchar(30),
address varchar(80) NOT NULL,
PRIMARY KEY (id)
);
// ส่วนของ check.php
<html>
<body>
<? //ต้องอยู่บรรทัดแรก ห้ามมีบรรทัดอื่นอยู่ก่อน แม้แต่บรรทัดเปล่า
$host="localhost";
$username="";
$password="";
$db="dbname";
$tb="member";
session_start(): //ขึ้นหัวข้อด้วย session_start(); ต้องอยู่บรรทัดที่สองเท่านั้น
$connect= mysql_connect($host,$username,$password);
$db = mysql_select_db("dbname",$connect) or die ("ติกต่อฐานข้อมูลไม่ได้")
$sql="select * from member where user='$u_name' and passwd='$pwd'";
$result=mysql_db_query("dbname",$sql);
if(mysql_num_rows($result) < 1) {
echo "ชื่อหรือ รหัสผ่านไม่ถูกต้อง"; //หากไม่มีตามที่ระบุ
exit();
}
else //หากมีตามที่ระบุ
{
session_start(); //เริ่มกำหนด session
session_register('u_name');
session_register('pwd');
header('Location:index.php'); //ให้ไปหน้า index
}
?>
</html>
</body>
อย่างนี้ถูกต้องไหมคับ คือผมลองแล้วแต่ในดาต้าเบสไมมีเยยคับ
ซึ่งผมได้ใช้ Linux Red hat 7.2 เป็น Web Server และใช้ฐานข้อมูล Mysql
Date :
28 ต.ค. 2547 16:55:13
By :
angerra
No. 5
Guest
//ตามบทเรียนนะครับ
CREATE DATABASE DBNAME;
USE DBNAME
CREATE TABLE member(
id int(6) NOT NULL,
password varchar(30) NOT NULL,
date varchar(30) NOT NULL,
name varchar(30) NOT NULL,
surname varchar(30) NOT NULL,
email varchar(40) NOT NULL,
tel varchar(30),
address varchar(80) NOT NULL,
PRIMARY KEY (id)
);
<? //ต้องอยู่บรรทัดแรก ห้ามมีบรรทัดอื่นอยู่ก่อน แม้แต่บรรทัดเปล่า
session_start(): //ขึ้นหัวข้อด้วย session_start(); ต้องอยู่บรรทัดที่สองเท่านั้น
$host="localhost";
$username="";
$password="";
$db="dbname";
$tb="member";
mysql_connect($host,$username,$password);
mysql_select_db($db) or die ("ติดต่อฐานข้อมูลไม่ได้")
$sql="select * from $tb where name='$u_name' and password='$pwd'";
$result=mysql_query($sql);
if(mysql_num_rows($result) < 1) {
echo "ชื่อหรือ รหัสผ่านไม่ถูกต้อง"; //หากไม่มีตามที่ระบุ
exit();
}
else //หากมีตามที่ระบุ
{
session_register('u_name');
session_register('pwd');
header('Location:index.php'); //ให้ไปหน้า index
}
?>
Date :
3 พ.ย. 2547 10:51:26
By :
surasak
No. 6
Guest
อธิบาย
CREATE DATABASE DBNAME;
USE DBNAME
CREATE TABLE member(
id int(6) NOT NULL,
password varchar(30) NOT NULL,
date varchar(30) NOT NULL,
name varchar(30) NOT NULL,
surname varchar(30) NOT NULL,
email varchar(40) NOT NULL,
tel varchar(30),
address varchar(80) NOT NULL,
PRIMARY KEY (id)
);
คุณใช้ฐานข้อมูลชื่อว่า DBNAME (หากจะเปลี่ยนก็ได้)
จากโครงสร้างของตาราง member ประกอบด้วย
id หมายเลข
password รหัส
date เก็บวันที่ที่คนมาสมัครสมาชิก
ืname เก็บ username
surname เก็บนามสกุล
email เก็บอีเมล์
tel เก็บเบอร์โทร์
address เก็บที่อยู่
mysql_connect($host,$username,$password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($db) or die ("เลือกฐานข้อมูลไม่ได้");
//กำหนดรูปแบบวันที่ โดยใช้ตัวแปร $date แทนวันที่
$date=date(d m Y);
$sql="insert into $tb
(password,date,name,surname,email,tel,address) //แถวนี้คือชื่อของคอลัมภ์ในตาราง member
values
($pwd,$date,$u_name,$surname,$email,$tel,$address)"; //แถวนี้คือตัวแปรที่คนกรอกเข้ามา
password varchar(30) NOT NULL,
date varchar(30) NOT NULL,
name varchar(30) NOT NULL,
surname varchar(30) NOT NULL,
email varchar(40) NOT NULL,
tel varchar(30),
address varchar(80) NOT NULL,
$sql="insert into $tb
(password,date,name,surname,email,tel,address) //แถวนี้คือชื่อของคอลัมภ์ในตาราง member
values
($pwd,$date,$u_name,$surname,$email,$tel,$address)"; //แถวนี้คือตัวแปรที่คนกรอกเข้ามา
$sql="select * from $tb where name='$u_name' and password='$pwd'";
ต้องแก้เป็น
$sql="select * from $tb where name=$u_name and password=$pwd";
Date :
3 พ.ย. 2547 12:11:20
By :
sak
No. 11
Guest
เอ๊าสรุปแล้วกัน
1. ข้อมูลในฐานข้อมูล
CREATE DATABASE DBNAME;
USE DBNAME
CREATE TABLE member(
id int(6) NOT NULL,
password varchar(30) NOT NULL,
date varchar(30) NOT NULL,
name varchar(30) NOT NULL,
surname varchar(30) NOT NULL,
email varchar(40) NOT NULL,
tel varchar(30),
address varchar(80) NOT NULL,
PRIMARY KEY (id)
);