פיתוח מערכת כניסה עם PHP ו- MySQL

שתף פוסט זה

שיתוף ב facebook
שיתוף ב linkedin
שיתוף ב twitter
שיתוף ב email
0
(0)

רוב האתרים האינטראקטיביים בימינו ידרשו ממשתמש להתחבר למערכת האתר על מנת לספק חוויה מותאמת אישית למשתמש. לאחר שהמשתמש יכנס, האתר יוכל לספק מצגת המותאמת להעדפות המשתמש.

מערכת כניסה בסיסית מכילה בדרך כלל 3 רכיבים:

1. הרכיב המאפשר למשתמש לרשום את מזהה הכניסה והסיסמה המועדפים עליו

2. הרכיב המאפשר למערכת לאמת ולאמת את המשתמש כאשר הוא נכנס לאחר מכן

3. הרכיב ששולח את סיסמת המשתמש לכתובת הדוא"ל הרשומה שלו אם המשתמש שוכח את סיסמתו

ניתן ליצור מערכת כזו בקלות באמצעות PHP ו- MySQL.

====================================================== ===============

רכיב 1 – רישום

רכיב 1 מיושם בדרך כלל באמצעות טופס HTML פשוט המכיל 3 שדות ו -2 כפתורים:

1. שדה מזהה כניסה מועדף

2. שדה סיסמא מועדף

3. שדה כתובת דוא"ל תקף

4. כפתור הגש

5. כפתור איפוס

נניח שטופס כזה מקודד לקובץ בשם register.html. הקטע הבא של קוד HTML הוא דוגמה טיפוסית. כאשר המשתמש מילא את כל השדות, נקרא לדף register.php כאשר המשתמש לוחץ על כפתור ההגשה.

[form name="register" method="post" action="register.php"]

[input name="login id" type="text" value="loginid" size="20"/][br]

[input name="password" type="text" value="password" size="20"/][br]

[input name="email" type="text" value="email" size="50"/][br]

[input type="submit" name="submit" value="submit"/]

[input type="reset" name="reset" value="reset"/]
[/form]

ניתן להשתמש בקטע הקוד הבא כחלק מ- register.php לעיבוד הרישום. הוא מתחבר למסד הנתונים של MySQL ומכניס שורה של נתונים לטבלה המשמשת לאחסון פרטי הרישום.

@mysql_connect ("localhost", "mysql_login", "mysql_pwd") או מת ("לא יכול להתחבר ל- DB!");
@mysql_select_db ("tbl_login") או מת ("לא יכול לבחור DB!");
$ sql = "INSERT INTO login_tbl (loginid, password and email) VALUES (". $ loginid. ",". $ password. ",". $ email. ")";
$ r = mysql_query ($ sql);
אם (! $ r) {

$ err = mysql_error ();

הדפס שגיאה $;

יְצִיאָה();
}

קטע הקוד מניח כי טבלת MySQL המשמשת לאחסון נתוני הרישום נקראת tbl_login ומכילה 3 שדות – שדות ההתחברות, הסיסמה והדואר האלקטרוני. הערכים של המשתנים $ loginid, $ password ו- $ email מועברים מהטופס ב- register.html בשיטת הפרסום.

====================================================== ===============

רכיב 2 – אימות ואימות

משתמש רשום ירצה להיכנס למערכת כדי לגשת לפונקציונליות שמספק האתר. המשתמש יצטרך לספק את מזהה הכניסה והסיסמה שלו למערכת כדי לאמת ולאמת.

זה נעשה בדרך כלל באמצעות טופס HTML פשוט. טופס HTML זה מכיל בדרך כלל שני שדות ו -2 לחצנים:

1. שדה מזהה התחברות

2. שדה סיסמא

3. כפתור הגש

4. כפתור איפוס

נניח כי טופס כזה מקודד לקובץ בשם authenticate.html. הקטע הבא של קוד ה- HTML הוא דוגמה טיפוסית. כאשר המשתמש מילא את כל השדות, נקרא לדף authenticate.php כאשר המשתמש לוחץ על כפתור ההגשה.

[form name="authenticate" method="post" action="authenticate.php"]

[input name="login id" type="text" value="loginid" size="20"/][br]

[input name="password" type="text" value="password" size="20"/][br]

[input type="submit" name="submit" value="submit"/]

[input type="reset" name="reset" value="reset"/]
[/form]

ניתן להשתמש בקטע הקוד הבא כחלק מ- authenticate.php לעיבוד בקשת הכניסה. הוא מתחבר למסד הנתונים MySQL ושואל את הטבלה המשמשת לאחסון פרטי הרישום.

@mysql_connect ("localhost", "mysql_login", "mysql_pwd") או מת ("לא יכול להתחבר ל- DB!");
@mysql_select_db ("tbl_login") או מת ("לא יכול לבחור DB!");
$ sql = "בחר loginid FROM login_tbl WHERE loginid = '". $ loginid. "' and password = '". $ password. "'";
$ r = mysql_query ($ sql);
אם (! $ r) {

$ err = mysql_error ();

הדפס $ err;

יְצִיאָה();
}
אם (mysql_affected_rows () == 0) {

הדפס "אין כניסה כזו במערכת. אנא נסה שוב.";

יְצִיאָה();
}
אַחֵר{

הדפס "נכנס למערכת בהצלחה.";

// להמשיך לבצע את הפונקציונליות של האתר – למשל להציג מידע למשתמש
}

