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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [דחוף - PHP - מסד נתונים] הכנסת נתונים למסד! (https://hosts.co.il/forums/showthread.php?t=21200)

Homie 04-05-06 21:36

[דחוף - PHP - מסד נתונים] הכנסת נתונים למסד!
 
שלום זה אני תומר חבר של אלי.

אני חייב עזרה ממכם אני מנסה להתחבר למסד הנתונים ואז ליצור טבלה ואז להכניס 2 נתונים למסד

1. שם פרטי

2. שם משפחה

אין לי בכלל מושג ב-PHP ניסיתי לעשות קובץ HTML שמכיל 2 שדות טקסט הראשון שמו firstname והשני lastname ואז ה-action של ה-form מעביר לקובץ PHP של הכנסת הנתונים.

הנה הקובץ שאני יצרתי - אין לי מושג ב-PHP לקחתי מאיזה מדריך. אם יש טעויות מצחיקות בבקשה לא להתרגש.

הקוד:
PHP קוד:

<?
$firstname 
$_POST['firstname']; 
$lastname $_POST['lastname']; 

$dbServer "localhost";  //  כתוב את שרת מסד הנתונים
$dbUser "homie_tati";  //  שם המשתמש של מסד הנתונים
$dbPass "tati";  //  סיסמת המשתמש של מסד הנתונים
$dbName "homie_tati";  //  שם מסד הנתונים

// מתחבר למסד הנתונים
$connection mysql_connect($dbServer$dbUser$dbPass) or die(mysql_error());

// בוחר מסד נתונים ובאותו הזמן יוצר קשר עם המסד
$db mysql_select_db($dbName$connection);

// מוחק את הטבלה אם היא קיימת
$q1 "DROP TABLE IF EXISTS tati";
mysql_query($q1) or die(mysql_error()." at row ".__LINE__);

// יוצר את הטבלה
$q1 "CREATE TABLE tati(
    firstname text NOT NULL,
    lastname text NOT NULL,
mysql_query($q1) or die(mysql_error()." 
at row ".__LINE__);

// מכניס ערכים למסד הנתונים
$q1 = "
INSERT INTO tati VALUES ('$firstname''$lastname')";
mysql_query($q1) or die(mysql_error()."
;

?>

אהה..והשגיאה היא:
PHP קוד:

Parse errorsyntax errorunexpected T_STRING in /home/צצ/domains/il/public_html/tati/a.php on line 24 

אבל אין לזה משמעות כי רוב הסיכויים שהקוד מכיל מעל 10 שגיאות.

זה קוד כמו זר שבא לארץ ומדבר עברית ;)

דרך אגב - אני הודה למי שיתקן לי את הקוד אני חייב אותו.

BlueNosE 04-05-06 21:55

תנסה
PHP קוד:

<?
$firstname 
$_POST['firstname']; 
$lastname $_POST['lastname']; 

$dbServer "localhost";  //  כתוב את שרת מסד הנתונים
$dbUser "homie_tati";  //  שם המשתמש של מסד הנתונים
$dbPass "tati";  //  סיסמת המשתמש של מסד הנתונים
$dbName "homie_tati";  //  שם מסד הנתונים

// מתחבר למסד הנתונים
$connection mysql_connect($dbServer$dbUser$dbPass) or die(mysql_error());

// בוחר מסד נתונים ובאותו הזמן יוצר קשר עם המסד
$db mysql_select_db($dbName$connection);

// מוחק את הטבלה אם היא קיימת
$q1 "DROP TABLE IF EXISTS tati";
mysql_query($q1) or die(mysql_error()." at row ".__LINE__);

// יוצר את הטבלה
$q1 "CREATE TABLE tati(
    firstname text NOT NULL,
    lastname text NOT NULL)"
;
mysql_query($q1) or die(mysql_error()." at row ".__LINE__);

// מכניס ערכים למסד הנתונים
$q1 "INSERT INTO tati VALUES ('$firstname', '$lastname')";
mysql_query($q1) or die(mysql_error())";
?>


Homie 04-05-06 22:00

ציטוט:

נכתב במקור על ידי BlueNosE
תנסה
PHP קוד:

<?
$firstname 
$_POST['firstname']; 
$lastname $_POST['lastname']; 

$dbServer "localhost";  //  כתוב את שרת מסד הנתונים
$dbUser "homie_tati";  //  שם המשתמש של מסד הנתונים
$dbPass "tati";  //  סיסמת המשתמש של מסד הנתונים
$dbName "homie_tati";  //  שם מסד הנתונים

// מתחבר למסד הנתונים
$connection mysql_connect($dbServer$dbUser$dbPass) or die(mysql_error());

// בוחר מסד נתונים ובאותו הזמן יוצר קשר עם המסד
$db mysql_select_db($dbName$connection);

// מוחק את הטבלה אם היא קיימת
$q1 "DROP TABLE IF EXISTS tati";
mysql_query($q1) or die(mysql_error()." at row ".__LINE__);

// יוצר את הטבלה
$q1 "CREATE TABLE tati(
    firstname text NOT NULL,
    lastname text NOT NULL)"
