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

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

eXtaZa 25-12-05 15:05

עזרה בPHP
 
שלום לכולם, יש לי בעיה קטנה... עשיתי טופס בHTML ושילבתי קוד PHP כדי שישלח לי את הנתונים לטופס. בטופס יש 2 שדות: שם והודעה.
עשיתי התקשרות לבסיס נתונים, ועשיתי שיוסיף לי את מה שהמשתמש ממלא לתוך בסיס הנתונים. זה מוסיף לי את הנתונים לבסיס נתונים אך רציתי לעשות תנאי if שיבדוק לי אם השדות האלו מוגדרים או לא, ושיעשה משהו בהתאם. כלומר לבדוק אם המשתמש מילא אותם או לא.
בדקתי באמצעות הפונקציה ()isset אם השדות מוגדרים וניסיתי לעשות שאם השדות מוגדרים אז שיוסיף לבסיס נתונים, ואם לא שיציג לו הודעה. עכשיו, הבעיה היא שלא משנה אם השדות מוגדרים או לא, בכל מקרה זה מוסיף את זה לבסיס נתונים. אז כנראה מההתחלה כבר השדות מוגדרים, ניסיתי להדפיס את מה שיש בשדות מההתחלה וזה הדפיס לי כלום, זאת אומרת שאין כלום בשדות.... אבל למה הוא מוסיף לי את זה בכל זאת לבסיס נתונים? מה הבעיה פה?
(עשיתי טבלה בבסיס נתונים שקוראים לה gustbook)
תודה לעוזרים.
הינה הקוד:
קוד:

<html>
<body>
<form action="<?php Print $PHP_SELF ?>" method="post">
Your Name: <input type="text" name="your_name"><BR>
Your Message: <input type="text" name="your_message"><BR>
<input type="submit" value="Send" name="send">
</form>
</body>
</html>
<?php
$user = "eXtaZa";
$pass = "123321";
$db = "eXtaZa";
$link = mysql_connect("localhost", $user, $pass);
if( ! $link)
        die("Couldn't connect to MySQL");
mysql_select_db($db, $link)
        or die("Couldn't open $db");
$query = "INSERT INTO gustbook (Name, Message)
                values( '$your_name', '$your_message' ) ";
if( isset( $your_name ) && isset( $your_message ) )
{
mysql_query($query, $link)
        or die("Couldn't add data");
}
else
print("Please fill all the details");
?>


חבר13 25-12-05 15:12

קוד:

<html>
<body>
<form action="<?php Print $PHP_SELF ?>" method="post">
Your Name: <input type="text" name="your_name"><BR>
Your Message: <input type="text" name="your_message"><BR>
<input type="submit" value="Send" name="send">
</form>
</body>
</html>
<?php
$user = "eXtaZa";
$pass = "123321";
$db = "eXtaZa";
$link = mysql_connect("localhost", $user, $pass);
if( ! $link)
        die("Couldn't connect to MySQL");
mysql_select_db($db, $link)
        or die("Couldn't open $db");
$query = "INSERT INTO gustbook (Name, Message)
                values( '$your_name', '$your_message' ) ";
if($your_name==NULL && $your_message==NULL )
{
mysql_query($query, $link)
        or die("Couldn't add data");
}
else
print("Please fill all the details");
?>

תנסה

ViPeRt 25-12-05 15:32

במקום isset
תשתמש ב empty
זה אומר אם המשתנה ריק

אבל עשית לא נכון
קודם הכנסת את הנתונים ואז בדקת
תבדוק קודם ואז זה לא ריק אז תכניס

eXtaZa 25-12-05 15:42

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


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

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