Anfänger hat Problem mit foreach Schleife [erledigt]

Alles, was PHP betrifft, kann hier besprochen werden.

Anfänger hat Problem mit foreach Schleife [erledigt]

Postby pamou » 07. September 2007 09:27

Hallo Community,
bin gerade am Dinge ausprobieren, rsp. am PHP lernen. Bin gerade daran so ein kleines Berechnungsformular zu erstellen.

Hier der Formularcode (ohne HTML Tag):

Code: Select all
<?php
      $name              = $_POST['name'];
      $stunden           = $_POST['stunden'];
      $lohn              = $_POST['lohn'];
      $arbeitgeber       = $_POST['arbeitgeber'];

      foreach ($name as $person) {
       echo "Hallo <b>$person</b>, <br><p>,";
      }

      echo "Du hast <B>$stunden</B> Stunden bei ";

      foreach ($arbeitgeber as $wo_denn) {
       echo "<B>$wo_denn</B> gearbeitet.<BR><P>";
      }

      $summe = ($stunden * $lohn);

      echo "Dein Verdienst in dieser Zeit war: ";
      echo "<B> $summe </B> EURO";

   ?>


Und für die Ausgabe:

Code: Select all
<html>
   <head>
      <title>Erstes geschriebenes Formular mit PHP</title>
   </head>
   <body>
      <form action="listing3-6.php" METHOD="POST">
   
      <!--erste Auswahlbox f&uuml;r die Personenauswahl-->
      Name:<br>
       <select NAME:="name[]">
         <option>Patrick</option>
         <option>Manuela</option>
         <option>Massimo</option>
         <option>Stephanie</option>
         <option>Fran&ccedil;oise</option>
      </select><br>
      
      <!--zweite Auswahlbox f&uuml;r die Auswahl des Arbeitgebers-->
      Arbeitgeber<br>
      <select NAME:="arbeitgeber[]">
         <option>Mc Kormik</option>
         <option>Mc Burger</option>
         <option>Pizza Hat</option>
         <option>Theater</option>
      </select><br>
      
      <!--Eingabefeld f&uuml;r den Stundenansatz-->
      Lohn<br>
      <input type="text" name="lohn"><br>
      
      <!--Eingabefeld f&uuml;r die Anzahl geleisteter Stunden-->
      Anzahl Stunden:<br />
      <input type="text" name="stunden"><br><p>
      
      <!--Submitroutine f&uuml;r die Berechnung des Verdienstes-->
      <input type="submit" Name:"abschicken" Value="Berechnen"></input>
   </form>
   </body>
</html>


Wenn ich via localhost (mit XAMPP) auf dem Formular die Eingaben mache und auf senden klicke, erhalte ich folgende Fehlermeldung:

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\entwicklung\listing3-6.php on line 12

und

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\entwicklung\listing3-6.php on line 18


Es handelt sich wohl um einen Fehler bei:
foreach ($name as $person) {
echo "Hallo <b>$person</b>, <br><p>,";

und

foreach ($arbeitgeber as $wo_denn) {
echo "<B>$wo_denn</B> gearbeitet.<BR><P>";


Finde den Fehler einfach nicht...Wo liegt das Problem?
pamou
 
Posts: 3
Joined: 31. August 2007 05:01

Postby Wiedmann » 07. September 2007 16:14

Auf einen ersten kurzen Blick würde ich mal denken, dass:
Code: Select all
<select NAME:="name[]">
und
<select NAME:="arbeitgeber[]">

da jeweils ein Doppelpunkt zuviel drin ist.

Finde den Fehler einfach nicht...Wo liegt das Problem?

Mit einem:
Code: Select all
error_reporting(E_ALL);

am Scriptanfang, hätte man das IMHO aber merken können ;-)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to PHP

Who is online

Users browsing this forum: No registered users and 71 guests