הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 23-08-08, 13:54   # 1
Penetration
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2007
הודעות: 98

Penetration לא מחובר  

[PHP] עזרה בMYSQL

PHP קוד:
<form action="mysql.php" name="post" method="post">
name:<input type="text" name="name" />
age:<input type="text" name="age" />
<input type="submit" name="submit" value="שלח!" />
<?php
$name
=$_POST['name'];
$age=$_POST['age'];
$submit=$_POST['submit'];
if (
$submit!="") {
$link mysql_connect("localhost","db_username","pass") or die(mysql_error());
mysql_select_db("db_name"$link) or die(mysql_error());
$query "INSERT INTO info (name , age) VALUES  ($name , $age)";
$result mysql_query($query $link);
mysql_close();
}
?>

לא יודע למה זה לא מצליח לי... (אני חדש בPHP אז זאת בטח טעות גדולה חחח...)
זה אמור בעיקרון להוסיף לתוך הטבלא את השם והגיל שהוזנו...
  Reply With Quote
ישן 23-08-08, 14:29   # 2
mayden
Авторитет
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
הודעות: 2,556

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)"
בהצלחה!
__________________

ציטוט:
" זוכרים בשביל ללמוד, יודעים בשביל ללמד, מבינים בשביל לתכנת.."
  Reply With Quote
ישן 23-08-08, 14:40   # 3
Penetration
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2007
הודעות: 98

Penetration לא מחובר  

ציטוט:
נכתב במקור על ידי 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)"
בהצלחה!
אחלה תודה רבה!
  Reply With Quote
ישן 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
ישן 24-08-08, 11:53   # 5
Penetration
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2007
הודעות: 98

Penetration לא מחובר  

טוב מסתבר שכל מה שהייתי צריך לעשות זה להוסיף גרש:
PHP קוד:
$query "INSERT INTO info (name , age) VALUES  ($name , $age)"
להפוך ל:
PHP קוד:
$query "INSERT INTO info (name , age) VALUES  ('$name' , '$age')"
זה ממש מבאס ישבתי על החרא הזה 5 שעות...
אין איזה תוכנה או משהו שאומרת לך ברגע כתיבת הקוד שמשהו בו לא תקין?..
ודניאל תתחבר כבר למסן אני חייב עזרה שלך בקידוד חחחח...
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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