;
mysql_query($q1) or die(mysql_error()." at row ".__LINE__);

// מכניס ערכים למסד הנתונים
$q1 "INSERT INTO tati VALUES ('$firstname', '$lastname')";
mysql_query($q1) or die(mysql_error())";
?>


PHP קוד:

Parse errorsyntax errorunexpected '"' in /home/GG/domains/il/public_html/tati/a.php on line 28 

יש שגיאה!

ניסיתי את הקוד אחר (מוצג בסוף ההודעה), וטבלה נוצרה אך גיליתי מה הבעיה, הוא לא מכניס את המשתנים firstname ו-last name למשל אם הייתי מחליף את המשתנה $firstname לבלה בלה אז זה היה מכניס את הבלה בלה אבל את ה-$firstname הוא לא מקבל - המשתנה שווה למשהו שהוא כנראה לא מכיר.

הקוד הבא עובד, יצר טבלה, יצר את השדה במסד firstname ויצר את השדה lastname, אך בלי ערכים:
PHP קוד:

<?
$firstname 
$_POST['firstname']; 
$lastname $_POST['lastname']; 
$age $_POST['age']; 

$dbServer "localhost";  //  כתוב את שרת מסד הנתונים
$dbUser "homie_tati";  //  שם המשתמש של מסד הנתונים
$dbPass "tati";  //  סיסמת המשתמש של מסד הנתונים
$dbName "homie_tati";  //  שם מסד הנתונים

// מתחבר למסד הנתונים
$connection mysql_connect($dbServer$dbUser$dbPass) or die(mysql_error());

// בוחר מסד נתונים ובאותו הזמן יוצר קשר עם המסד
$db mysql_select_db($dbName$connection);

// מוחק את הטבלה אם היא קיימת
$q1 "DROP TABLE IF EXISTS tati";
mysql_query($q1) or die(mysql_error()." at row ".__LINE__);

// יוצר את הטבלה
$q1 "CREATE TABLE tati (
  age int(10) NOT NULL auto_increment,
    firstname text NOT NULL,
    lastname text NOT NULL,
  PRIMARY KEY (age))"
;
mysql_query($q1) or die(mysql_error()." at row ".__LINE__);

// מכניס ערכים למסד הנתונים
$q1 "INSERT INTO tati VALUES ('$firstname', '$lastname', '$age')";
mysql_query($q1) or die(mysql_error()." at row ".__LINE__);
?>

דרך אגב, לקוד זה הוספתי גיל (age) וכמובן לדף HTML.

Homie 05-05-06 12:30

הבנתי מה הבעיה - עכשיו זה בטוח הבעיה:

השמות של השדות ככל הנראה לא נקלטות או שהערך שמכניסים בהם לא נקלט.

mlnn 05-05-06 13:15

תביא פרטים ליצירת קשר...

RS324 05-05-06 16:05

תבדוק את האפשרויות הבאות :

אם הקוד ב HTML נראה כך :
PHP קוד:

<input type="text" name="firstname" value"">

<
input type="text" name="lastname" value"">
<
input type="text" name="age" value""

דבר נוסף שאתה יכול לעשות בשביל בדיקה (רק פעם אחת)
PHP קוד:


print_r
($_POST);
die; 

ואז לבדוק איזה ערכים יש לך בתוך POST

דבר נוסף ב HTML תבדוק ב FROM ש method=post


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

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