Marc R.: PHP Formular mit Checkbox (SQL Abfrage) verhält sich komisch

Beitrag lesen

Hallo, ich bin es mal wieder.
Ich habe ein Problem mit meinem PHP Formular bzw. den Abfragen meiner SQL Datenbank. Soweit funktioniert alles.

Beispielinhalt Datenbank:

ID: 01
  IDUser: NutzerName1 (IDuser)
    Kommentar: Test123 (kommentar)
      Kommenar-Anzeigen: 1 (allow)
ID: 10
  IDUser: NutzerName2 (IDuser)
    Kommentar: Test123 (kommentar)
      Kommenar-Anzeigen: 0 (allow)
ID: 21
  IDUser: NutzerName3 (IDuser)
    Kommentar: Test123 (kommentar)
      Kommenar-Anzeigen: 0 (allow)

Soweit so gut, wenn ich in meinem Searchform eine Anfrage stelle bekomme ich von der SQL-Datenbank auch alle "Werte" richtig angezeigt. Alle Drei Beispiel Inhalte werden korrekt dargestellt. Jetzt kann ich mittels Checkbox eine "ID" auswählen oder auch mehrere und entweder auf "anzeigen" oder auf "ausblenden" drücken, sodass der entsprechende Kommentar bzw. ID dann eine 1 bzw 0 bei "Kommentar-Anzeigen" bekommt.

Das funktioniert nur bei einstelligen IDs.
Wenn ich bei ID 10 (Nutzer2) auf anzeigen klicke passiert nix. Wenn ich dann auf ausblenden klicke wird die ID 01 (Nutzer1) auf einmal ausgeblendet.
Bei den zweistelligen IDs passiert garnichts. Egal ob anzeigen oder ausblenden, obwohl ich die richtige SQL-ID mir habe anzeigen lassen (direkt nach der Checkbox in Klammern). Es scheint, als wenn die erste intiger Zahl nur ausgewertet wird....

Was stimmt den da nicht, kann mir den Fehler nicht erklären...

Anbei mein Script, vielleicht weiß jemand mehr wie ich, Dr. Google und Forum habe ich durchsucht...

MfG
Marc

  
<?php  
include 'dbc.php';  
page_protect();  
  
if(!checkAdmin()) {  
header("Location: login.php");  
exit();  
}  
  
$page_limit = 10;  
  
$host  = $_SERVER['HTTP_HOST'];  
$host_upper = strtoupper($host);  
$login_path = @ereg_replace('admin','',dirname($_SERVER['PHP_SELF']));  
$path   = rtrim($login_path, '/\\');  
  
  
// filter GET values  
foreach($_GET as $key => $value) {  
	$get[$key] = filter($value);  
}  
  
foreach($_POST as $key => $value) {  
	$post[$key] = filter($value);  
}  
  
  
  
$rs_all = mysql_query("select count(*) as total_all from bewertung where allow='1' ") or die(mysql_error());  
$rs_active = mysql_query("select count(*) as total_active from bewertung where allow='1'") or die(mysql_error());  
					  
