|
|
|
ทำหน้าสมัครสมาชิกง่าย ๆ แต่ไม่รู้ว่าติดโค๊ดตรงไหนก็ไม่รู้ครับ (มีภาพประกอบ และโค๊ดตัวอย่างครับ) |
|
|
|
|
|
|
|
จากที่ได้ทดสอบเขียนโค๊ดตามกระทู้ PHP MySQL กับ Register Form ทำระบบ สมัครสมาชิกเก็บข้อมูลง่าย ๆ เช่น รหัสสมาชิก (Username) รหัสผ่าน (Password) แล้วแต่ติดนิดหน่อยครับ รบกวนท่านผู้รู้ตรวจสอบนักเรียนคนนี้ด้วยครับ
รูปที่ 1 ฐานข้อมูลและตารางเก็บข้อมูล ในที่นี่ผมเก็บข้อมูลเฉพาะ ตาราง tbprofile ครับ
รูปที่ 2 เป็นหน้ากรอกข้อมูลครับ ผมได้เขียนชื่อ ช่องแต่ละช่องเอาไว้แล้ว
ส่วนที่ 3 เป็นหน้าตรวจสอบข้อมูลครับ
Code (PHP) หน้ารับข้อมูล save_step1.php
<?
mysql_connect("localhost","root","isylgxbf");
mysql_select_db("registation");
if(trim($_POST["Register_ID"]) == "")
{
echo "กรุณาระบุหมายเลขประจำตัวสอบ!";
exit();
}
if(trim($_POST["Customer_IDCard"]) == "")
{
echo "กรุณาระบุหมายเลขบัตรประจำตัวประชาชน!";
exit();
}
if(trim($_POST["Customer_name"]) == "")
{
echo "กรุณาระบุชื่อ!";
exit();
}
if(trim($_POST["Customer_Lname"]) == "")
{
echo "กรุณาระบุนามสกุล!";
exit();
}
if(trim($_POST["Brithday"]) == "")
{
echo "กรุณาระบุวัน/เดือน/ปีเกิด!";
exit();
}
if(trim($_POST["Race"]) == "")
{
echo "กรุณาระบุเชื้อชาติ!";
exit();
}
if(trim($_POST["Nationality"]) == "")
{
echo "กรุณาระบุสัญชาติ!";
exit();
}
if(trim($_POST["Mobiephon"]) == "")
{
echo "กรุณาระบุหมายเลขโทรศัพท์มือถือ!";
exit();
$strSQL = "SELECT * FROM tbprofile WHERE Username = '".trim($_POST['Register_ID'])."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo "คุณได้สมัครหลักสูตรนี้แล้ว ไม่สามารถสมัครซ้ำซ้อนกันได้ครับ!";
}
else
{
//ระบบแจ้งว่ามีเออเรอร์ในบันทัดนี้ครับ ผมพยายามไล่ดูแล้วแต่ก็จนปัญญาครับ
$strSQL = "INSERT INTO tbprofile (Register_ID,Customer_IDCard,Customer_First,Customer_name,Customer_Lname,Brithday,Nationality,Race,Religion,Mobiephon,E-mail) VALUES ('".$_POST["Register_ID"]."', '".$_POST["Customer_IDCard"]."','".$_POST["Customer_First"]."','".$_POST["Customer_name"]."','".$_POST["Customer_Lname"]."','".$_POST["Brithday"]."','".$_POST["Nationality"]."','".$_POST["Race"]."','".$_POST["Religion"]."','".$_POST["Mobiephon"]."','".$_POST["E-mail"].)";
$objQuery = mysql_query($strSQL);
}
mysql_close();
?>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2011-08-22 14:15:31 |
By :
narak0001 |
View :
3247 |
Reply :
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$strSQL = "INSERT INTO tbprofile (Register_ID,Customer_IDCard,Customer_First,Customer_name,Customer_Lname,Brithday,Nationality,Race,Religion,Mobiephon,E-mail) VALUES (".$_POST["Register_ID"].", ".$_POST["Customer_IDCard"].",'".$_POST["Customer_First"]."','".$_POST["Customer_name"]."','".$_POST["Customer_Lname"]."','".$_POST["Brithday"]."','".$_POST["Nationality"]."','".$_POST["Race"]."','".$_POST["Religion"]."','".$_POST["Mobiephon"]."','".$_POST["E-mail"]."')";
$objQuery = mysql_query($strSQL);
มือใหม่หัดตอบ
|
ประวัติการแก้ไข 2011-08-22 14:23:38 2011-08-22 14:24:15
|
|
|
|
Date :
2011-08-22 14:21:54 |
By :
birdbird27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เออ ไม่ทราบว่าผมควรแก้ตรงไหนครับท่าน
|
|
|
|
|
Date :
2011-08-22 14:36:54 |
By :
narak0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่มเติมนะครับ ผมคิดว่าในการออกแบบฐานข้อมูล ฟิลด์ชื่อ Register_ID น่าจะตั้งให้เป็น auto_increment นะครับ และก็แก้ไขเงื่อนไขในการเช็คว่าคนๆนั้นได้สมัครรึยังครับ(แก้ให้แล้ว) ลองดูครับว่ายังติดอะไรอยู่รึป่าว?
Code (PHP)
Code (PHP) หน้ารับข้อมูล save_step1.php
<?
mysql_connect("localhost","root","isylgxbf");
mysql_select_db("registation");
if(trim($_POST["Register_ID"]) == "")
{
echo "กรุณาระบุหมายเลขประจำตัวสอบ!";
exit();
}
if(trim($_POST["Customer_IDCard"]) == "")
{
echo "กรุณาระบุหมายเลขบัตรประจำตัวประชาชน!";
exit();
}
if(trim($_POST["Customer_name"]) == "")
{
echo "กรุณาระบุชื่อ!";
exit();
}
if(trim($_POST["Customer_Lname"]) == "")
{
echo "กรุณาระบุนามสกุล!";
exit();
}
if(trim($_POST["Brithday"]) == "")
{
echo "กรุณาระบุวัน/เดือน/ปีเกิด!";
exit();
}
if(trim($_POST["Race"]) == "")
{
echo "กรุณาระบุเชื้อชาติ!";
exit();
}
if(trim($_POST["Nationality"]) == "")
{
echo "กรุณาระบุสัญชาติ!";
exit();
}
if(trim($_POST["Mobiephon"]) == "")
{
echo "กรุณาระบุหมายเลขโทรศัพท์มือถือ!";
exit();
$strSQL = "SELECT * FROM tbprofile WHERE Username = '".trim($_POST['Register_ID'])."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_num_rows($objQuery);
if($objResult>0)
{
echo "คุณได้สมัครหลักสูตรนี้แล้ว ไม่สามารถสมัครซ้ำซ้อนกันได้ครับ!";
}
else
{
//ระบบแจ้งว่ามีเออเรอร์ในบันทัดนี้ครับ ผมพยายามไล่ดูแล้วแต่ก็จนปัญญาครับ
$strSQL = "INSERT INTO tbprofile (Register_ID,Customer_IDCard,Customer_First,Customer_name,Customer_Lname,Brithday,Nationality,Race,Religion,Mobiephon,E-mail) VALUES ('', '".$_POST["Customer_IDCard"]."','".$_POST["Customer_First"]."','".$_POST["Customer_name"]."','".$_POST["Customer_Lname"]."','".$_POST["Brithday"]."','".$_POST["Nationality"]."','".$_POST["Race"]."','".$_POST["Religion"]."','".$_POST["Mobiephon"]."','".$_POST["E-mail"]."')";
$objQuery = mysql_query($strSQL);
}
mysql_close();
?>
|
ประวัติการแก้ไข 2011-08-22 14:43:00
|
|
|
|
Date :
2011-08-22 14:41:14 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หลัง E-mail เค้าใส่ "' ให้คุณครับ
ถ้าใน code ของคุณก็บรรทัด 59 ครับ
|
|
|
|
|
Date :
2011-08-22 14:41:15 |
By :
grandraftz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
code error อ่าครับ
$strSQL = "INSERT INTO tbprofile (Register_ID,Customer_IDCard,Customer_First,Customer_name,Customer_Lname,Brithday,Nationality,Race,Religion,Mobiephon,E-mail) VALUES ('".$_POST["Register_ID"]."', '".$_POST["Customer_IDCard"]."','".$_POST["Customer_First"]."','".$_POST["Customer_name"]."','".$_POST["Customer_Lname"]."','".$_POST["Brithday"]."','".$_POST["Nationality"]."','".$_POST["Race"]."','".$_POST["Religion"]."','".$_POST["Mobiephon"]."','".$_POST["E-mail"].)";
$strSQL = "INSERT INTO tbprofile (Register_ID,Customer_IDCard,Customer_First,Customer_name,Customer_Lname,Brithday,Nationality,Race,Religion,Mobiephon,E-mail) VALUES (".$_POST["Register_ID"].", ".$_POST["Customer_IDCard"].",'".$_POST["Customer_First"]."','".$_POST["Customer_name"]."','".$_POST["Customer_Lname"]."','".$_POST["Brithday"]."','".$_POST["Nationality"]."','".$_POST["Race"]."','".$_POST["Religion"]."','".$_POST["Mobiephon"]."','".$_POST["E-mail"]."')";
ที่ท้ายสุดครับ
,'".$_POST["E-mail"].)";
,'".$_POST["E-mail"]."')";
ฟันหนูมันหายไปครับ
แล้วก็ 2 ฟิวล์ แรกเป็น int ครับ ไม่ต้องใส่ ' ' ครอบครับ บาง host ใส่ได้ บาง host ก็ใส่ไม่ได้ครับ
|
|
|
|
|
Date :
2011-08-22 14:42:49 |
By :
birdbird27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Error ที่บันทัดนั้นหายไปแล้วครับ แต่มันฟ้องว่า Error บันทัดสุดท้ายที่เป็นแท็กปิด php อะครับ ตรง ?> ตรงเนี่ยอ่า
|
|
|
|
|
Date :
2011-08-22 14:54:53 |
By :
narak0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไล่ดูเลยครับ แต่ละบรรทัดเลย
|
|
|
|
|
Date :
2011-08-22 15:23:37 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เท่าที่ผมไล่มาผมพยายามทำให้เหมือนกับตัวอย่างเลยครับ ต่างกันแค่ที่ว่าของผมเองมีฟัวมากกว่าแค่นั้นเองครับ ตอนนี้ตัว Register_ID ผมทำเป็น auto ตามแนะนำแล้วครับ แต่ก็ยังฟ้องว่ามีปัญหาตรงบรรทัดสุดท้ายครับ ตรง "?>"
|
|
|
|
|
Date :
2011-08-22 15:35:12 |
By :
narak0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมได้แก้โค๊ด บรรทัดที่ 53 - 54 ตามที่แนะนำแล้วครับก็ยังไม่ได้ครับ ฟ้องว่าบรรทัดสุดท้ายมีปัญหาอยู่ดีครบ
ปล. ผมลองก๊อปโค๊ดไปวางแล้วก็ยังเป็นเช่นเดิมครับ
|
ประวัติการแก้ไข 2011-08-22 16:00:16
|
|
|
|
Date :
2011-08-22 15:58:22 |
By :
narak0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณลืมปิด } ตรงเงื่อนไข if ครับ
Code (PHP)
<?
mysql_connect("localhost","root","isylgxbf");
mysql_select_db("registation");
if(trim($_POST["Register_ID"]) == "") {
echo "กรุณาระบุหมายเลขประจำตัวสอบ!";
exit();
}
if(trim($_POST["Customer_IDCard"]) == "")
{
echo "กรุณาระบุหมายเลขบัตรประจำตัวประชาชน!";
exit();
}
if(trim($_POST["Customer_name"]) == "")
{
echo "กรุณาระบุชื่อ!";
exit();
}
if(trim($_POST["Customer_Lname"]) == "")
{
echo "กรุณาระบุนามสกุล!";
exit();
}
if(trim($_POST["Brithday"]) == "")
{
echo "กรุณาระบุวัน/เดือน/ปีเกิด!";
exit();
}
if(trim($_POST["Race"]) == "")
{
echo "กรุณาระบุเชื้อชาติ!";
exit();
}
if(trim($_POST["Nationality"]) == "")
{
echo "กรุณาระบุสัญชาติ!";
exit();
}
if(trim($_POST["Mobiephon"]) == "")
{
echo "กรุณาระบุหมายเลขโทรศัพท์มือถือ!";
exit();
}
$strSQL = "SELECT * FROM tbprofile WHERE Username = '".trim($_POST['Register_ID'])."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_num_rows($objQuery);
if($objResult>0)
{
echo "คุณได้สมัครหลักสูตรนี้แล้ว ไม่สามารถสมัครซ้ำซ้อนกันได้ครับ!";
}
else
{
//ระบบแจ้งว่ามีเออเรอร์ในบันทัดนี้ครับ ผมพยายามไล่ดูแล้วแต่ก็จนปัญญาครับ
$strSQL = "INSERT INTO tbprofile (Register_ID,Customer_IDCard,Customer_First,Customer_name,Customer_Lname,Brithday,Nationality,Race,Religion,Mobiephon,E-mail) VALUES ('', '".$_POST["Customer_IDCard"]."','".$_POST["Customer_First"]."','".$_POST["Customer_name"]."','".$_POST["Customer_Lname"]."','".$_POST["Brithday"]."','".$_POST["Nationality"]."','".$_POST["Race"]."','".$_POST["Religion"]."','".$_POST["Mobiephon"]."','".$_POST["E-mail"]."')";
$objQuery = mysql_query($strSQL);
}
mysql_close();
?>
|
|
|
|
|
Date :
2011-08-22 16:21:42 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันไม่ขึ้น Error แล้ว ครับ แต่ว่ามันไม่เก็บค่า มันฟ้องว่า "กรุณาระบุหมายเลขบัตรประชาชน" ยังไงก็ดี ผมขอขึ้นกระทู้ใหม่ครับ จะได้พูดกันทีละกรณีไป แต่ผมยังคงให้ดุรูปเพื่อจะได้พิจารณาง่ายครับ
|
|
|
|
|
Date :
2011-08-23 10:29:16 |
By :
narak0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|