امير الغرام مشرف
الجنس : الابراج : عدد المساهمات : 172 نقاط : 51149 تاريخ الميلاد : 07/10/1997 تاريخ التسجيل : 02/06/2010 العمر : 26
| موضوع: حل مشكلة صفحة التسجيل اللى مش بتودى الاكونتات على القاعدة.... لأول مرة. الأحد فبراير 27, 2011 7:44 pm | |
| السبب:- خطأ فى الداتا بيز..... فى قاعدة Account
حد هيجى يقولى انا السورس اللى منزلة من على النا سليم 100/100 و العيب فى الصفحة كالمعتاد ..... هقولو انو فاهم غلط خالص لان كود اضافة الاكونت سابت فى الصفحات و انا هشرحة بالتفصيل دلوقتى و ادى الكود الشرح بالاحمر:-
كود: require_once ('config.php'); ?> Welcome to '.$servername. دة اسم السيرفر ى ما هوا مكتوب فى الكونفيج' Account Registration'; ?>
if(isset($_POST['retpass']) && isset($_POST['id']) && isset($_POST['pass']) && isset($_POST['ownerID'])) { if(!Empty($_POST['retpass']) && !Empty($_POST['id']) && !Empty($_POST['pass']) && !Empty($_POST['ownerID'])) { $ok=false; if ($requireCAPTCHA) { if (PhpCaptcha::Validate($_POST['CheckCode'])) $ok=true; } else $ok=true; if($ok) { mysql_select_db($accdb); $userid = trim($_POST['id']); $password=trim($_POST['pass']); $passretype=trim($_POST['retpass']); $hash=$_POST['hash']; $ownerReply=(isset($_POST['ownerReply']) ? substr(trim($_POST['ownerReply']), 0,16) : ''); $mail=(isset($_POST['email']) ? substr(trim($_POST['email']), 0,16) : ''); $ownerID=substr(trim($_POST['ownerID']), 0,16); if (!Empty($mail)) if (!ereg("^[0-9a-zA-Z]{4,128}$", (strtr($mail, Array('@'=>'','.'=>''))))) { $mail=''; echo 'mail > Only letters a to z and special chars @ . are allowed'; } if(!ereg("^[0-9a-z]{4,12}$",$userid)) { echo 'login > Only letters from "a" to "z" and numbers, lenght of 4 to 12 characters'; } else { if($password == $passretype) { if(!ereg("^[0-9a-zA-Z]{4,22}$",$password)) { echo 'password > Only letters or numbers, lenght of 4 to 22 characters'; } else { $res = mysql_query('SELECT * FROM account WHERE name = "'.$userid.'" ORDER BY id DESC'); if(mysql_num_rows($res) == 0) { //$d=explode ('.', $_SERVER['REMOTE_ADDR']); //for case that IP limits works and u can restrict access from spec. class C IP address range // idnumber = ownerID phone=ownerReply // I doubt phone will be used or someone rly provide his number anyway mysql_query('INSERT INTO account(name,password,pointtime,Mobile,phone,email,netbar_ip,ip_mask) VALUES ("' .$userid.'","'.($passhash ? $hash : $password).'","'.date('Ymd').'", "' .$ownerID.'", "'.$ownerReply.'", "'.$mail.'", "' .$_SERVER['REMOTE_ADDR'].'", "'.'255.255.255.0")'); echo 'Success > Account registered successfully.'; } else echo 'Error > Account Already exists.'; } } else echo 'Error > Passwords did not match.'; } } else echo 'Error > Check Code is Wrong.'; } else echo 'Error > umm why there is empty required areas in register form????'; } ?> و كدة اكون خلصت شرح الكود نخش على الحل...[right]الحل فى 4 خطواط بس و هما:- --------------------------------
1- فتح النافيكات. 2-فتح القاعدة Account 3-مراجعة كل الخانات اللى فى الصفحة موجودة ولا لأ علشان لو واحدة مش موجودة او موجودة بس او موجودة بس ب اسم مختلف انسى ان اى اكونت يتحط. 4-لو فى حاجة مش موجودة تضيفها او تغير اسم اللى موجود و تخلية زى اللى فى الكود بالظبط.
[size=29]و كدة اكون خلصت الشرح[/size]
[/right] | |
|