15-11-2005, 14:54
|
|
|
|
חבר מתאריך: 02.10.05
הודעות: 2,355
|
|
סקריפט הרשמה
כמה הסקריפט יעיל?
הנה הקוד:
registar_form.html
קוד PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title>Untitled</title> </head>
<body> <center> <form action="registar.php" enctype="application/x-www-form-urlencoded" method="post"> <font size="3">שם פרטי</font><br /> <input type="text" name="stname" style='direction:rtl;' /><br /> <font size="3">שם משפחה</font><br /> <input type="text" name="lastname" style='direction:rtl;' /><br /> <input type="text" name="year" maxlength="4" size="2" value="שנה" style='direction:rtl;' /> <input type="text" name="month" maxlength="4" size="2"value="חודש" style='direction:rtl;' /> <input type="text" name="day" maxlength="3" size="1" value="יום" style='direction:rtl;' /><br /> <font size="3">חתימה</font><br /> <textarea cols="35" rows="8" name="signtrue" style='direction:rtl;'></textarea> <font size="3" color="red">שם משתמש</font><br /> <input type="text" name="claint" style='direction:rtl;' /><br /> <font size="3" color="red">סיסמא</font><br /> <input type="password" name="pass" style='direction:rtl;' /><br /> <font size="3" color="red">וידוא סיסמא</font><br /> <input type="password" name="repass" style='direction:rtl;' /><br /> <font size="3" color="red">דוא"ל</font><br /> <input type="text" name="email" style='direction:rtl;' /><br /> <font size="3" color="red">שאלה סודית</font><br /> <input type="text" name="qsecret" size="40" style='direction:rtl;' /><br /> <font size="3" color="red">תשובה סודית</font><br /> <input type="text" name="asecret" size="40" style='direction:rtl;' /><br />
<font size="2" color="red">כל השדות עם הכותרים האדומים<br /> הם שדות חובה</font><br /> <input type="submit" value="הירשם" id="sumbit" /> <input type="reset" value="מחק הכל" id="reset" /> <br /> </form> </center>
</body> </html>
registar.php
קוד PHP:
<?php //------------------------------------------------------------------------------ //this program is programed by nadav tenendaum //version 1.00 beta //------------------------------------------------------------------------------ //check all the inputs if empty //------------------------------------------------------------------------------ $err_msg="0"; function my_err() { global $err_msg; if ($err_msg != "1") { $err_msg="1"; echo "Error: \n <br />"; } return "1"; } if (!isset($_POST['claint'])) { $faild="1"; $err_msg="1"; echo "Error: \n <br />"; echo "claint is emptay \n <br />"; } if (!isset($_POST['pass'])) { $faild="1"; my_err(); echo "the password is empty \n <br />"; } if (!isset($_POST['repass'])) { $faild="1"; my_err(); echo "the repassword is empty \n <br />"; } if (!isset($_POST['email'])) { $faild="1"; my_err(); echo "the email is empty \n <br />"; } if (!isset($_POST['qsecret'])) { $faild="1"; my_err(); echo "the secret question is empty \n <br />"; } if (!isset($_POST['asecret'])) { $faild="1"; my_err(); echo "the secret answer is empty \n <br />"; } if ($_POST['pass'] != $_POST['repass']) { my_err(); $faild="1"; echo "the password and the repassword are not the same \n <br />"; } $pass_len=strlen($_POST['pass']); $repass_len=strlen($_POST['repass']); $signtrue_len=strlen($_POST['signtrue']); if ($pass_len >= 9 or $pass_len <= 4 and $repass_len >= 9 or $repass_len <=4) { my_err(); $faild="1"; echo "the password and repassword are bigger then 9 or smaller then 4"; } if ($signtrue_len >= 400) { my_err(); $faild="1"; echo "the sgintrue is too long"; } if ($faild=="1") { exit; } echo "if all work fine"; //------------------------------------------------------------------------------ //select database //------------------------------------------------------------------------------ $link=mysql_connect('localhost','root','******') or die("Eror!"); mysql_query('SET NAMES "utf8"') or die("can not set utf 8 encoding"); mysql_select_db('agzoz',$link) or die("can not select database"); //------------------------------------------------------------------------------ //rename vars //------------------------------------------------------------------------------ $claint=mysql_escape_string($_POST['claint']); $pass=SHA1($_POST['pass']); $email=mysql_escape_string($_POST['email']); $qsecret=mysql_escape_string($_POST['qsecret']); $asecret=SHA1($_POST['asecret']); $stname=mysql_escape_string($_POST['stname']); $lastname=mysql_escape_string($_POST['lastname']); $my_year=mysql_escape_string($_POST['year']); $my_month=mysql_escape_string($_POST['month']); $my_day=mysql_escape_string($_POST['day']); $signtrue=mysql_escape_string($_POST['signtrue']); $status=SHA1("user"); //------------------------------------------------------------------------------ //start query //------------------------------------------------------------------------------ $reg=mysql_query("INSERT into `claints` ( claint, pass, email, qsecret, asecret, stname, lastname, my_year, my_month, my_day, signtrue, status )values ('$claint', '$pass', '$email', '$qsecret', '$asecret', '$stname', '$lastname', '$my_year', '$my_month', '$my_day', '$signtrue', '$status')") or DIE(mysql_error()); $unreg=mysql_query("SELECT * FROM `claints` WHARE `claint`='$claint' OR `pass`='$pass'"); if (mysql_num_rows($unreg)) { my_err(); echo "the password or the claint are allredy in the databse"; $faild="1"; } if (!$reg) { mysql_close($link); die ("can not insert to mysql"); } else { if ($faild=="1") { mysql_close($link); exit; } echo "insert finish seccesfully"; } mysql_close($link); ?>
איך זה?
עובד 100%
|