list($all) = mysql_fetch_row($rs_all);  
list($active) = mysql_fetch_row($rs_active);  
  
  
?>  
<html>  
<head>  
<title>Administration Main Page</title>  
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
<link href="styles.css" rel="stylesheet" type="text/css">  
<script language="JavaScript" type="text/javascript" src="js/jquery-1.3.2.min.js"></script>  
<style type="text/css">  
<!--  
.Stil1 {color: #FF0000}  
-->  
</style>  
</head>  
  
<body>  
<table width="100%" border="0" cellspacing="0" cellpadding="0">  
  <tr>  
    <td width="14%" valign="top"><?php  
	if (isset($_SESSION['user_id'])) {?>  
      <p>&nbsp;</p>  
      <p>&nbsp;</p>  
      <p>&nbsp;</p>  
      <p>&nbsp;</p>  
      <div class="myaccount">  
  <p><a href="logout.php">Logout </a></p>  
      </div>  
<?php }?>  
	  	</td>  
    <td width="74%" valign="top" style="padding: 10px;"><h2 align="center"><font color="#FF0000">Administrations  
        Seite</font><span class="Stil1"> - Bewertungsanzeige Tool </span></h2>  
      <table width="100%" border="0" cellpadding="5" cellspacing="0" class="myaccount">  
        <tr>  
          <td><div align="center">Angezeigte Kommentare: <?php echo $all;?></div></td>  
        </tr>  
      </table>  
	  <p></p>  
	  
      <table width="80%" border="0" align="center" cellpadding="10" cellspacing="0" style="background-color: #E4F8FA;padding: 2px 5px;border: 1px solid #CAE4FF;" >  
        <tr>  
          <td><form name="form1" method="get" action="admin2.php">  
              <p align="center">Suchen  
                <input name="q" type="text" id="q" size="40">  
                <br>  
              </p>  
              <p align="center">  
                <input type="radio" name="qoption" value="allow">  
                Nur Aktivierte Kommentare <br>  
              </p>  
			   <p align="center">  
                <input type="radio" name="qoption" value="disallow">  
                Nur Deaktivierte Kommentare <br>  
              </p>  
              <p align="center">  
                <input name="doSearch" type="submit" id="doSearch" value="Suchen">  
              </p>  
              </form></td>  
        </tr>  
      </table>  
      <p>  
        <?php if ($get['doSearch'] == 'Suchen') {  
	  $cond = '';  
	  if($get['qoption'] == 'allow') {  
	  $cond = "where `allow`='1'";  
	  }  
	  if($get['qoption'] == 'disallow') {  
	  $cond = "where `allow`='0'";  
	  }	  
	  if($get['q'] == '') {  
	  $sql = "select * from bewertung $cond";  
	  }  
	  else {  
	  $sql = "select * from bewertung where `IDuser ` = '$_REQUEST[q]'";  
	  }  
  
	  $rs_total = mysql_query($sql) or die(mysql_error());  
	  $total = mysql_num_rows($rs_total);  
	  
	  if (!isset($_GET['page']) )  
		{ $start=0; } else  
		{ $start = ($_GET['page'] - 1) * $page_limit; }  
	  
	  $rs_results = mysql_query($sql) or die(mysql_error());  
	  $result = mysql_query("SELECT id, name FROM bewertung");  
	  $total_pages = ceil($total/$page_limit);  
	  
	  ?>  
      <p align="right">  
        <?php  
	  
	  // outputting the pages  
		if ($total > $page_limit)  
		{  
		echo "<div><strong>Pages:</strong> ";  
		$i = 0;  
		while ($i < $page_limit)  
		{	  
		$page_no = $i+1;  
		$qstr = ereg_replace("&page=[0-9]+","",$_SERVER['QUERY_STRING']);  
		echo "<a href=\"admin2.php?$qstr&page=$page_no\">$page_no</a> ";  
		$i++;  
		}  
		echo "</div>";  
		}  ?>  
	  </p>  
	  
		<form name "searchform" action="" method="post">  
        <table width="100%" border="0" cellpadding="2" cellspacing="0">  
          <tr bgcolor="#E6F3F9" align="left">  
            <td width="5%"><strong>ID</strong></td>  
            <td width="7%"><strong>IDuser</strong></td>  
            <td width="12%"><strong>Art</strong></div></td>  
            <td width="69%"><strong>Kommentar</strong></td>  
            <td width="7%"><strong>Angezeigt</strong></td>  
          </tr>  
          <tr align="left">  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
          </tr>  
          <?php while ($rrows = mysql_fetch_array($rs_results)) {?>  
          <tr align="left">  
            <td><input type="checkbox" name="auswahl[]" value="<?php echo $rrows['Id']; ?>"> (<?php echo $rrows['Id']; ?>) </td>  
            <td><?php echo $rrows['IDuser']; ?></td>  
            <td><?php echo $rrows['art'];?></div></td>  
            <td><?php echo $rrows['kommentar']; ?></td>  
            <td><?php if($rrows['allow']=='1') { echo "Ja"; } else {echo "Nein"; } }?></td>  
		  </tr>  
        </table>  
	    <p>  
		<input type="submit" name="1" value="Anzeigen">  
		<input type="submit" name="2" value="Ausblenden">  
		<?php  
		  
		if (is_array($_POST['auswahl']) == true) {  
	  
		  
				foreach ($_POST['auswahl'] as $key => $value) {  
                                  $ausgabe = $value;  
  
				if($_POST['1'] == 'Anzeigen') {  
					mysql_query("update bewertung set allow='1' where id='$ausgabe[$i]' ");  
 				}  
				if($_POST['2'] == 'Ausblenden') {  
					mysql_query("update bewertung set allow='0' where id='$ausgabe[$i]'");  
				}  
				}  
			    echo "<meta http-equiv='refresh' content='1;url=$php_self'>";  
    			echo "<meta http-equiv='expires' content='0'></meta>";  
    			echo "<meta http-equiv='cache-control' content='no-cache'></meta>";  
  
         }  
		?>  
		<br>  
	    </p>  
        <p>&nbsp;</p>  
      </form>  
    <td width="12%">&nbsp;</td>  
  </tr>  
</table>  
	  <?php  
	  }  
	   ?>	  
</body>  
</html>