![]() |
[PHP] מערכת התחברות
או קי אני עשיתי במסד 3 תאים
username password level עשיתי שיש 3 רמות מנהל זה לבל 4 רסלייר זה לבל 3 משתמש זה לבל 2 עכשיו לכל אחד שמתי משתמש בניפרד ושמתי לפי הסדר הלבל הבא: 2 3 4 כלומר הסדר שכתוב במסד זה המשתמש ראשון והמנהל אחרון.. עשיתי הוצאת נתון מהמסד בצור ההבאה: PHP קוד:
לא יודע למה |
אתה רוצה שכל המשתמשים יוכלו להיכנס?
|
ואיך הקוד שהבאת מתקשר להתחברות כמנהל/ריסיילר/משתמש?
דבר ראשון אני לא הבנתי למה אתה צריך while אם זה להתחברות, אז אתה צריך רק שורה אחת בשביל לאמת נתונים. בכלליות אני יסביר לך איך אמור לעבוד ההתחברות. נשלח טופס עם שם משתמש וסיסמא, אתה מריץ שאילתה בusers שלוקחת את הpassword של אותו משתמש. אם הpassword שהוקש בטופס שווה למה שהוצאת מהשאילתה - אתה מציב 2 עוגיות: 1. username 2. password בכל מה שנוגע לpassword תשתמש בהצפנת md5, ובכלליות, בדף של הפאנל ניהול למשל.. אתה עושה שני מבני בקרה if PHP קוד:
|
לא שאלת אותי את זה כשהתחברת, עכשיו הבנתי מה אתה עושה :\
חחחחחחח סבבה בהצלחה ^^ |
אז אולי תתחבר חח??
ואני כן רוצה שכל המשתמשים יוכלו להתחבר אבל כסוג שונה של חשבון.... ואני לא רוצה לשנות את כל המערכת אלה רק את הקטע של הלקיחת נתון מהמסד והפיכתו למשתנה... כי אחרי זה אני פשוט משווה בין המשתנים |
ציטוט:
MD5 אפשר לפרוץ בדיי קלות עם הכלים המתאימים, לאבטחה מוגברת רצוי להשתמש במחרוזת נוספת המשתנה ממשתמש למשתמש ולעשות משהו בסגנון של md5(userpassword.key) יש הרבה אפשרויות לאבטחה אבל MD5 לבד לא מספיק |
אפשר לחזור לנושא?
|
PHP קוד:
mysql_num_rows ואם כן אז המשתמש קיים |
אני לא רוצה לשנות אני עשיתי קובץ בשם GLOBALS שמה הוא ממיר נתון ממסד למשנה ובPHP הוא משווה בינהם אני לא רוצה לשנות עכשיו הכל ... רק את קובץ GLOBALS
|
ציטוט:
ואם אתה כבר מדבר, בוא נראה אם יש לך משהו מאחורי הדברים, תתן לי את הערך הלא מוצפן של הערך הזה: קוד:
2924a4686bd638be54deadfec7e5a27d ציטוט:
ככה אתה לא יודע אם אין כזה משתמש או שפשוט הסיסמא לא נכונה. כמו שאמרתי הוא צריך להוציא את הpassword מusers איפה שהמשתמש שווה למה שהוא כתב בטופס. ואז לבדוק עם mysql_num_rows אם הוא הוא מצא משו', אם לא סימן שהמשתמש לא קיים. במידה וכן הוא מצפין את מה שהלקוח כתב בשדה של הסיסמא ומשווה אותו למה שהוא מצא מהשאילתה שהוא הריץ. במידה וזה נכון הוא מציב עוגיות - מחובר. וזאת השיטה הכי נכונה, סמוך עליי כבר בניתי כמה מערכות עם התחברות וחלקם גם יותר מתוחכמות מהתחברות כזאת פשוטה, אני לא בא להתלהב אני רק אומר שאני יודע מה שאני אומר... |
אני עשיתי ככה בעבר
PHP קוד:
|
עשית רק אם הרמה שלו 2 הוא יצליח להתחבר תוריד את החלק הזה.
|
אתה לא הבנת אותי למעלה בשאילתה כתוב AND LEVEL=2 ואז עשיתי אם השאילתה = TRUE=1
|
אפשר בבקשה לשאול מה מחזירה שאילתה SELECT במידה והיא לא מוצאת כלום ?
אני מחפש תשובה לזה דיי הרבה זמן כבר. =\ |
אני באמת לא מבין למה כולכם מתעקשים ללמוד דברים מסובכים לפני שאתם לומדים נורמלי, את הבסיס לאט לאט ומובן.
בשביל לעשות השוואה, בIF למשל... משתמשים ב== שאתה משתמש ב= אחד הוא מציב את המשתנה לערך שניסת להשוואות לו. עכשיו ofek_golan אני באמת לא מבין... אני סתם מציע לך פה עזרה? תעשה כזאת שאילתה...(אני מבין שאתה רוצה שיעשו בשבילך את העבודה אז הינה...) PHP קוד:
|
למה עשית SELECT רק של לבל ופאססוורד?
עריכה עכשיו שמתי לב שרשמתי שווה אחר בIF אבל אצלי רמשתי 2 לא עשיתי העתק הדבק אלה רק מהראש ושחכתי קורה |
למה לא לעשות ישר
ציטוט:
ואז לא צריך לעשות סתם תנאי וישר mysql num rows |
דבר ראשון לשאלתך אופק,
אתה עושה את ההתחברות ובדיקת הסיסמא וקביעת הרמה לפי השם משתמש שהוא כתב בטופס, לכן יש לך כבר את השם משתמש, אתה רק צריך את הסיסמא שמיוחסת לו והרמה שמיוחסת לו. ציטוט:
וגם אתה צריך לעשות בטופס שיהיה למשל SELECT BOX שיבחרו באיזה רמה המשתמש וזה טיפשי. סתכל בDA, אתה לא בוחר רמה הוא מזהה באיזה רמה אתה ומחבר אותך לרמה העליונה ביותר שמורשה למשתמש שלך. |
יש לי את שם המשתמש אבל אני רוצה גם לבדוק אם הוא קיים...
למרות שהבנתי שזה לא חייב אבל אני צריך |
טוב זה מוגזם, הביאו לך מספיק קודים שתוכל לבנות את השאילתא ואת המשך הקוד שלך לבד.
נעול. |
כל הזמנים הם GMT +2. הזמן כעת הוא 09:58. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