04-05-2011, 12:23
|
|
|
חבר מתאריך: 01.08.08
הודעות: 2
|
|
לומד php צריך עזרה קטנה בעבודה עם מסד נתונים
אהלן
אני לומד כרגע איך ליצור form של הרשמה לאתר, ואחרי זה לאמת את הנתונים מול המסד נתונים.
יש לי 4 טפסי php
1- userLogin.html = בתוכו יש action ששולח את הנתונים לדף הבא:
2- phpdatainsert.php = בדף הבא יש קוד php שמקבל את הנתונים מטופס ההרשמה, ושולח אותם לטבלה במסד הנתונים ל2 שורות 1- username ו2- password. עד כאן הכל עובד כמו שצריך, השם משתמש והסיסמא של המשתמש מועברים למסד הנתונים.
חלק 3 -- Userconnect.html- לאחר ההרשמה ניתן לעבור לדף ההתחברות שגם הוא form של html שמכניסים בו את השם משתמש והסיסמא ולאחר מכן זה נשלח לדף userconnect.php שבו מתאמתים הנתונים מול מסד הנתונים, אם הנתונים מתאימים אז מקבלים הודעת welcom ואם הם שגויים אז מקבלים error.
עכשיו הבעיה היא כזאת, כדי לאמת את הנתונים השתמשי בקוד php הנ"ל:
|הקוד|
mysql_select_db("user",$con);
$result=mysql_query("select * from user");
while($row=mysql_fetch_array($result))
{
if($row["username"]==$f_usr && $row["password"]==$f_pswd)
echo"Welcome";
else
echo"error";
|סקוד|
והבעיה שנוצרה היא כזאת, אם יש רק משתמש אחד במסד הנתונים אז הכל עובד סבבה, זה רושם welcome או error, אבל אם יש נאמר 5 משתמשים במסד הנתונים, אז זה בודק כל משתמש ורושם אם זה error או welcome.
לדוגמא יש לי 5 משתמשים, בשמות שונים, ואני מתחבר דרך משתמש מסויים, אז אני מקבל הודעה כזאת :
welcome error error error error
זה מאמת את המשמש הראשון אבל אומר לי שכל השאר שגויים, ואני לא צריך שהוא יבדוק את כולם אלא רק את המשתמש שמתחבר.
מקווה שהשאלה מובנת, אם אתם צריכים את כל טפסי הקוד אז תגידו לי ואני העלה אותם.
תודה רבה לכם.
הנה הדף של אימות הנתונים במלואו
|הקוד|
<?php
$f_usr= $_POST["userid"];
$f_pswd= $_POST["password"];
$con=mysql_connect("localhost","root","");
if(! $con)
{
die('Connection Failed'.mysql_error());
}
mysql_select_db("roseindia",$con);
$result=mysql_query("select * from user");
while($row=mysql_fetch_array($result))
{
if($row["username"]==$f_usr && $row["password"]==$f_pswd)
echo"Welcome";
else
echo"error";
}
?>
|סקוד|
|