Mr Chris Posted June 19, 2006 Share Posted June 19, 2006 Hi Guys,This is driving me mental! I have a simple form:[code]<?phpsession_start();//Connect to DB include("*************");// POST variables $section=$_POST['section'];$added_by=$_POST['added_by'];$headline=$_POST['headline'];$opening=$_POST['opening'];$body_text=$_POST['body_text'];if (empty ($_POST['opening']) || empty ($_POST['body_text'])){ $msg = "There is an error";}if (!isset ($error)){ $query = "INSERT INTO cms_stories(section,added_by,headline,opening,body_text) VALUES ('$section','$added_by','$headline','$opening','$body_text')"; $msg = "A new Story has been added to the database - Please Click <a href=\"http://index\">Here</a> to return to the main menu"; $link = mysql_connect; mysql_select_db($db); $result = mysql_query($query) or die('Query failed: ' . mysql_error()); mysql_close(); }?><html><head><title>Add to DB</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="#FFFFFF"><form action="add_blank.php" method="post" name="frmAdd"> <p><?php echo $msg?></p> <table width="737" border="0" cellspacing="1" cellpadding="1"> <tr> <td>Section</td> <td> <select name="section"> <option value="news">News</option> <option value="sport">Sport</option> <option value="business">Business</option> <option value="viator">Viator</option> </select> </td> </tr> <tr> <td>Added By</td> <td> <input name="added_by" type="text" size="35" maxlength="128" value=""> </td> </tr> <tr> <td height="35">Headline</td> <td height="35"> <input type="text" size="48" maxlength="255" name="headline"> </td> </tr> <tr> <td>Opening Paragraph</td> <td> <textarea name="opening" wrap="virtual" rows="4" cols="80"></textarea> </td> </tr> <tr> <td>Body Text:</td> <td> <textarea name="body_text" wrap="virtual" rows="25" cols="80"></textarea> </td> </tr></table><input type="Submit" name="Submit" value="Submit"><input type="reset" name="Reset" value="Clear Story"></form></body></html>[/code]Now I want the form to submit the data to the database:UNLESSThe body_text and opening textboxes contain no valuesIF this is the caseEcho a message to the screen and don’t submit the dataIF they do contain dataThen the data will be submittedBut the form loads with the message [b]‘A new Story has been added to the database - Please Click here[/b]As shown [url] [a href=\"http://www.slougheaz.org/greenock/new_news/add_tester.php\" target=\"_blank\"]http://www.slougheaz.org/greenock/new_news/add_tester.php[/a][/url]And it ignores my rules!Can anyone please advise as this is driving me potty!ThanksChris Quote Link to comment https://forums.phpfreaks.com/topic/12356-data-problems-adding-to-db/ Share on other sites More sharing options...
Chips Posted June 19, 2006 Share Posted June 19, 2006 [code]$msg = "There is an error";}if (!isset ($error[/code]I don't see where $error is set...Also, why not just do this instead of setting the message variable?[code]if(form data was empty){echo "There is an error";exit();} else {process here;}[/code]If you wish to show the form again, you could stick the form as being part of a function, and call the function when the page is loaded. If post data is no of value, and it was submitted, instead of exit instantly - it could just call the function to display the form once more... Quote Link to comment https://forums.phpfreaks.com/topic/12356-data-problems-adding-to-db/#findComment-47235 Share on other sites More sharing options...
Mr Chris Posted June 19, 2006 Author Share Posted June 19, 2006 Aggghh!!!Thanks:I've modified my form now to say:1) IF Submit is hit but 'opening' and 'body' are empty then output an error2) IF there is no error then submit the dataI'm pretty sure i'm nearly there, but it does not like this line:[b] empty ($_POST['opening']) || empty ($_POST['body_text']) [/b]Parse error: parse error, unexpected T_VARIABLE in *********/*****/new_news/*****.php on line 19[code]<?phpsession_start();//Connect to DB include("*****");// POST variables $section=$_POST['section'];$added_by=$_POST['added_by'];$headline=$_POST['headline'];$opening=$_POST['opening'];$body_text=$_POST['body_text'];if (isset($_POST['Submit'])){ empty ($_POST['opening']) || empty ($_POST['body_text']) $error = "There is an error";}if (!isset ($error)){ $query = "INSERT INTO cms_stories(section,added_by,headline,opening,body_text) VALUES ('$section','$added_by','$headline','$opening','$body_text')"; $msg = "A new Story has been added to the database - Please Click <a href=\"http://index\">Here</a> to return to the main menu"; $link = mysql_connect; mysql_select_db($db); $result = mysql_query($query) or die('Query failed: ' . mysql_error()); mysql_close(); }?><html><head><title>Add to DB</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="#FFFFFF"><form action="add_blank.php" method="post" name="frmAdd"> <p><?php echo $msg?> <?php echo $error?></p> <table width="737" border="0" cellspacing="1" cellpadding="1"> <tr> <td>Section</td> <td> <select name="section"> <option value="news">News</option> <option value="sport">Sport</option> <option value="business">Business</option> <option value="viator">Viator</option> </select> </td> </tr> <tr> <td>Added By</td> <td> <input name="added_by" type="text" size="35" maxlength="128" value=""> </td> </tr> <tr> <td height="35">Headline</td> <td height="35"> <input type="text" size="48" maxlength="255" name="headline"> </td> </tr> <tr> <td>Opening Paragraph</td> <td> <textarea name="opening" wrap="virtual" rows="4" cols="80"></textarea> </td> </tr> <tr> <td>Body Text:</td> <td> <textarea name="body_text" wrap="virtual" rows="25" cols="80"></textarea> </td> </tr></table><input type="Submit" name="Submit" value="Submit"><input type="reset" name="Reset" value="Clear Story"></form></body></html>[/code] Quote Link to comment https://forums.phpfreaks.com/topic/12356-data-problems-adding-to-db/#findComment-47247 Share on other sites More sharing options...
Chips Posted June 19, 2006 Share Posted June 19, 2006 Probabily because its no longer an if statement, and therefore it's incorrectly stated as well ;) Quote Link to comment https://forums.phpfreaks.com/topic/12356-data-problems-adding-to-db/#findComment-47254 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.