bluebyyou Posted February 16, 2007 Share Posted February 16, 2007 Heres the error I got... Warning: Invalid argument supplied for foreach() in /home/content/r/o/c/rockywiu/html/test.php on line 47 I am pretty sure i am getting this error because when there are no errors then the $bad_format or $blank_array arrays dont have any info in them. what im not sure is what to do about that. Heres the code.. <?php include("includes.php"); ?> <?php include("header.php"); ?> <? switch ($do) { case "insert": /* Set up array of field labels */ $label_array = array ("price" => "Price","title" => "Title","description" => "Description","email" => "E-Mail"); foreach ($_POST as $field => $value) { /* Check for blank fields */ if ($value == "") { /* check all except type,subtype and reply for blank fields */ if ($field != "type" or $field != subtype or $field != "reply") { $blank_array[$field] = "blank"; } } elseif ($field == "email") { if(!ereg(".+\@.+\..+",$_POST[$field])) { $bad_format[$field] = "bad"; } } } /* if any fields were not ok, display error message and form */ if (@sizeof(blank_array) > 0 or @sizeof(bad_format) > 0) { if (@sizeof(blank_array) > 0) { /*display message for missing information*/ echo "you didnt fill out one or more required fields. you must enter:<br>"; /*display list of missing information*/ foreach ($blank_array as $field => $value) { echo " $label_array[$field]<br>"; } } if (@sizeof(bad_format) > 0) { /*display message for bad information*/ echo "One or more fields have information that appears incorrect. correct the format for:<br>"; /*display list of bad information*/ foreach ($bad_format as $field => $value) { echo " $label_array[$field]<br>"; } } exit(); } $today = date("Y-m-d"); $query = sprintf("INSERT INTO Posting (postdate,type,subtype,price,title,description,email,reply) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s')", $today, $_POST['type'],$_POST['subtype'],$_POST['price'],$_POST['title'],$_POST['description'], $_POST['email'],$_POST['reply']); dbcon($query); // <-- database connection function located on includes.php echo "upload success."; break; case "form": unset($_GET['do']); echo "Category: "; posting_type($_POST['type']); echo "<br>"; echo "Sub Category: "; posting_subtype($_POST['subtype']); echo "<br><br>"; ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>?do=insert" method="post"> <input name="type" type="hidden" value="<?php echo $_POST['type'];?>" /> <input name="subtype" type="hidden" value="<?php echo $_POST['subtype'];?>" /> Title<input name="title" type="text"><br> <?php switch ($_POST['type']) { case "1": if ($_POST['subtype'] == 1 or $_POST['subtype'] == 6){$displayprice = 0;} else {$displayprice = 1;} break; case "2": $displayprice = 1; break; case "3": $displayprice = 0; break; case "4": $displayprice = 1; break; case "5": $displayprice = 1; break; } if ($displayprice == 0){ echo "<font color='#CCCCCC'>Price</font><input name='price' type='text' disabled><br><br>";} else { echo "Price<input name='price' type='text'><br><br>";} ?> Description<br> <textarea name="description" cols="40" rows="4"></textarea><br><br> Email<input name="email" type="text"><br> Verify<input name="vemail" type="text"><br><br> <input name="reply" type="radio" value="0" checked>Reply to my E-Mail<br> <input name="reply" type="radio" value="1">Do not show my e-mail<br><br> Upload image (Coming Soon..)<br> <input name="h" type="text" disabled><input name="browse" type="button" disabled value="Browse..."><br><br> <input name="submit" type="submit" value="Submit"> </form> <?php break; case "sbtype": unset($_GET['do']); ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>?do=form" method="post"> <select name="subtype" > <option value="0">Select One..</option> <?php $query2 = "Select * FROM PostingSubType WHERE ptype= '$_POST[type]'"; dbcon($query2); while ($row = mysql_fetch_array($result)) { extract($row); ?> <option value="<?php echo $psubtype; ?>"><?php echo $postingsubtype; ?></option> <?php } ?> </select> <input name="type" type="hidden" value="<?php echo $_POST['type'];?>" /> <input name='submit' type='submit' value='submit'> </form> <?php break; default; ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>?do=sbtype" method="post"> <select name="type" > <option value="0">Select One..</option> <?php $query = "Select * FROM PostingType"; dbcon($query); while ($row = mysql_fetch_array($result)) { extract($row); ?> <option value="<?php echo $key; ?>"><?php echo $name; ?></option> <?php } ?> </select> <input name="submit" type="submit" value="submit"> </form> <?php break; }?> Quote Link to comment https://forums.phpfreaks.com/topic/38738-solved-foreach-trouble/ Share on other sites More sharing options...
JasonLewis Posted February 16, 2007 Share Posted February 16, 2007 try putting a $ sign in front of the blank_array and bad_array Quote Link to comment https://forums.phpfreaks.com/topic/38738-solved-foreach-trouble/#findComment-186148 Share on other sites More sharing options...
bluebyyou Posted February 16, 2007 Author Share Posted February 16, 2007 that was a simple fix, thank you. Quote Link to comment https://forums.phpfreaks.com/topic/38738-solved-foreach-trouble/#findComment-186150 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.