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

הוסטס - פורום אחסון האתרים הגדול בישראל (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)

amirs_5 08-04-06 18:56

ציטוט:

נכתב במקור על ידי somebody
PHP קוד:

$q mysql_query("SELECT * FROM members WHERE LOWER(username)='LOWER($name)' AND password='$pass'"); 

אתה לא יודע SQL?

אני יודע SQL, אבל אני לא מכיר את כל הפונקציות האלה כגון LOWER בחיים לא יצא לי להתעסק איתם ,
אז אני לא יודע איך לכתוב את זה בגלל זה ניסיתי בדרך אחרת

eLad 08-04-06 18:57

ציטוט:

נכתב במקור על ידי somebody
אבל הדרך של ממש אבל ממש אבל ממש לא יעילה!
אמרו לך את זה כבר 3323 פעמים ואתה הולך עם הראש בקיר!
אז תלך עם הראש בקיר ואל תתפלא שהאתר שלך בשלב מוקדם לא יזוז, ויעיפו אותך מהאחסון.

השיטה שלו אומנם לא יעילה אבל לא יזרקו אותו מהאיחסון.

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

amirs_5 08-04-06 19:05

somebody לא שמתי לב שנתת לי קוד חשבתי שציטט..
אז הנה מה שנתת לי ..
קוד:

$q = mysql_query("SELECT * FROM members WHERE LOWER(username)='LOWER($name)' AND password='$pass'");
אתה יכול להסיבר לי את הקטע הזה ?:
קוד:

LOWER(username)='LOWER($name)'
לדוגמא המשתנה $name
הוא HosTs
אז הוא הופך אותו ל hosts ?...
אוקיי את זה הבנתי.. אבל שהוא יבצע יתחבר יהיה כתוב לו מחובר כ hosts במקום כ Hosts..
הוא ישמור בקוקיז hosts ולא Hosts

LosNir 08-04-06 19:08

ציטוט:

נכתב במקור על ידי amirs_5
somebody לא שמתי לב שנתת לי קוד חשבתי שציטט..
אז הנה מה שנתת לי ..
קוד:

$q = mysql_query("SELECT * FROM members WHERE LOWER(username)='LOWER($name)' AND password='$pass'");
אתה יכול להסיבר לי את הקטע הזה ?:
קוד:

LOWER(username)='LOWER($name)'
לדוגמא המשתנה $name
הוא HosTs
אז הוא הופך אותו ל hosts ?...
אוקיי את זה הבנתי.. אבל שהוא יבצע יתחבר יהיה כתוב לו מחובר כ hosts במקום כ Hosts..
הוא ישמור בקוקיז hosts ולא Hosts

נו אז אל תציג בתוך המשתנה של מחובר כ: $name
את מה שהוא הקיש אלא תשלוף את המשתמש שהשוותה מהמסד ואז תציב לתוך הערך $name

amirs_5 08-04-06 19:09

ציטוט:

נכתב במקור על ידי LosNir
נו אז אל תציג בתוך המשתנה של מחובר כ: $name
את מה שהוא הקיש אלא תשלוף את המשתמש שהשוותה מהמסד ואז תציב לתוך הערך $name

לא בסדר הסתדרתי .. במקום לשמור את השם משתמש בקוקיז אני שומר את ה ID יותר מאובטח ויוצא טוב..

עריכה :
אבל יש לי בעיה אחרת שקשורה ..
רשמתי ככה:
קוד:

$q = mysql_query("SELECT * FROM members WHERE LOWER(name)='LOWER($name)' AND password='$pass'");
$a = mysql_fetch_array($q);
echo $a['name'];

דף לבן תמיד..למה ?

amirs_5 08-04-06 20:42

סליחה על הדאבל , פשוט נעלם לא כפתור העריכה .. לא יודע למה מוזרר..
טוב עשיתי ניסוי כזה=] תראו מה רשמתי..

PHP קוד:

$name $_POST["name"]; 
$pass md5($_POST["pass"]); 
$q mysql_query("SELECT * FROM members WHERE LOWER(name)='LOWER($name)' AND password='$pass'"); 
$a mysql_fetch_array($q);
echo 
$a[id];
$in mysql_query("SELECT * FROM members WHERE name='$name' AND password='$pass'"); 
$info mysql_fetch_array($in);
echo 
$info[email]; 

אוקיי זה מה שעשיתי ..
ותנחשו מה היה הפלט ?
האימייל של אותו משתמש בלבד..
מכאן נובע = >> השורה :
PHP קוד:

$q mysql_query("SELECT * FROM members WHERE LOWER(name)='LOWER($name)' AND password='$pass'"); 

לא טובה :(...
אני לא יודע להתעסק עם פונקציות ב SQL .. כמו LOWER..
אז אשמח אם מישהו יוכל לתקן לי אותה..

ohadamar 09-04-06 23:48

ציטוט:

נכתב במקור על ידי LosNir
כנראה שלא הבנתם...
הפונקציה הזאת תהפוך את האות הראשונה לאות גדולה!
למשל,
לפני hello
אחרי Hello
ומה שהוא הביא היה רק דוגמה!
ככה שאם המשתמש הוא losnIr
אז זה יהפוך ל LosnIr
אז זה לא יעבוד...
אין פונקציה כזאת, אבל אתה יכול לנסות בשאילתא שמחפשת את המשתמש להוסיף אליה LIKE = ..

כנראה שגם אתה לא הבנת...

(יש לו עכשיו משתמש OHAD ועכשיו שהוא רושם ohad זה לא נותן לא, למשל שימו לב בפורום פה
תתחבר עם איזה אותיות שבא לך כאילו OhAd למשל.. וכד)

בקצרה המשתמש שהוא הגדיר זה OHAD למשל, הוא רוצה שבמידה והוא ירשום ohad באותיות קטנות זה יתחבר לו למשתמש OHAD באותיות הגדולות

somebody 10-04-06 00:10

ציטוט:

נכתב במקור על ידי eLad
השיטה שלו אומנם לא יעילה אבל לא יזרקו אותו מהאיחסון.

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

אה חח וואלה לא ראיתי שהוא עשה שווה.
חשבתי הוא עושה WHILE עד הוא מוצא שם משתמש ששווה לשם שהתקבל.

Eye-Soft 10-04-06 01:13

אמיר, הקוד שלך לא יעבוד מהסיבה הפשוטה. אתה לא יודע PHP וSQL :\
תבצע על המשתנה $name פונקציה בPHP אשר הופכת את האותיות לקטנות. לא, זה לא LOWER. נתנו לך קוד ברמת העיקרון, אתה צריך משם להבין קצת לבד, קצת לחשוב מחוץ לקופסא...

amirs_5 10-04-06 13:23

אני יודע PHP , רק אסקיואל ברמה נמוכה ..=]
ולא מצאתי פונקציה כזאתי במנואל..
יש לי עוד שאלה שמיהו ציטט ב SQL ,
מה עושה LIKE= ?


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

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