שלום, בעיה עם mysql בקבלת מייל

  • פותח הנושא edodi
  • פורסם בתאריך

edodi

New member
שלום, בעיה עם mysql בקבלת מייל

היי, אני מנסה ליצור רשימת תפוצה באתר שלי. אמורים להכניס שם ומייל. פתחתי ב-mysql טבלה שמכילה שדה : name ושדה : mail ובקובץ PHP אני מנסה את הדבר הבא:
$connection=mysql_connect("localhost","site","password") or die ("Couldn't connect to server"); $db=mysql_select_db("site_data",$connection) or die("Couldn't select database"); $query="INSERT INTO list (name, mail) VALUES($name, $mail)"; $result= mysql_query($query) or die("Query failed: ".mysql_error());​
את $name הגדרתי כ:
$name=$_POST["name"]​
וכנ"ל על $mail אם אני מנסה להכניס מייל אני מקבל את השגיאה הבאה:
Query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@walla.co.il)' at line 1​
ואם אני מנסה להכניס שם טקסט רגיל אני מקבל שגיאה:
Query failed: Unknown column 'yosi' in 'field list'​
ועוד שאלונת? האם יש טעם להעביר פשוט את כל המיילים ישר לקובץ txt. תודה רבה, עידו :]
 

N0

New member
שים את שמות המשתנים מוקפים בגרש

$query="INSERT INTO list (name, mail) VALUES('$name', '$mail')";​
ואני לא יודע אם אתה עושה את זה או לא אבל תריץ גם את המשתנים בmysql_real_escape_string לפני שאתה מכניס אותם לשרת תרגול טוב כדי למנוע בעיות אבטחה הוא לבצע בכל קוד את שני השלבים האלה , למרות שלא תמיד זה מספיק.
 

edodi

New member
תודה, הבעיה נפתרה

איך אני משלב את mysql_real_escape_string בקוד שרשמתי? ואם אני שם את הקבצים בספריית private זה מספיק או שאני צריך להצפין אותם? תודה, עידו :]
 
למעלה