View Single Post
ישן 23-08-08, 16:49   # 4
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

ציטוט:
נכתב במקור על ידי mayden צפה בהודעה
כמה דברים:
- תשתמש בפונ' isset
http://www.php.net/isset

- אתה צריך לעשות את החלק הבא:
PHP קוד:
$name=$_POST['name']; 
$age=$_POST['age']; 
רק אחרי שהטופס נשלח. כלומר, רק אחרי:
PHP קוד:
if(isset($_POST['submit'])) { 
(מן הסתם לא? )

- לפני שאתה מכניס משהו ולא משנה מה למסד, אתה צריך לבדוק שזה תואם את מה שאתה מחפש. כלומר, אם אתה רוצה שיהיה גיל (ערך מספרי) אתה צריך לבדוק שזה ערך מספרי ולא טקסט. תקרא על הפונקציות הבאות:
http://www.php.net/intval
http://www.php.net/manual/en/function.is-numeric.php
http://www.php.net/function.mysql-real-escape-string (וזה לSQL במיוחד)

ומשהו אחרון, בפקודות SQL להבא על מנת שלא תקבל סתם שגיאות ובסוף לא תידע למה, תעשה `, דוגמא:
PHP קוד:
$query "INSERT INTO info (`name` , `age`) VALUES  ($name , $age)"
בהצלחה!
אני ממש לא תומך בשיטה שלך של "ערך מספרי צריך להכיל רק מספרים"(חוץ מזה שגם השאילתה שנתת לא נכונה, אבל זה סתם היה להדגמה), ב-INSERT זה נכון, אבל צריך לציין - שלדוגמא, ב-SELECT - זה לא תמיד נחוץ. למה אתה עושה את הסינון הזה בדבר שהוא לא INSERT? בשביל העניין, כדי למנוע פריצות. אז מה? אם אפשר להחדיר שם משהו, אפשר להחדיר את זה גם ב-name. משתמשים בזה בדוגמה שציינת - של insert - אבל במקרה של SELECT, אני לא רואה שום סיבה, וחשוב לציין זאת.

יניב, אני רואה שרק התחלת לתכנת - לכן אשמח להצביע לך לכמה דברים.
לא צריכים להשתמש ב-mysql_close() - חוץ במקרים שתעבוד עם יותר ממסד אחד - וזה כבר סיפור אחר. השתמש ב-$link - המשתנה לא נחוץ, אתה יכול גם לוותר עליו
  Reply With Quote