Jump to content

Invalid argument supplied for foreach()


Xtremer360

Recommended Posts

I'm not sure why but I'm getting a <b>Warning</b>:  Invalid argument supplied for foreach().

 

 

if (isset($_POST['deleteContentPagesArray'])){

    $contentPageIDs = $_POST['contentPageArray'];

    foreach ($contentPageIDs as $contentPageID) {
    
        $deleteQuery = "UPDATE `manager_site_contentPages` SET `status` = 'Deleted' WHERE `id` =  '".$contentPageID."' LIMIT 1"; 
    
        mysqli_query($dbc,$deleteQuery);
        
        // Delete was sucessful
        $errors = false;
        
        $output = array('errorsExist' => $errors);
    
    }
    
}  

Link to comment
https://forums.phpfreaks.com/topic/242555-invalid-argument-supplied-for-foreach/
Share on other sites

$contentPageIDs = !empty($_POST['contentPageArray'])?$_POST['contentPageArray']:array();

 

Should fix your issue. Since POST data is unreliable, it is better to check that you have content you are expecting. If not default it or throw an error to handle it properly.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.