Checkbox Array übergeben

aber auch ohne klammern oder mit ändert sich nichts, und es gibt kein fehler aus, der führt den befehl nicht aus

UPDATE student SET freigabe = 2 WHERE id IN (15,20) ne doch nicht

hat es etwas damit zu tun, das bei id die meldung kommt undefined index ?

Notice: Undefined index: id in C:\xampp\htdocs\PhpProject2\adminview.php on line 44

aber der wird ganz normal übergeben

$id = $_POST['id'];
 
Wahrscheinlich weil das Formular-Feld "box" und nicht "id" heißt ;-) Sorry, das ich mich hier einmische :-)

Mach doch einfach mal

PHP:
var_dump($_POST);

um die Felder aus dem Formular zu kontrollieren.
 
PHP:
  <form method="post" action="adminview.php?page=log">
    
<table width="50%" align="center" border="1" cellpadding="4">
     <?php
     
         $verbindung = mysql_connect("localhost", "root", "")
			or die ("Fehler im System");

			mysql_select_db("salayth")
			or die ("Verbidung zur Datenbank war nicht möglich...");
        $id = $_POST['id'];
          
          if (isset($_POST['Verifizieren']))
          {
              if(empty($id) || $id == 0)
              {
                  echo "Sie müssen einen User wählen";
              }
             else
            {
               $impid = implode(",",$id);
              
               var_dump($_POST);
               
               var_dump($impid);
               
               var_dump($id);
               $aendern = "UPDATE student SET freigabe = 2 WHERE id IN ($impid) ";
               
               echo"$aendern";
               if($aendern == 'true'){
                   echo "Erfolgreich freigegben";
               }  else {
               echo "ne doch nicht";    
               }
            }
          }
 
                        
                        $abfrage = "select * FROM student WHERE freigabe = '1'";
                
                        $ergebnis = mysql_query($abfrage);
                                
                        
?>
     

    
    <tr>
       
        <th>id</th>
        <th>Email</th>
        <th>Freigabe</th>
        <th>Verifizieren</th>
        
    </tr>
<?php

        while ($row = mysql_fetch_assoc($ergebnis)) {

?>
    <tr>
        <td align="center"><?php print $row["id"]; ?></td>
        <td><?php print $row["email"]; ?></td>
        <td align="center"><?php print $row["freigabe"]; ?></td>
        <td align="center"><input name="id[]" type="checkbox" value="<?php print $row["id"]; ?>" /></td>
    </tr>
    
<?php

        }

?>
     
          </table>
    </br>
    </br>
    
    <div align="center">
        <input name="Verifizieren" type="submit" value="Verifizieren" style="width: 100px; height: 30px" />
        <input name="reset" type="submit" value="Abbrechen" style="width: 100px; height: 30px"/>
        
        </br>
        </br>
    </div>

ne das hab ich verbessert, aber es kommt ständig die meldung undefined index in id, keine ahnung wieso, und halt gleicher stand es tut sich in der db nichts, und es kommt keine fehlermeldung, das ist das frustierende^^
 
Die Meldung ist eine Notiz und keine Fehlermeldung. Das mal nur so am Rande.

Aber sag mal, willst du dein zusammengesetztes SQL nicht an die DB senden? Ich sehe nirgends ein mysql_query($aendern ).

Ps. Wechsle von mysql_x() auf mysqli_x(). mysql_x() wird in zukünftigen PHP-Versionen nicht mehr funktionieren.
 
damit komm ich leider auch nicht weiter, hattest du auch mal so einen fehler gehabt ?, find das nur komisch überall macht es jeder so^^, aber bei mir will das nicht funktionieren, unmöglich isses ja auch nicht nur, nicht möglich irgendwie-.-

yaslaw haste vielleicht noch einen tip bitte ?

yaslaw ich danke dir ******!, dafür das du mir schritt für schritt gesagt hast wie ich drauf kommen soll, vielen dank !

der fehler war, das ich den mysql_query nicht gemacht habe, weil das nirgendswo dargestellt wurde, aber bin schon bissi doof^^, aber diese notiz was kann ich gegen die tun ?

undefined index ergibt sich dadurch, das ich nicht davor isset schriebe,

wenn ich es so programmier if(isset($_POST['id#])) kommt nict meldung nicht mehr ******
 
Also nicht ganz so wie ich es da dargestellt habe, hab jetzt einfach if(isset($_POST["id"])){
$id = $_POST["id"];
Hier der klompette code

PHP:
<div id="content">
        <form method="post" action="adminview.php?page=log">
    
<table width="50%" align="center" border="1" cellpadding="4">
     <?php
     
         $verbindung = mysql_connect("localhost", "root", "")
			or die ("Fehler im System");

			mysql_select_db("salayth")
			or die ("Verbidung zur Datenbank war nicht möglich...");
    
          
    if( isset($_POST["id"])){ 
        
        $id = $_POST["id"];
        
          if (isset($_POST['Verifizieren']))
          {        
              
                if(empty($id) || $id == 0)
              {
                  echo "Sie müssen einen User wählen";
                    
              }
              
              
             else
            {
                 echo "<script language=\"JavaScript\"> 
<!-- 
 alert(\"Möchten sie die User sicher freigeben ?\"); 
//--> 
</script> 
";              
               $impid = implode(",",$_POST['id']);
                          
               $aendern = "UPDATE student SET freigabe = 2 WHERE id IN ($impid) ";
               
               $ergebnis = mysql_query($aendern);
                             
               if($ergebnis == 'true'){
                   echo "Erfolgreich freigegben";
               }  else {
               echo "ne doch nicht";    
               }
            }
          }
          
 
    }
                            $abfrage = "select * FROM student WHERE freigabe = '1'";

                            $ergebnis = mysql_query($abfrage);


    ?>


    
    <tr>
       
        <th>id</th>
        <th>Email</th>
        <th>Freigabe</th>
        <th>Verifizieren</th>
        
    </tr>
<?php

        while ($row = mysql_fetch_assoc($ergebnis)) {

?>
    <tr>
        <input type="hidden" name="benuterid"value="<?php print $row["id"]; ?>">
        <td align="center"><?php print $row["id"]; ?></td>
        <td><?php print $row["email"]; ?></td>
        <td align="center"><?php print $row["freigabe"]; ?></td>
        <td align="center"><input name="id[]" type="checkbox" value="<?php print $row["id"]; ?>" /></td>
    </tr>
    
<?php

        }

?>
     
          </table>
    </br>
    </br>
    
    <div align="center">
        <input name="Verifizieren" type="submit" value="Verifizieren" style="width: 100px; height: 30px" />
        <input name="reset" type="submit" value="Abbrechen" style="width: 100px; height: 30px"/>
        
        </br>
        </br>
    </div>
    </div></div>

    <?php                    
    }
    ?>

Da fehlen halt auch noch der mysql_real_unescape_string , bei der auswahl mit der checkbox oder ?
 
Zurück