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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=48807)

Reality 02-07-07 20:59

שאלה | שוב PHP
 
וואי השפה הזאת משגעת אותי... למה זה חייב להיות כ-ז-ה מסובך?? |דמעות|

בכל מקרה, מה לא בסדר כאן...? זה כותב לי שזה שולח נתונים אבל אין כלום במסד...

PHP קוד:

<?php
$link 
mysql_connect("localhost""root""") or die(msql_error());
mysql_select_db("site"$link) or die(mysql_error());

if (isset(
$_POST['name']) && isset($_POST['email']) && isset($_POST['subject']) &&
    isset(
$_POST['msg']))
{
    if (
$_POST['name'] != NULL && $_POST['email'] != NULL && $_POST['subject'] != NULL &&
        
$_POST['msg'] != NULL)
    {
        
$query "INSERT INTO `comments` (`name`,`email`,`subject`,`msg`,`date_posted`) VALUES (`$_POST[name]`,
        `$_POST[email]`,`$_POST[subject]`,`$_POST[msg]`,`date(d,m,Y)`)"
;
        
$res mysql_query($query$link);
        echo 
"Message is sent";
    }
    else
    {
        echo 
"Fill all fields!";
    }

}

?>


Tzvika 02-07-07 23:41

קודם כל שים לב ששכחת לסגור את הבסיס נתונים.
סגור אותו בעזרת הפקודה mysql_close()
אם זה לא עוזר בדוק שלא התבלבלת בשמות השדות או בשם של הבסיס נתונים והטבלה.
אם עדיין לא עובד נסה את הקוד הבא:
PHP קוד:

<?php
$link 
mysql_connect("localhost""root""") or die(msql_error());  
mysql_select_db("site"$link) or die(mysql_error()); 
$flag=false;
if(
$_POST['name']!="" && $_POST['email']!="" && $_POST['subject']!="" && $_POST['msg']!="")
{
$flag=true;
}
if(
$flag==false)
{
        echo 
"Fill all fields!"
}
else
{
$query "INSERT INTO `comments` (`name`,`email`,`subject`,`msg`,`date_posted`) VALUES (`$_POST[name]`,  
`$_POST[email]`,`$_POST[subject]`,`$_POST[msg]`,`date(d,m,Y)`)"
;  
$res mysql_query($query$link);  
echo 
"Message is sent";
}
mysql_close();
?>


Tomer 03-07-07 01:57

ציטוט:

נכתב במקור על ידי Tzvika (פרסם 512443)
קודם כל שים לב ששכחת לסגור את הבסיס נתונים.
סגור אותו בעזרת הפקודה mysql_close()
אם זה לא עוזר בדוק שלא התבלבלת בשמות השדות או בשם של הבסיס נתונים והטבלה.
אם עדיין לא עובד נסה את הקוד הבא:
PHP קוד:

<?php
$link 
mysql_connect("localhost""root""") or die(msql_error());  
mysql_select_db("site"$link) or die(mysql_error()); 
$flag=false;
if(
$_POST['name']!="" && $_POST['email']!="" && $_POST['subject']!="" && $_POST['msg']!="")
{
$flag=true;
}
if(
$flag==false)
{
        echo 
"Fill all fields!"
}
else
{
$query "INSERT INTO `comments` (`name`,`email`,`subject`,`msg`,`date_posted`) VALUES (`$_POST[name]`,  
`$_POST[email]`,`$_POST[subject]`,`$_POST[msg]`,`date(d,m,Y)`)"
;  
$res mysql_query($query$link);  
echo 
"Message is sent";
}
mysql_close();
?>


הא? למה לסגור בעזרת mysql_close()? למה שזה מה שיגרום לו לשגיאה? די להטעות.

Tal Aviel 03-07-07 02:04

שאתה נתקל בבעיה, תתחיל לנסות לפשט את הקוד ולראות עד איפה הוא עובד.
לדוגמא קח את זה:
קוד:

        $query = "INSERT INTO `comments` (`name`,`email`,`subject`,`msg`,`date_posted`) VALUES (`$_POST[name]`,
        `$_POST[email]`,`$_POST[subject]`,`$_POST[msg]`,`date(d,m,Y)`)";

ותחליף ל:
קוד:

        $query = "INSERT INTO `comments` VALUES ('a','b','c','d','e')";
ותבדוק אם נכנסת לך שורה עם הערכים a b c d e. :)

בהצלחה.

Tzvika 03-07-07 02:05

ציטוט:

נכתב במקור על ידי Tomer (פרסם 512547)
הא? למה לסגור בעזרת mysql_close()? למה שזה מה שיגרום לו לשגיאה? די להטעות.

אמרתי לו שהוא שכח וישים שידע לידע כללי
והמלצתי לו על עוד דרכים(מנהל יקר :))

Tomer 03-07-07 02:07

ציטוט:

נכתב במקור על ידי Tzvika (פרסם 512550)
אמרתי לו שהוא שכח וישים שידע לידע כללי
והמלצתי לו על עוד דרכים(מנהל יקר :))

מיותר. החיבור למסד נסגר אחרי שהעמוד נטען, אלא אם כן החיבור אותחל ע"י mysql_pconnect


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

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