ABA


"מה לא טוב בקוד הבא? (הכנסת נתונים לMySQL)"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #10579 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10579
-DoTaN-

דרג אמינות חבר זה
   20:12   08.07.06   
אל הפורום  
  מה לא טוב בקוד הבא? (הכנסת נתונים לMySQL)  
 
   ערכתי לאחרונה בתאריך 08.07.06 בשעה 20:13 בברכה, -DoTaN-
 
הנה החלקים ה"חשובים" של הדף


<?
$showmail = htmlspecialchars($_POST["showmail"]);
$showmail = stripslashes($_POST["showmail"]);
$showmail = mysql_real_escape_string($showmail);
$showicq = htmlspecialchars($_POST["showicq"]);
$showicq = stripslashes($_POST["showicq"]);
$showicq = mysql_real_escape_string($showicq);
?>

זו השאילתא:


UPDATE `users` SET `age` = '$age',`fav` = '$fav',`password` = '$password',`mail` = '$mail',`icq` = '$icq',`showmail` = '$showmail',`showicq` = '$showicq' where ID=".$_COOKIE["ID"].""

ויש שני checkbox , שנקבעים לפי הrow של אותו חלק:


<?
if($row['showicq'] == 1){
echo "<input id=\"icq2\" checked type=\"checkbox\" name='showicq' value=\"1\">";
}else{
echo "<input id=\"icq\" type=\"checkbox\" name='showicq' value=\"0\">";
}
?>

הבאתי רק אחד כי שניהם נראים אותו דבר)

הבעיה היא שאני יכול לשנות את הpassword mail age וכו', וזה מתעלם לי מהvalue של ה- checkbox


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מכתב MoonHunter 08.07.06 21:04 1
     כנס... -DoTaN- 08.07.06 21:27 2
  לא משנה :) יאיר התותח סידר לי את הבעיה! -DoTaN- 08.07.06 21:48 3
     בבקשה D: FireAngel 08.07.06 21:52 4

       
MoonHunter
חבר מתאריך 1.8.02
680 הודעות, דרג אמינות חבר זה
   21:04   08.07.06   
אל הפורום  
  1. מכתב  
בתגובה להודעה מספר 0
 
   אתה לא ממש מובן.. אבל אני אנסה בכל זאת:


$showmail = htmlspecialchars($_POST);
$showmail = stripslashes($_POST);

מה יצא לך מהשורות האלו?, אתה מכניס למשתנה ערך כלשהו, אחר כך אתה נותן לו ערך אחר?
זה חסר משמעות..
זה בדיוק כמו שתכניס במקום השורות האלו את זה:

$showmail = stripslashes($_POST);

כנ"ל לגבי המקרה:


$showicq = htmlspecialchars($_POST);
$showicq = stripslashes($_POST);
$showicq = mysql_real_escape_string($showicq);

הקטע קוד הזה שווה לזה:

$showicq = stripslashes($_POST);
$showicq = mysql_real_escape_string($showicq);

אני לא רואה סיבה למה שאתה עושה כאן, אתה סתן מוסיף סלשים וכו', תשתמש רק בפונקציה
stripslashes()
בכדי להציג נתונים.

בעניין checkbox שלך, הערך לא אמור לשנות שום דבר, אם אתה רוצה שהתיבה תהיה מסומנת תשמש בזה:


if($row == 1){
echo "<input id=\"icq\" checked type=\"checkbox\" name='showicq' value=\"1\" CHECKED>";
}else{
echo "<input id=\"icq\" type=\"checkbox\" name='showicq' value=\"1\">";
}

וכשאתה עושה post לטופס, תבדוק אם
$_POST = 1
הערך שלו יהיה 1 רק כאשר הוא סומן, כלומר CHECKED, אחרת לא תקבל ערך.

אני מקווה שלזה התכוונת,
בהצלחה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-DoTaN-

דרג אמינות חבר זה
   21:27   08.07.06   
אל הפורום  
  2. כנס...  
בתגובה להודעה מספר 1
 
   ערכתי לאחרונה בתאריך 08.07.06 בשעה 21:29 בברכה, -DoTaN-
 
קודם כל, זה לא ממש משנה אם אני ישתמש רק בstripslashes או בכל ה3, אני רגיל לעשות לכל POST או משהו את זה, אז זה לא כל כך משנה.

דבר שני, שים לב שיש כבר checked ואתה סתם הוספת לי עוד אחד D:

הבעיה היא לא התצוגה של הסימון, אלא שאם אתה מסמן את התיבה, זה לא שולח את הערך "1" לSQL.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-DoTaN-

דרג אמינות חבר זה
   21:48   08.07.06   
אל הפורום  
  3. לא משנה :) יאיר התותח סידר לי את הבעיה!  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
FireAngel

דרג אמינות חבר זה
   21:52   08.07.06   
אל הפורום  
  4. בבקשה D:  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net