---
title: "Foreachfelmeddelande?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/155597-foreachfelmeddelande"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "eklof00"
published: "2007-01-05T16:01:07.000Z"
updated: "2007-01-06T15:59:17.000Z"
replies: 2
views: 303
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/155597-foreachfelmeddelande"
---

# Foreachfelmeddelande?

## #1 — eklof00, 2007-01-05T16:01Z

Är det någon som kan hjälpa mig och se vad som är fel. Antar att jag har fel värden på rad 17.

```php
Warning: Invalid argument supplied for foreach() in C:\wamp\www\spel.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\spel.php:17) in C:\wamp\www\spel.php on line 22
```

```php
<?php 
session_start(); // Alltid överst på sidan 

include "conn.php"; // Databasanslutningen 

// Kolla om inloggad = sessionen satt 
if (!isset($_SESSION['sess_date'])){ 
  header("Location: test.php"); 
  exit; 
} 
if (!isset($_SESSION['sess_user_id'])){ 
  header("Location: index.php"); 
  exit; 
} 
if (isset($_POST['submit'])) { 
    $i = 0; 
foreach($_POST['tips'] as $tips) {  //RAD 17
        $sql = "INSERT INTO spel_allsv2007 (user_id, match_id, tips) VALUES('{$_SESSION['sess_user_id']}','{$_POST['match_id'][$i]}','{$_POST['tips_'.$_POST['match_id'][$i]]}'))"; 
        mysql_query($sql) or die("SQL: $sql <br>".mysql_error()); 
        $i++; 
    } 
     header("Location: user_tips.php"); 
     exit; 
} 

?> 
<form action="spel.php" method="post" name="submit"> 
<?PHP 
$sql = "SELECT * FROM allsv2007 WHERE date > CURRENT_TIMESTAMP() AND date = ' {$_SESSION['sess_date']} '" or die(mysql_error()); 
$result = mysql_query($sql); 
   while ($row = mysql_fetch_assoc($result)) { 
$date[$row['date']][] = array($row['match_id'], $row['matcher']); 
} 

if (isset($date) && !empty($date)) { 
      echo '<table>';    
      foreach ($date as $day => $value){ 
          echo '<tr>'; 
         echo '<td></td>'; 
         echo '<td>' . '<b>' . $day. '</b>' . '</td>'; 
         echo '<td align="center"><b>1</b></td>'; 
         echo '<td align="center"><b>X</b></td>'; 
         echo '<td align="center"><b>2</b></td>'; 
      echo '</tr>'; 
        
        foreach ($value as $game) 
       { 
        echo '<tr>'; 
        echo '<td align ="right">'. $game[0].'.</td>'; 
       
       
         echo '<td>'. $game[1].'</td>'; 
         echo '<td><input type="radio" value="1" name="tips_'.$game[0].'"></td> 
                 <td><input type="radio" value="X" name="tips_'.$game[0].'"></td> 
                 <td><input type="radio" value="2" name="tips_'.$game[0].'"><input type="hidden" name="match_id[]" value="'.$game[0].'"></td>'; 
         echo '</tr>'; 
          
          } 

} 
echo '</table>'; 

}else{ 
echo 'Du kan inte spela på denna match, Spelstopp har inträtt!'; 

} 
?> 
<input type="submit" name="submit" value="Skicka"> 
</form>
```

Permalänk: https://www.webforum.nu/p/155597

## #2 — sl0k, 2007-01-05T17:05Z

Troligtvis innehåller inte $\_POST\['tips'\] en array.
Testa använda var_dump($\_POST); och testa så den innehåller vad du förväntar dig.

Permalänk: https://www.webforum.nu/p/1918148

## #3 — eklof00, 2007-01-06T15:59Z

Så här blev det efter mycket om och men...

```php
foreach($_POST['match_id'] as $match) {
```

Permalänk: https://www.webforum.nu/p/1918366

---

Tråden på webben: https://www.webforum.nu/amne/php/155597-foreachfelmeddelande
