php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.02.2008, 10:40  
phyton
Gast
 
Beiträge: n/a
Standard checkboxen mit php-werten füllen

hallo leute!
Ich glaub die Überschrift passt nicht ganz, aber ich denke es kommt meinem problem nahe Hier mein Problem: Ich rufe Daten aus der Datenbank ab und fülle damit checkboxen. wenn ich das nun abschicke trägt er die daten aber falsch in die datenbank ein. es geht um ein benutzer-verwaltungs skript!


(Formular)
PHP-Code:
<form action="user_two.php" method="post">
<?php
  
//Verbindung herstellen
  
  //Ausgabe der Tabelle mit Checkboxen
  
echo "<table border>";
  echo 
"<tr><td>[b]ID[/b]</td><td>[b]Name[/b]</td><td>[b]Admin[/b]</td><td>[b]Eintrag Schreiben[/b]</td><td>[b]Eintrag bearbeiten[/b]</td><td>[b]Eintrag löschen[/b]</td></tr>";
  
  
//Alle Daten des Users abfragen
  
$sql "SELECT * FROM ...tabelle...";
  
$res mysql_query($sql);
  
  while (
$a mysql_fetch_assoc($res))
  {
        echo 
"<tr>";
    echo 
"<td>".$a["id"]."</td>";
    echo 
"<td>".$a["name"]."</td>";
    
//Überprüfung, ob Recht Admin vergeben ist (aktuelle ID)
    
if($a["admin"]=="yes") {
    echo 
"<td><input type=\"checkbox\" name=\"ad[".$a["id"]."]\" checked></td>"; }
    else if(
$a["admin"]=="no") {
    echo 
"<td><input type=\"checkbox\" name=\"ad[".$a["id"]."]\"></td>"; }
        
//Recht "Eintrag Schreiben" bei aktueller ID?
    
if($a["write"]=="yes") {
    echo 
"<td><input type=\"checkbox\" name=\"es[".$a["id"]."]\" checked></td>"; }
    else if(
$a["write"]=="no") {
    echo 
"<td><input type=\"checkbox\" name=\"es[".$a["id"]."]\"></td>"; }
        
//Recht "Bearbeiten"?
    
if($a["update"]=="yes") {
    echo 
"<td><input type=\"checkbox\" name=\"eb[".$a["id"]."]\" checked></td>"; }
    else if(
$a["update"]=="no") {
    echo 
"<td><input type=\"checkbox\" name=\"eb[".$a["id"]."]\"></td>"; }
    if(
$a["delete"]=="yes") {
    echo 
"<td><input type=\"checkbox\" name=\"el[".$a["id"]."]\" checked></td>"; }
    else if(
$a["delete"]=="no") {
    echo 
"<td><input type=\"checkbox\" name=\"el[".$a["id"]."]\"></td>"; }
    echo 
"</tr>";
  }
  
  echo 
"</table>";
?>


<input type="submit" value="Speichern"></p></form>

(Auswertung)
PHP-Code:
<?php
if($_POST)
{
  
//Verbindung herstellen
  
  
$sql "SELECT * FROM ...tabelle...";
  
$res mysql_query($sql);
  
  while (
$e mysql_fetch_assoc($res))
  {
     
//Ist das Recht Admin bei ID xy aktiviert?
     
if(isset($ad[$e["id"]])) {
       
$sql2 "UPDATE sv_user SET admin='yes' WHERE id='".$e["id"]."'";
       
mysql_query($sql2);
     }
         
//Wenn es nicht aktiviert ist
     
else if(!isset($ad[$e["id"]])) {
       
$sql2 "UPDATE sv_user SET admin='no' WHERE id='".$e["id"]."'";
       
mysql_query($sql2);
     }
         
//Recht "Schreiben" bei aktueller ID aktiviert?
     
if(isset($es[$e["id"]])) {
       
$sql2 "UPDATE sv_user SET write='yes' WHERE id='".$e["id"]."'";
       
mysql_query($sql2);
     }
     else if(!isset(
$es[$e['id']])) {
       
$sql2 "UPDATE sv_user SET write='no' WHERE id='".$e["id"]."'";
       
mysql_query($sql2);
     }
     if(isset(
$eb[$e['id']])) {
       
$sql2 "UPDATE sv_user SET update='yes' WHERE id='".$e["id"]."'";
       
mysql_query($sql2);
     }
     else if(!isset(
$eb[$e['id']])) {
       
$sql2 "UPDATE sv_user SET update='no' WHERE id='".$e["id"]."'";
       
mysql_query($sql2);
     }
     if(isset(
$el[$e['id']])) {
       
$sql2 "UPDATE sv_user SET delete='yes' WHERE id='".$e["id"]."'";
       
mysql_query($sql2);
     }
     else if(!isset(
$el[$e['id']])) {
       
$sql2 "UPDATE sv_user SET delete='no' WHERE id='".$e["id"]."'";
       
mysql_query($sql2);
     }
  }
}
?>
Bin echt ratlos...