כמו ברכיב 1, קטע הקוד מניח כי טבלת MySQL המשמשת לאחסון נתוני הרישום נקראת tbl_login ומכילה 3 שדות – שדות ההתחברות, הסיסמה והדואר האלקטרוני. הערכים של המשתנים $ loginid ו- $ password עוברים מהטופס ב authenticate.html בשיטת הפרסום.

====================================================== ===============

רכיב 3 – שכחתי סיסמה

משתמש רשום עשוי לשכוח את סיסמתו כדי להיכנס למערכת האתר. במקרה זה, המשתמש יצטרך לספק את מזהה הכניסה שלו למערכת כדי לאחזר את הסיסמה שלו ולשלוח את הסיסמה לכתובת הדוא"ל הרשומה של המשתמש.

זה נעשה בדרך כלל באמצעות טופס HTML פשוט. טופס HTML זה מכיל בדרך כלל שדה אחד ו -2 כפתורים:

1. שדה מזהה התחברות

2. כפתור הגש

3. כפתור איפוס

נניח כי טופס כזה מקודד לקובץ בשם forgot.html. הקטע הבא של קוד ה- HTML הוא דוגמה טיפוסית. כאשר המשתמש מילא את כל השדות, נקרא לדף forgot.php כאשר המשתמש לוחץ על כפתור ההגשה.

[form name="forgot" method="post" action="forgot.php"]

[input name="login id" type="text" value="loginid" size="20"/][br]

[input type="submit" name="submit" value="submit"/]

[input type="reset" name="reset" value="reset"/]
[/form]

ניתן להשתמש בקטע הקוד הבא כחלק מ forgot.php לעיבוד בקשת הכניסה. הוא מתחבר למסד הנתונים MySQL ושואל את הטבלה המשמשת לאחסון פרטי הרישום.

@mysql_connect ("localhost", "mysql_login", "mysql_pwd") או מת ("לא יכול להתחבר ל- DB!");
@mysql_select_db ("tbl_login") או מת ("לא יכול לבחור DB!");
$ sql = "בחר סיסמה, דוא"ל מ- login_tbl WHERE loginid = '". $ loginid. "'";
$ r = mysql_query ($ sql);
אם (! $ r) {

$ err = mysql_error ();

הדפס $ err;

יְצִיאָה();
}
אם (mysql_affected_rows () == 0) {

הדפס "אין כניסה כזו במערכת. אנא נסה שוב.";

יְצִיאָה();
}
אחר {

$ row = mysql_fetch_array ($ r);

$ סיסמה = $ שורה["password"];

$ email = $ שורה["email"];

$ subject = "הסיסמה שלך";

$ header = "מאת: [email protected]";

$ content = "הסיסמה שלך". $ password;

דואר ($ email, $ subject, $ row, $ header);

הדפס "הודעת דוא"ל המכילה את הסיסמה נשלחה אליך";

}

כמו ברכיב 1, קטע הקוד מניח כי טבלת MySQL המשמשת לאחסון נתוני הרישום נקראת tbl_login ומכילה 3 שדות – שדות ההתחברות, הסיסמה והדואר האלקטרוני. הערך של המשתנה $ loginid מועבר מהטופס ב- forgot.html בשיטת הפרסום.

====================================================== ===============

סיכום

הדוגמה שלעיל היא להמחיש כיצד ניתן להטמיע מערכת כניסה בסיסית מאוד. ניתן לשפר את הדוגמה כך שתכלול הצפנת סיסמאות ופונקציונליות נוספת – למשל כדי לאפשר למשתמשים לערוך את פרטי הכניסה שלהם.

פורסם על ידי John L
אין לנו אחריות על המידע בפוסט זה

כמה שימושי היה הפוסט?

לחץ על כוכב כדי לדרג אותו!

דירוג ממוצע 0 / 5. ספירת קולות: 0

אין הצבעות עד כה! היה הראשון לדרג את הפוסט הזה.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

הצטרף לדיוור שלנו

קבל ראשון את העדכונים

פוסטים נוספים

כללי

ניסיון טקסט נגלל

5 (2) רב טקסט בוורדפרס מתני' מאימתי קורין את שמע בערבין. משעה שהכהנים נכנסים לאכול בתרומתן עד סוף האשמורה הראשונה דברי ר' אליעזר. וחכמים אומרים

מעצבים עם אלמנטור: תפריט וואן פייג'

5 (1) בסרטון הזה נראה איך לעצב תפריט צד דביק באתר וואן פייג' עם אלמנטור (תוכן זה מוגש כאן מתוך אתר יוטיוב והזכויות שמורות למעלה

16 שינוי צבעי ברירת המחדל של אלמנטור

0 (0) (תוכן זה מוגש כאן מתוך אתר יוטיוב והזכויות שמורות למעלה ההרצאה ליוטיוב) כמה שימושי היה הפוסט? לחץ על כוכב כדי לדרג אותו! שלח

האם אתה רוצה להגביר את העסק שלך?

שמור על קשר

X
wpChatIcon
X

הוסף את שאלתך

האתר בבניה

הכניסה ליוצרים בלבד

כבר רשום?