ดูโค้ดให้หน่อยค่ะ ความต้องการนะค่ะ คือตรวจสอบแล้วพอว่ารหัสบัตรประชาชนกะรหัสนักศึกษา ไม่ตรงตามฐานข้อมูล
ความต้องการนะค่ะ
คือตรวจสอบแล้วพอว่ารหัสบัตรประชาชนกะรหัสนักศึกษา ไม่ตรงตามฐานข้อมูล ก็มี msg box แสดงว่า ไม่สามรถใช้งานได้
แต่ถ้า รหัสนบัตรทั้งสอง พบ แต่ว่า status มีค่าเป็น 1 แสดงว่าทำการลงทะเบียนไปแล้ว ให้มี msgbox บอกว่าลงทะเบียนแล้ว และโชว์ข้อมูล อันนี้ยังไม่แสดง
แต่ถ้า รหัสบัตรทั้งสอง พบ status มีค่าเป็น o ก็ทำการสุ่มรหัสให้พร้อมโชว์ข้อมูล อันนี้ทำได้แล้ว
ช่วยดูให้หน่อยนะค่ะ ว่าทำไม้โค้ดเงื่อนไขที่สองมันไม่แสดง โค้ดอาจจะมั่ว ๆยุ่ง หน่อยอ่ะค่ะ
<?
$dbname="radius";
$con = mysql_connect("localhost","root","abc123");
mysql_select_db($dbname, $con);
$sql = "SELECT * FROM user WHERE IdentificationNumber='$IDCARD' AND StudentId='$IDSTD' and status<>'1'";
$sqll = "SELECT * FROM user WHERE IdentificationNumber='$IDCARD' AND StudentId='$IDSTD' ";
$result = mysql_query($sql,$con);
$resultt = mysql_query($sqll,$con);
$rows = mysql_num_rows($result);
$rowss = mysql_num_rows($resultt);
if ($rowss<=0){
?>
<script language="JavaScript" type="text/JavaScript">
<!--
alert("IdentificationNumber and StudentId NO match.");
//-->
</script>
<?
exit();
}
elseif ($rows==1){
?>
<script language="JavaScript" type="text/JavaScript">
<!--
alert("Registed");
//-->
</script>
<?
echo("<center>IDCard : $arr1[1]</center><br>");
echo("<center>IDStudent : $arr1[2]</center><br>");
echo("<center>Name : $arr1[3]</center><br>");
echo("<center>LastName : $arr1[4]</center><br>");
echo("<center>DateOfBirth : $arr1[5]</center><br>");
echo("<center>Sex : $arr1[6]</center><br>");
echo("<center>Class: $arr1[7]</center><br>");
echo("<center>Telephone : $arr1[8]</center><br>");
echo("<center>Mobile : $arr1[9]</center><br>");
echo("<center>EMail : $arr1[10]</center><br>");
echo("<center>Status :$arr1[11]</center><br>");
echo("<center>Username : $arr1[12]</center><br>");
echo("<center>Pass : $arr1[13]</center><br>");
}
else {
//random pass
$key = "ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678910";
srand((double)microtime()*1000000);
for($i=0; $i<8; $i++) {
$pass_rand .= $key[rand()%strlen($key)];
}
while($arr = mysql_fetch_array($result))
{
// USE Cheng statua and jent pass
$sqll = "UPDATE user SET status ='1' WHERE IdentificationNumber ='$arr[1]' ";
$resultt = mysql_query($sqll,$con);
$sqlll = "UPDATE user SET Value = '$pass_rand' WHERE IdentificationNumber='$IDCARD' AND StudentId='$IDSTD'";
$resulttt = mysql_query($sqlll,$con);
$stat = "SELECT status FROM user WHERE IdentificationNumber='$IDCARD' AND StudentId='$IDSTD' ";
$sqlp = "INSERT INTO radcheck (id,Username,Attribute,Value) VALUES ('', '$arr[12]', 'password', '$pass_rand')";
$resultp = mysql_query($sqlp,$con);
$sqlr = "INSERT INTO radreply (id,Username,Attribute,Value) VALUES ('', '$arr[12]', 'Idle-Timeout', '3600')";
$resultr = mysql_query($sqlr,$con);
$sqlg = "INSERT INTO usergroup (UserName,GroupName,priority) VALUES ('$arr[12]', 'dynamic', '1')";
$resultg = mysql_query($sqlg,$con);
echo("<center>Register Complete</center><br>");
echo("<center>IDCard : $arr[1]</center><br>");
echo("<center>IDStudent : $arr[2]</center><br>");
echo("<center>Name : $arr[3]</center><br>");
echo("<center>LastName : $arr[4]</center><br>");
echo("<center>DateOfBirth : $arr[5]</center><br>");
echo("<center>Sex : $arr[6]</center><br>");
echo("<center>Class: $arr[7]</center><br>");
echo("<center>Telephone : $arr[8]</center><br>");
echo("<center>Mobile : $arr[9]</center><br>");
echo("<center>EMail : $arr[10]</center><br>");
echo("<center>Status : 1 </center><br>");
echo("<center>Username : $arr[12]</center><br>");
echo("<center>Pass : $pass_rand</center><br>");
}
}
?>Tag : - - - -
Date :
18 เม.ย. 2551 02:23:19
By :
asahichirokano
View :
1454
Reply :
2
จากที่ดูไม่รู้ว่าเขาใจถูกหรือเปล่านะครับ
ลองเปลี่ยนการ Select ข้อมูลดูนะครับ ผมว่า
$sql = "SELECT * FROM user WHERE IdentificationNumber='$IDCARD' AND StudentId='$IDSTD' and status<>'1'";
Select นี้ไม่จำเป็นต้องมีก้อได้นะครับ เราตรวจสอบเฉพาะรหัสบัตร กะ นักศึกษาให้ตรงกัน เสร็จแล้วในขั้นตอนการตรวจสอบ Status เราก้อทำการเอา ฟิลมาตรวจสอบอ่ะครับ
<?
$dbname="radius";
$con = mysql_connect("localhost","root","abc123");
mysql_select_db($dbname, $con);
$sqll = "SELECT * FROM user WHERE IdentificationNumber='$IDCARD' AND StudentId='$IDSTD' ";
$resultt = mysql_query($sqll,$con);
$rowss = mysql_num_rows($resultt);
$fields=mysql_fetch_array($resultt);
if ($rowss<=0){
?>
<script language="JavaScript" type="text/JavaScript">
<!--
alert("IdentificationNumber and StudentId NO match.");
//-->
</script>
<?
exit();
}
if($fields["status"]==1){
?>
<script language="JavaScript" type="text/JavaScript">
<!--
alert("Registed");
//-->
</script>
<?
echo("<center>IDCard : $arr1[1]</center><br>");
echo("<center>IDStudent : $arr1[2]</center><br>");
echo("<center>Name : $arr1[3]</center><br>");
echo("<center>LastName : $arr1[4]</center><br>");
echo("<center>DateOfBirth : $arr1[5]</center><br>");
echo("<center>Sex : $arr1[6]</center><br>");
echo("<center>Class: $arr1[7]</center><br>");
echo("<center>Telephone : $arr1[8]</center><br>");
echo("<center>Mobile : $arr1[9]</center><br>");
echo("<center>EMail : $arr1[10]</center><br>");
echo("<center>Status :$arr1[11]</center><br>");
echo("<center>Username : $arr1[12]</center><br>");
echo("<center>Pass : $arr1[13]</center><br>");
}
else {
//random pass
$key = "ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678910";
srand((double)microtime()*1000000);
for($i=0; $i<8; $i++) {
$pass_rand .= $key[rand()%strlen($key)];
}
while($arr = mysql_fetch_array($result))
{
// USE Cheng statua and jent pass
$sqll = "UPDATE user SET status ='1' WHERE IdentificationNumber ='$arr[1]' ";
$resultt = mysql_query($sqll,$con);
$sqlll = "UPDATE user SET Value = '$pass_rand' WHERE IdentificationNumber='$IDCARD' AND StudentId='$IDSTD'";
$resulttt = mysql_query($sqlll,$con);
$stat = "SELECT status FROM user WHERE IdentificationNumber='$IDCARD' AND StudentId='$IDSTD' ";
$sqlp = "INSERT INTO radcheck (id,Username,Attribute,Value) VALUES ('', '$arr[12]', 'password', '$pass_rand')";
$resultp = mysql_query($sqlp,$con);
$sqlr = "INSERT INTO radreply (id,Username,Attribute,Value) VALUES ('', '$arr[12]', 'Idle-Timeout', '3600')";
$resultr = mysql_query($sqlr,$con);
$sqlg = "INSERT INTO usergroup (UserName,GroupName,priority) VALUES ('$arr[12]', 'dynamic', '1')";
$resultg = mysql_query($sqlg,$con);
echo("<center>Register Complete</center><br>");
echo("<center>IDCard : $arr[1]</center><br>");
echo("<center>IDStudent : $arr[2]</center><br>");
echo("<center>Name : $arr[3]</center><br>");
echo("<center>LastName : $arr[4]</center><br>");
echo("<center>DateOfBirth : $arr[5]</center><br>");
echo("<center>Sex : $arr[6]</center><br>");
echo("<center>Class: $arr[7]</center><br>");
echo("<center>Telephone : $arr[8]</center><br>");
echo("<center>Mobile : $arr[9]</center><br>");
echo("<center>EMail : $arr[10]</center><br>");
echo("<center>Status : 1 </center><br>");
echo("<center>Username : $arr[12]</center><br>");
echo("<center>Pass : $pass_rand</center><br>");
}
}
?>
ลองดูนะครับ
Date :
18 เม.ย. 2551 11:08:17
By :
หนุมคุง
ลองแล้ว มี msgbox ในส่วนทีสอง ที่ต้องการแล้ว แต่ว่าส่วนที่สามกับ error อ่ะค่ะ
Date :
18 เม.ย. 2551 11:16:50
By :
asahichirokano
Load balance : Server 03