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; }?> 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 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. Link to comment https://forums.phpfreaks.com/topic/38738-solved-foreach-trouble/#findComment-186150 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.