|
|
|
ถามปัญหาการใช้ eregi ในการตรวจสอบ username หรือ password ครับ |
|
|
|
|
|
|
|
อธิบายทีละตัวหล่ะกันน่ะครับ
1. if(!eregi("[a-zA-Z0-9]{4,10}",$username)) เครื่องหมาย ! หมายถึง not(ไม่เป็นจริง) ครับ
ดังนั้น if(!eregi("[a-zA-Z0-9]{4,10}",$username)) หมายถึง ถ้า $username ไม่ใช่ a-z หรือ A-Z หรือ 0-9 และมีจำนวนไม่อยู่ระหว่าง 4-10 ตัวอักเลขหรืออักษร ให้แสดง Incorrect (ไม่ถูกต้อง) ครับ
หรือเขียนแบบก็ได้ ความหมายเดียวกัน
Code (PHP)
$username = 'abcd_abcd';
if(eregi("^[a-zA-Z0-9]{4,10}$",$username)){ // เอา not(!) ออก
echo "Username is correct";
}
else{
echo "Incorrect Username";
}
2. ใส่แบบนี้ก็ว่าถูกครับ "abcd_abcd" ทั้งๆที่มี _ อยู่ ผมเลยงง
ที่มันถูกเพราะ คุณใช้ eregi ยังไม่ถูกตามหลัก(ต่อยอดจาก code ผมได้เลย)
** ถ้าใช้ eregi ใน php 5.3 น่าจะมี warning น่ะครับ
|
ประวัติการแก้ไข 2013-02-25 09:07:52
|
|
|
|
Date :
2013-02-25 09:06:09 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|