Vielen Dank!

phyton
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.02.2008, 10:46  
phyton
Gast
 
Beiträge: n/a
Standard

kleine frage am rande: hat das was damit zutun, dass der spalten typ "null" ist?
ihr wisst schon..."NULL DEFAULT 'FALSE'"
  Mit Zitat antworten
Alt 02.02.2008, 14:18  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Benutz mal sprechende Variablenbezeichner. $a und $e wirken etwas kryptisch. In dem kurzen Teil noch verständlich, kann dir das ziemlich Ärger machen.

Zitat:
wenn ich das nun abschicke trägt er die daten aber falsch in die datenbank ein.
Was heißt "falsch"?
Zitat:
kleine frage am rande: hat das was damit zutun, dass der spalten typ "null" ist?
Kurz vorweg: Den Spaltentyp NULL gibt es nicht. Das Schlüsselwort gibt nur an, dass NULL erlaubt ist.
Um welche Spalte geht es? Wie ist die Spalte definiert?
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 02.02.2008, 14:34  
phyton
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
  
//Verbindung herstellen
  
  //Ausgabe der Tabelle mit Checkboxen
  
echo "<table border>";
  echo 
"<tr><td>[b]ID[/b]</td><td>[b]Name[/b]</td><td>[b]Admin[/b]</td><td>[b]Eintrag Schreiben[/b]</td><td>[b]Eintrag bearbeiten[/b]</td><td>[b]Eintrag löschen[/b]</td></tr>";
  
  
//Alle Daten des Users abfragen
  
$sql "SELECT * FROM ...tabelle...";
  
$res mysql_query($sql);
  
  while (
$erg mysql_fetch_assoc($res))
  {
        echo 
"<tr>";
    echo 
"<td>".$erg["id"]."</td>";
    echo 
"<td>".$erg["name"]."</td>";
    
//Überprüfung, ob Recht Admin vergeben ist (aktuelle ID)
    
if($erg["admin"]=="yes") {
    echo 
"<td><input type=\"checkbox\" name=\"ad[".$erg["id"]."]\" checked></td>"; }
    else if(
$erg["admin"]=="no") {
    echo 
"<td><input type=\"checkbox\" name=\"ad[".$erg["id"]."]\"></td>"; }
        
//Recht "Eintrag Schreiben" bei aktueller ID?
    
if($erg["write"]=="yes") {
    echo 
"<td><input type=\"checkbox\" name=\"es[".$erg["id"]."]\" checked></td>"; }
    else if(
$erg["write"]=="no") {
    echo 
"<td><input type=\"checkbox\" name=\"es[".$erg["id"]."]\"></td>"; }
        
//Recht "Bearbeiten"?
    
if($erg["update"]=="yes") {
    echo 
"<td><input type=\"checkbox\" name=\"eb[".$erg["id"]."]\" checked></td>"; }
    else if(
$erg["update"]=="no") {
    echo 
"<td><input type=\"checkbox\" name=\"eb[".$erg["id"]."]\"></td>"; }
    if(
$erg["delete"]=="yes") {
    echo 
"<td><input type=\"checkbox\" name=\"el[".$erg["id"]."]\" checked></td>"; }
    else if(
$erg["delete"]=="no") {
    echo 
"<td><input type=\"checkbox\" name=\"el[".$erg["id"]."]\"></td>"; }
    echo 
"</tr>";
  }
  
  echo 
