|
|
|
ผมต้องการเช็คว่าเลขประชาชนที่ป้อนไปถูกต้องหรือไม่ตอนนี้ผมเช็คได้แค่ว่าต้องป้อน 13 หลัก ขอผู้รู้เขียนอธิบายให้หน่อยครับ |
|
|
|
|
|
|
|
Code (PHP)
if($count_n==13) {
# check username duplicate
$sql = "select * from account where mailaddr = '$mailaddr'";
// echo $sql;
$link->query($sql);
if($link->num_rows() > 0) {
$error[2] = true;
}
}
โค๊ดข้างบนนี้มันไม่สมบูรณ์นะครับ
มันควรจะเป็น
Code (PHP)
$link=new mysqli('host', 'name', 'psw', 'database'); // $link ควรเป็น connection ID
if($count_n==13) {
# check username duplicate
$sql = "select * from account where mailaddr = '$mailaddr'";
// echo $sql;
$result = $link->query($sql); // เพิ่ม $result =
if($result->num_rows > 0) { // ใช้ $result ที่นี่
$error[2] = true;
}
}
|
ประวัติการแก้ไข 2014-10-21 08:05:52
|
|
|
|
Date :
2014-10-21 08:04:56 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โค้ดตัวเต็มแบบนี้ครับ
Code (PHP)
<?php
include("include/class.mysqldb.php");
include("include/config.inc.php");
?>
<?
$message = "";
$username = $firstname = $lastname = $mailaddr = $password = $password2 = "";
foreach($_REQUEST as $key => $value) {
$$key = $value;
}
$error = array();
for($i = 0; $i < 20; $i++) {
$error[$i] = false;
}
if(isset($button)) {
# check firstname
if(empty($firstname)) {
$error[0] = true;
}
# check lastname
if(empty($lastname)) {
$error[1] = true;
}
# check mailaddr
if(empty($mailaddr)) {
$error[2] = true;
}
$count_n=strlen($mailaddr);
if($count_n<12) {
$error[2] = true;
}
if($count_n==13) {
# check username duplicate
$sql = "select * from account where mailaddr = '$mailaddr'";
// echo $sql;
$link->query($sql);
if($link->num_rows() > 0) {
$error[2] = true;
}
}
# check username
if(empty($username)) {
$error[3] = true;
}
if(!$error[3]) {
# check username duplicate
$sql = "select * from account where username = '$username'";
// echo $sql;
$link->query($sql);
if($link->num_rows() > 0) {
$error[4] = true;
}
}
# check password
if(empty($password)) {
$error[5] = true;
}
if(!$error[5]) {
if(strlen($password) < 4) {
$error[6] = true;
}
}
# check password2
if(empty($password2)) {
$error[7] = true;
}
if(!$error[7]) {
if(strlen($password2) < 4) {
$error[4] = true;
}
}
# check password and confirm password
if(!$error[5] && !$error[6] && !$error[7] && !$error[4]) {
if($password != $password2) {
$error[9] = true;
}
}
$pass = true;
for($i = 0; $i <= 9; $i++) {
if($error[$i]) {
$pass = false;
}
}
if($pass) {
$sql = "SELECT * FROM configuration where variable = 'default_regis_status'";
//echo $sql;
$link->query($sql);
$conf = $link->getnext();
//echo $conf->value;
$sql = "INSERT INTO account VALUES "
. "('$username','".substr($password,0,15)."',"
. "'$firstname', '$lastname', '$mailaddr',"
. "'".date("Y-m-d H:i:s")."', 'clear','".$conf->value."')";
//echo $sql;
$link->query($sql);
$sql = "INSERT INTO radcheck VALUES ('', '$username', 'Password', '==', '".substr($password,0,15)."')";
mysql_query($sql);
//$sql = "INSERT INTO radusergroup VALUES "
// . "('$username','register','1')";
$sql = "INSERT INTO radusergroup VALUES "
. "('$username','".$_REQUEST['selectG']."','1')";
//echo $sql;
$link->query($sql);
//echo $sql;
// $link->query($sql);
if($conf->value) {
$message = "บันทึกข้อมูลของคุณเรียบร้อยแล้ว คุณสามารถใช้งานระบบได้ทันทีครับ";
} else {
$message = "บันทึกข้อมูลของคุณเรียบร้อยแล้ว <br>แต่คุณจะสามารถใช้งานได้ก็ต่อเมื่อได้รับอนุญาตจากผู้ดูแลระบบแล้วเท่านั้น";
}
$username = $firstname = $lastname = $mailaddr = $password = $password2 = "";
}
}
?>
|
|
|
|
|
Date :
2014-10-21 11:08:16 |
By :
pp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องแก้โค๊ดตามที่ผมบอก นะครับ
select * from table
มันต้องการตัวแปรมารับ ค่า result ครับ สั่งทำงาน แบบตรงๆ เหมือน insert into หรือ update table ไม่ได้ครับ
ทุกอันที่เป็น select ต้องสร้างตัวแปรมารองรับ result ครับ
กลับไปอ่านคู่มือการใช้ คำสั่ง query ของ mysqli อีกทีก็ดีนะครับ จะได้ชัดเจนยิ่งขึ้น
Code (PHP)
$sql = "select * from account where mailaddr = '$mailaddr'";
$result = $link->query($sql);
if($result->num_rows > 0) {
while($ro=$result->fetch_assoc()){
echo '<pre>', print_r($ro, true), '</pre>';
}
}
ตัวอย่างการ query แบบมี result นะครับ ( SELECT )
|
|
|
|
|
Date :
2014-10-21 11:35:39 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จัดไปครับผม
|
|
|
|
|
Date :
2014-10-21 11:44:42 |
By :
phuttawat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไร้ประโยชน์แล้วครับเรื่องตรวจว่าเลข13หลักถูกต้องไหมตามหลักทะเบียนราษ เพราะเว็บสุ่มรหัสบัตรประชาชนเต็มไปหมด มันก็เกิดจากเอาอัลกอรึทึมที่ตรวจเลข 13 หลักไปถอดกลับมานี่เหละครับ ฮาๆๆๆ
|
|
|
|
|
Date :
2014-10-21 15:59:14 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|