foreach() erkennt array nicht an ?!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • foreach() erkennt array nicht an ?!

    das skript sollte 2 sachen machen:
    -werte aus einer DB in eine tabelle ausgeben (funktioniert)
    -werte der checkboxen in der letzten spalte ausgeben (funktioniert nicht)

    das dient als vorarbeit für was anderes also nicht wundern =)

    folgender Fehler:
    Invalid argument supplied for foreach() in c:\wampp1\htdocs\tabellen.php on line 59

    erkennt for each mein "check[]" array nicht an????

    EDIT: haut immernoch nicht hin...
    Notice: Undefined index: check[1] in c:\wampp1\htdocs\tabellen.php on line 51 //(if ($_POST['check']))

    PHP-Code:
    <? 
    $check = mysql_connect ("localhost", "root", "");
    if ($check) {echo ("Connected.<br>");};
    $check = mysql_select_db("test");
    if ($check) {echo ("Database selected");};


    $result = mysql_query("SELECT * FROM tab ");



    ?>
    <div align="center"><br>
      <table width="100%" height="73" border="1">
       

        <? 
        while($row = mysql_fetch_assoc($result)){
    echo("<tr>
            <td width=\"240\">"."ID:".$row[id]." ".$row['name']."</td>
            <td width=\"179\">".$row['strasse']."</td>
            <td width=\"302\">".$row['ort']."</td>
            <td width=\"119\">".$row['plz']."</td>
             <td width=\"119\">
             
                 <form name=\"form1\" method=\"post\" action=\"tabellen.php\">
                   <input type=\"checkbox\" name=\"check[]\" value=\"".$row['id']."\">
                 </form>
             </td>
            </tr>")
            
                ;}
        ?>
      </table>
    </div>
    <div align="center"><br>
      <br>
      <br>
      <form name="form2" method="post" action="tabellen.php">
        <input type="submit" name="Submit" value="Senden">
      </form>
      <?
    if ($_POST['check']){foreach ($check as $v) {
            echo $v;}
    };
     

     ?>
    Zuletzt geändert von BugBite; 16.05.2006, 22:06.

  • #2
    => register_globals! verwende bitte die superglobalen ($_POST), und setz dein error_reporting auf E_ALL!

    tip: wenn du strings in ' setzt, brauchst du " nicht escapen ...
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      register globals.....

      nimm $_POST['check'] in foreach ($check as $v)
      mfg

      Kommentar


      • #4
        hmm danke für die hinweise, aber so recht mag das immernoch nicht funktionieren...die fehlermeldung is weg, aber die ausgabe der IDs klappt immernoch nicht =/

        auch wenn ich von mir aus 3 häkchen an die 3 einträge setz, und dann
        per echo $check[1]; was ausgeben lassen will klappt das nich O.o
        irgendwo hab ich nen hänger...
        Zuletzt geändert von BugBite; 16.05.2006, 21:39.

        Kommentar


        • #5
          Hm - Ich würd ma ganz schlicht sagen: Es is ja auch garkein Array! mysql_connect gibt bei nem Fehler FALSE oder ansonsten eine Resource zurück. Aber von Array nix da...

          Gruß
          Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

          Kommentar


          • #6
            das array "check" kommt ja auch erst in der tabelle vor =)
            hab wohl aus versehen beiden sachen $check zugewiesen, das sollte aber keine probleme verursachen...

            Kommentar


            • #7
              Ahso dis hab ich garnich gesehn. Müsstest du dann anstatt $check nicht $_GET['check'] verwenden?

              Gruß

              EDIT:
              Sorry sorry, meinte $_POST['check']
              Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

              Kommentar


              • #8
                schon probiert s.o.

                wenn ich als checkboxname check[] hernehme, setzt der mir dann für jede neue checkbox check[1], check[2],... oder?

                Kommentar


                • #9
                  ja, es wird ein array übergeben.
                  mfg

                  Kommentar


                  • #10
                    so jetz hab ichs noch etwas genauer

                    Notice: Undefined index: check in c:\wampp1\htdocs\tabellen.php
                    in der Zeile if: ($_POST['check']){

                    Kommentar


                    • #11
                      ersetz mal
                      PHP-Code:
                      if ($_POST['check']){foreach ($check as $v) {
                              echo 
                      $v;}
                      }; 
                      durch
                      PHP-Code:
                      if(!empty($_POST)) {
                          echo 
                      '<pre>';
                          
                      print_r($_POST);
                          echo 
                      '</pre>';

                      ausgabe?
                      Kissolino.com

                      Kommentar


                      • #12
                        Array
                        (
                        [Submit] => Senden
                        )

                        Kommentar


                        • #13
                          ist schon blöd, wenn man 2 formulare in einer seite hat und im 1. form die daten stehen, während das 2. form gesendet wird?!
                          Kissolino.com

                          Kommentar


                          • #14
                            hmmm wie soll ichs dann fertig bringen die mit kästchen markierten zeilen der tabelle auf knopfdruck zu löschen, ohne ein zweites form zu machen?

                            Kommentar


                            • #15
                              lol habs... DAAANKE

                              Kommentar

                              Lädt...
                              X