הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   הבחנה בין אותיות (https://hosts.co.il/forums/showthread.php?t=19161)

meshuga 06-04-06 10:55

ציטוט:

נכתב במקור על ידי somebody
אז למה אתה לא שם את שניהם בפונקציה של הקטנת האותיות?

ודרך אגב, הדבר שאתה בודק בה ממש לא יעילה.

אל תדאג, כשיהיה לו 100 משתמשים הוא כבר יבין שמשהו לא בסדר ;)..
אממ..עדיף לך לעשות שאילתא של חיפוש השם משתמש...ואז לעשות אם הוא לא קיים וכו'...ואז להשוות סיסמה במקרה והוא קיים.....כנס לguidemaster.co.il יש שם מדריך התחברות נורמאלי.

somebody 06-04-06 11:00

ציטוט:

נכתב במקור על ידי meshuga
אל תדאג, כשיהיה לו 100 משתמשים הוא כבר יבין שמשהו לא בסדר ;)..
אממ..עדיף לך לעשות שאילתא של חיפוש השם משתמש...ואז לעשות אם הוא לא קיים וכו'...ואז להשוות סיסמה במקרה והוא קיים.....כנס לguidemaster.co.il יש שם מדריך התחברות נורמאלי.

או יותר קל לעשות בשאילתה אחת אם השם משתמש וגם הסיסמא קיימים אז..:)
זאת אומרת:
select....... wher username= and password=

ואם זה מחזיר TRUE זאת אומרת ששניהם קיימים באותה השורה אז לחבר אותו

meshuga 06-04-06 11:05

ציטוט:

נכתב במקור על ידי somebody
או יותר קל לעשות בשאילתה אחת אם השם משתמש וגם הסיסמא קיימים אז..:)
זאת אומרת:
select....... wher username= and password=

ואם זה מחזיר TRUE זאת אומרת ששניהם קיימים באותה השורה אז לחבר אותו

גם אפשרי, לי יותר נוח לתת שגיאה של "משתמש לא קיים" ואז "סיסמה לא נכונה" מאשר "משתמש/סיסמה לא נכונים"...בכל מקרה...2 השיטות יותר חסכוניות משלו זה בטוח.

somebody 06-04-06 11:12

ציטוט:

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

חחח תאר לך 4 אלף משתמשים בכזה פורום שמשתמש בכזאת שאילתת התחברות.
חחחח שעתיים הם יחכו עד שזה ימצא אותם, ויעיפו אותו מהשרת בגלל שהשאילתת הזאת תוכל ת'אימא של המעבד או הזיכרון אחד מהם..

amirs_5 07-04-06 19:38

אז מה אפשר לעשות לא הבנתי ..
מה אני לא אמור לרוץ בלולאת while על כל הטבלה ?..

meshuga 07-04-06 19:41

ציטוט:

נכתב במקור על ידי amirs_5
אז מה אפשר לעשות לא הבנתי ..
מה אני לא אמור לרוץ בלולאת while על כל הטבלה ?..

לא

somebody 07-04-06 22:06

תעשה ככה:
sql="selete ......... where username='"&username&"' and password='"&password&"'
...
if(.eof)
...

אין לי מושג איך כותבים את זה ב PHP, תבדוק אם השם משתמש והסיסמא קיימים ע"י SQL, אם זה קיים אז תתחבר, אם לא תחזיר שגיאה.
לא יודע איך לכתוב לך את זה ב PHP אבל כתבתי את העיקרון.

Eye-Soft 08-04-06 12:24

PHP קוד:

Select.....Where LOWER(users.username)='PHP FUNCTION FOR LOWER(The User Name The User Sent)' And users.password='password sent by the user'

תהנה

LosNir 08-04-06 16:25

ציטוט:

נכתב במקור על ידי Eye-Soft
PHP קוד:

Select.....Where LOWER(users.username)='PHP FUNCTION FOR LOWER(The User Name The User Sent)' And users.password='password sent by the user'

תהנה

לפי מה שהבנתי זה פשוט יהפוך את זה לאותיות קטנות...
אבל זה לא טוב!
אתם נדבקת לדוגמה שהוא נתן, אז זה יעבוד רק עם משתמשים שרשומים באותיות קטנות אבל הם רשמו באותיות גדולות... אב אם זה ההפך? זה רר ידפוק עוד יותר..
הקטע כאן זה להתאים את האותיות של המשתמש שהוא הזין לאותיות המקוריות..
אבל אין פונקציה כזאת לפי מה שידוע לי... אז צריך למצוא פונקציה כמו WHERE שהיא לא case_sentesiv ולדעתי LIKE יעזור כאן.

eLad 08-04-06 16:38

ציטוט:

נכתב במקור על ידי LosNir
לפי מה שהבנתי זה פשוט יהפוך את זה לאותיות קטנות...
אבל זה לא טוב!
אתם נדבקת לדוגמה שהוא נתן, אז זה יעבוד רק עם משתמשים שרשומים באותיות קטנות אבל הם רשמו באותיות גדולות... אב אם זה ההפך? זה רר ידפוק עוד יותר..
הקטע כאן זה להתאים את האותיות של המשתמש שהוא הזין לאותיות המקוריות..
אבל אין פונקציה כזאת לפי מה שידוע לי... אז צריך למצוא פונקציה כמו WHERE שהיא לא case_sentesiv ולדעתי LIKE יעזור כאן.

יש לך מערכת עם CS, אז הפתרון היחידי הוא כמו שהציעו למעלה:
להמיר את זה לאותיות קטנות ואז להשוות. אין פתרון אחר.


כל הזמנים הם GMT +2. הזמן כעת הוא 02:42.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