צפיות
תשובות
php+Mysql
אז ככה…אני מתחיל ב-mysql וגם ב-php.ויש לי בעיות של שילוב php ו-HTML.
צירפתי קוד ובו אני מנסה לעשות 4 שדות טקסט,
שכאשר אלחץ על הכפתור הנתונים מהשדות טקסט יכנסו לטבלת נתונים,
כדי שבמצב אחר אני אוכל לשלוף את הנתונים(עוד לא בניתי את שליפת הנתונים).
משום מה זה לא עובד לי…מישהו מוכן בבקשה לעזור לי?
<html>
<head>
<?
$link=mysql_connect("localhost","evy");
if(! $link)
die("Couldn't connect to My SQL");
$database="pnim";
mysql_select_db($pnim) or die("Couldn't open $pnim");
CREATE TABLE crew (policeman,scienctist,talk,moneyy);
INSERT INTO crew (policenan,scienctist,talk,moneyy)
VALUES ($police,$sience,$dovr,$kalkel);
fuction go()
{
UPDATE pnim SET policeman=$police;
UPDATE pnim SET scienctist=$sience;
UPDATE pnim SET talk=$dovr;
UPDATE pnim SET moneyy=$kalkel;
}
?>
<title></title>
</head>
<body>
<form name="mcrew">
<input type="text name="police">1<br>
<input type="text name="sience">2<br>
<input type="text name="dovr">3<br>
<input type="text name="kalkel">4<br>
<button onclick="go()">שנה!</button>
</form>
</body>
</html>
תודה מראש!
13 תשובות
[ללא נושא]
בכלל לא ככה עושים את זה
ב"ה
אתה צריך לשלוח את הטופס לשרת :
https://webmaster.org.il/guide.asp?subject=php&class=dataTransfer
ואז לטפל בו.
הבנתי אותך…
עשיתי את מה שאמרת אבל משהו לא מסתדר עדיין.
תראה זה התהליך:
קובץ hi.html:
<html>
<head>
<title></title>
</head>
<body>
<form name="mcrew" action="in.php" method="post">
<input type="text name="police">שוטרים<br>
<input type="text name="sience">מדענים<br>
<input type="text name="dovr">דוברים<br>
<input type="text name="kalkel">כלכלנים<br>
<br><br><br><br>
<input type="text name="cit">עיר<br>
<input type="text name="yesh">ישוב<br>
<input type="text name="kib1">קיבוץ<br>
<input type="submit" value="שנה">
</form>
</body>
</html>
אחר כך הקובץ in.php:
<html>
<head>
<?php
$link=mysql_connect("localhost","evy","123");
if( ! $link)
die("Couldn't connect to MySQL");
$database="pnim";
mysql_select_db($pnim) or die("Couldn't open $pnim");
CREATE TABLE crew (policeman,scienctist,talk,moneyy);
INSERT INTO crew (policeman,scienctist,talk,moneyy)
VALUES ($police,$sience,$dovr,$kalkel);
UPDATE pnim SET policeman=$police;
UPDATE pnim SET scienctist=$sience;
UPDATE pnim SET talk=$dovr;
UPDATE pnim SET moneyy=$kalkel;
mysql_close($link);
$db=mysql_connect("localhost","evy5","1234");
if(! $db)
die("Couldn't connect to mySQL");
$database="citys";
mysql_select_db($citys) or die("Couldn't open $citys");
CREATE TABLE balad (ir,yeshuv,kibuz);
INSERT INTO crew (ir,yeshuv,kibuz)
VALUES ($cit,$yesh,$kib1);
UPDATE citys SET ir=$cit;
UPDATE citys SET yeshuv=$yesh;
UPDATE citys SET kibuz=$kib1;
mysql_close($citys);
?>
<title></title>
</head>
<body>
</body>
</html>
ולאחר מכן הקובץ try.php:
<html>
<head>
<?php
$link=mysql_connect("localhost","evy","123");
if( ! $link)
die("Couldn't connect to MySQL");
$database="pnim";
mysql_select_db($pnim) or die("Couldn't open $pnim");
$res=mysql_query("SELECT * FROM pnim");
mysql_close($link);
?>
<title></title>
</head>
<body>
</body>
</html>
אני באמת מעריך את העזרה שלך.
האם תוכל לעזור לי שנית למצוא את הטעות שלי?
תודה שוב.
יש לך בעיה עם קישור ה Mysql ל PHP
כל השאילתות , כגון:
CREATE TABLE 'bla'
SELECT * FROM
INSERT INTO
וכו' יופעלו על-ידי הפונקציה הבאה:
mysql_query("");
לדומה:
mysql_query("INSERT INTO table(col1,col2) VALUES('$val1','$val2')");
יתר על כן, שמתי לב שאתה השתמשת בשאילתא::
Create Table
ובכן שאילתא זו יוצרת טבלה.
ואם הקוד שלך היה תקין (לפי ההערה שלי) כל פעם שהייתה לוחץ על הכפתור הייתה נוצרת טבלה חדשה (תאורטית)
אך במעשה אחרי הפעם הראשונה זה לא יעבוד
(NAME table is already exists)
כך שאני ממליץ לך קודם ליצור קובץ php.
תקרא לו Installer
או משהו כזה וקובץ זה יכיל את שאילתות יצירת הטבלאות.
בהצלחה!
אופיר.
רק דבר אחד קטן…
תודה על תשובה חדה וזריזה.
רק לא הבנתי את הקטע:
"כך שאני ממליץ לך קודם ליצור קובץ php.
תקרא לו Installer
או משהו כזה וקובץ זה יכיל את שאילתות יצירת הטבלאות."
מה זאת אומרת?האם תוכל לפרט בבקשה?
תודה
בטח 😀
את כל השאילתות ליצירת הטבלאות שים בקובץ אחר,
הנה דוגמה לקובץ install.php :
<?php
$conn = mysql_connect("localhost","user","pass")or die(mysql_Error());
mysql_select_DB("db_name",$conn)or die(mysql_error());
if($_GET['act'] == "install"){
mysql_query("Create Table bla(
colmun1 int auto_increment,
)")or die(mysql_error());
}else{
echo "<a href='?act=install'>Install DB</a>";
}
?>
כנראה שזה עובד…
תודה אופיר,אני חושב שזה עובד.
אך הוא אומר לי שהוא לא יכול להתחבר ל-mySQL:
"mysql_connect(): Access denied for user 'ODBC'@'localhost' (using password: NO)"
מה יכולה להיות השגיאה…מותקן לי mysql.
אשמח אם תוכל לעזור לי שוב
ACCESS DENIED
יוצרי השפה עמלו כל כך קשה בשביל לספק לך פירוט מלא על השגיאה ,
ננתח את זה שלב שלב.
Access denied
משמע שהגישה נדחתה, וידוע שמדובר על הגישה ל Mysql.
החלק השני הוא החלק המכריע:
for user 'ODBC'@'localhost' (using password: NO
שזה אומר למה זה נכשל בעצם.
יכולות להיות 2 אפשרויות אם מוצגת שגיאה זו:
א.פרטים שגויים
ב.אין sql
הפרטים שגויים אז.
ה ODBC
זה ברירת המחדל אז סימן שלא מילאת את הפרטים.
א. Password: No – לא רשמת סיסמא.
רשום נא את הקוד של הקבצים ואראה לך בצורה נוחה יותר כיצד לתקן זאת.
ואפיר.
הנה הקודים של כל הקבצים
אז הנה,זהו הקובץ הראשון:hi.html-
<html>
<head>
<title></title>
</head>
<body>
<form name="mcrew" action="in.php" method="post">
<input type="text name="police">שוטרים<br>
<input type="text name="sience">מדענים<br>
<input type="text name="dovr">דוברים<br>
<input type="text name="kalkel">כלכלנים<br>
<br><br><br><br>
</form>
</body>
</html>
הקובץ השני:install.php-
<?php
$conn = mysql_connect("localhost") or die(mysql_Error());
mysql_select_DB("db_name",$conn)or die(mysql_error());
if($_GET['act'] == "install"){
mysql_query("CREATE TABLE crew (policeman,scienctist,talk,moneyy)") or die(mysql_error());
}else{
echo "<a href='?act=install'>Install DB</a>";
}
?>
הקובץ השלישי:in.php-
<html>
<head>
<?php
$link=mysql_connect("localhost");
if( ! $link)
die("Couldn't connect to MySQL");
$database="pnim";
mysql_select_db($pnim) or die("Couldn't open $pnim");
mysql_query("INSERT INTO crew (policeman,scienctist,talk,moneyy);
VALUES ($police,$sience,$dovr,$kalkel)");
mysql_query("UPDATE pnim SET policeman=$police");
mysql_query("UPDATE pnim SET scienctist=$sience");
mysql_query("UPDATE pnim SET talk=$dovr");
mysql_query("UPDATE pnim SET moneyy=$kalkel");
mysql_close($link);
?>
<title></title>
</head>
<body>
</body>
</html>
הקובץ הרביעי המציג את המידע מהבסיס נתונים:try.php-
<html>
<head>
<?php
$link=mysql_connect("localhost");
if( ! $link)
die("Couldn't connect to MySQL");
$database="pnim";
mysql_select_db($pnim) or die("Couldn't open $pnim");
$res=mysql_query("SELECT * FROM pnim");
mysql_close($link);
?>
<title></title>
</head>
<body>
</body>
</html>
מספפר תיקונים
$conn = mysql_connect("localhost") or die(mysql_Error());
mysql_select_DB("db_name",$conn)or die(mysql_error());
אתה צריך למלא את הפרטים
db_name = "שם המסד"
ומשום מה השמטת את הפרטים האחרים, תחליף את שורת ההתחברות הראשונה בזה:
$conn = mysql_connect("localhost","username","password") or die(mysql_Error());
את ה Localhost
תשאיר כמו שהוא, אבל את השני תחליף לשם המשתמש של המסד, והשלישי לסיסמת המסד.
עם זאת ראיתי שדף הראשון יש טופס אבל אין מבצע.
איך אני אמור לשלוח את הנתונים אם אין כפתור?
יש להוסיף את השורה הבאה לפני הסיומת של </form>:
<input type='submit' name='add' value='הוסף!' />
מקווה שעזרתי….תקן את טעויות אלו.
תראה עכשיו…
תראה משהו כאן עדיין לא בסדר.
הנה הכל ואני מקווה שהפעם זה יעבוד לי….
hi.html:
<html>
<head>
<title></title>
</head>
<body>
<form name="mcrew" action="in.php" method="post">
<input type="text name="police">שוטרים<br>
<input type="text name="sience">מדענים<br>
<input type="text name="dovr">דוברים<br>
<input type="text name="kalkel">כלכלנים<br>
<br><br><br><br>
<input type="text name="cit">עיר<br>
<input type="text name="yesh">ישוב<br>
<input type="text name="kib1">קיבוץ<br>
<input type="submit" value="שנה">
</form>
</body>
</html>
in.php:
<html>
<head>
<?php
$link = mysql_connect("localhost","evy","pas") or die(mysql_Error());
mysql_select_DB("pnim",$conn)or die(mysql_error());
die("Couldn't connect to MySQL");
mysql_query("INSERT INTO crew (policeman,scienctist,talk,moneyy);
VALUES ($police,$sience,$dovr,$kalkel)");
mysql_query("UPDATE pnim SET policeman=$police");
mysql_query("UPDATE pnim SET scienctist=$sience");
mysql_query("UPDATE pnim SET talk=$dovr");
mysql_query("UPDATE pnim SET moneyy=$kalkel");
mysql_close($link);
?>
<title></title>
</head>
<body>
</body>
</html>
install.php:
<?php
$link = mysql_connect("localhost","evy","pas") or die(mysql_Error());
mysql_select_DB("pnim",$conn)or die(mysql_error());
die("Couldn't connect to MySQL");
if($_GET['act'] == "install"){
mysql_query("CREATE TABLE crew (policeman,scienctist,talk,moneyy)") or die(mysql_error());
}else{
echo "<a href='?act=install'>Install DB</a>";
}
?>
try.php:
<html>
<head>
<?php
$link = mysql_connect("localhost","evy","pas") or die(mysql_Error());
mysql_select_DB("pnim",$conn)or die(mysql_error());
die("Couldn't connect to MySQL");
$res=mysql_query("SELECT * FROM pnim");
mysql_close($link);
?>
<title></title>
</head>
<body>
</body>
</html>
ההודעת שגיאה היא בדיוק כמו הקודמת…הוא אומר שהשגיאה היא בקובץ try.php
בשורה 4.
תודה על המשך תשומת הלב.
[ללא נושא]
כנראה שהפרטים אינהם נכונים עדיין.
אהההה
מצד אחד שמרת את ההתחברות ב $link
אבל בבחירת המסד השתמשת במשתנה אחר $conn
תשנה את $conn ל $link
תיקנתי הכל
אך הבעיה עדיין לא פתורה.
אותה שגיאה חוזרת על עצמה ואני לא מבין למה…
אולי יש עוד משהו?