"</table>";
?>
PHP-Code:
<?php
if($_POST)
{
  
//Verbindung herstellen
  
  
$sql "SELECT * FROM ...tabelle...";
  
$res mysql_query($sql);
  
  while (
$abf mysql_fetch_assoc($res))
  {
     
//Ist das Recht Admin bei ID xy aktiviert?
     
if(isset($ad[$abf["id"]])) {
       
$sql2 "UPDATE sv_user SET admin='yes' WHERE id='".$abf["id"]."'";
       
mysql_query($sql2);
     }
         
//Wenn es nicht aktiviert ist
     
else if(!isset($ad[$abf["id"]])) {
       
$sql2 "UPDATE sv_user SET admin='no' WHERE id='".$abf["id"]."'";
       
mysql_query($sql2);
     }
         
//Recht "Schreiben" bei aktueller ID aktiviert?
     
if(isset($es[$abf["id"]])) {
       
$sql2 "UPDATE sv_user SET write='yes' WHERE id='".$abf["id"]."'";
       
mysql_query($sql2);
     }
     else if(!isset(
$es[$abf['id']])) {
       
$sql2 "UPDATE sv_user SET write='no' WHERE id='".$abf["id"]."'";
       
mysql_query($sql2);
     }
     if(isset(
$eb[$abf['id']])) {
       
$sql2 "UPDATE sv_user SET update='yes' WHERE id='".$abf["id"]."'";
       
mysql_query($sql2);
     }
     else if(!isset(
$eb[$abf['id']])) {
       
$sql2 "UPDATE sv_user SET update='no' WHERE id='".$abf["id"]."'";
       
mysql_query($sql2);
     }
     if(isset(
$el[$abf['id']])) {
       
$sql2 "UPDATE sv_user SET delete='yes' WHERE id='".$abf["id"]."'";
       
mysql_query($sql2);
     }
     else if(!isset(
$el[$abf['id']])) {
       
$sql2 "UPDATE sv_user SET delete='no' WHERE id='".$abf["id"]."'";
       
mysql_query($sql2);
     }
  }
}
?>

Ich habe in der Datenbank schon 2 Nutzer mit allen Rechten eingetragen. Wenn ich das Formular nun aufrufe stimmt es sobald ich jedoch irgendein recht aktiviere, deaktiviere wird in der datenbank eingetragen, die beiden nutzer hätten keine "admin" rechte
  • admin ENUM ('yes','no') NULL DEFAULT 'no'
  • write ENUM ('yes','no') NULL DEFAULT 'no'

So sind alle definiert (admin, write, update, delete)
  Mit Zitat antworten
Alt 02.02.2008, 15:43  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Kurz nochma abschließend: Das Problem war mal wieder register_globals.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Max Anzahl Checkboxen Hu5eL JavaScript, Ajax und mehr 2 25.06.2008 15:37
Checkboxen und PHP errox PHP Tipps 2008 3 09.12.2007 21:23
Zustand der Checkboxen auslesen Pimbolie1979 PHP Tipps 2007 4 10.07.2007 20:39
Aktivieren einer Checkbox aktiviert viele andere Checkboxen buggybugga HTML, Usability und Barrierefreiheit 3 12.03.2007 16:23
checkboxen wizzardxx PHP Tipps 2005-2 7 16.10.2005 22:58
(inhalte) der checkboxen aus mysql auslessen PHP Tipps 2005-2 4 07.06.2005 14:02
Submit Button erst aktivieren,wenn alle Checkboxen aktiviert HTML, Usability und Barrierefreiheit 3 17.05.2005 15:15
Mehrere Checkboxen anwählen um mehrere Einträge zu löschen PHP Tipps 2005 7 08.05.2005 04:10
Problem mit auslesen von Checkboxen PHP Tipps 2005 2 08.03.2005 20:10
Umfrage-Formular mit Checkboxen und MySQL PHP Tipps 2004-2 10 26.11.2004 18:20
[Erledigt] checkboxen ankreuzen HTML, Usability und Barrierefreiheit 1 19.10.2004 14:22
$_POST und nicht geklickte Checkboxen PHP Tipps 2004 5 29.09.2004 21:41
Checkboxen übernehmen+prüfen+eintragen PHP Tipps 2004 8 09.09.2004 08:39
Auswertung von Checkboxen PHP Tipps 2004 21 23.08.2004 04:41
Checkboxen value übergeben ?? PHP Tipps 2004 15 15.08.2004 23:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
checkbox füllen aus datenbank html, php null in checkbox füllen, php checkbox wiederbefüllen, php checkbox befüllen, php form checkbox füllen, checkbox füllen, mehrere checkboxen füllen, checkbox aus datenbank füllen, http://www.php.de/datenbanken/45428-checkboxen-mit-php-werten-fuellen.html, datenbank mit werten von checkboxen füllen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.