SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 29.09.2004, 13:04:15
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
problem beim speichern und abrufen von checkboxen

hi

habe ein kleines problem und zwar möchte ich eine checkbox in mein formular einbauen allerdings funktionieren zwei dinge nicht.

1. wenn ich ein häckchen setze und auf speichern klicke steht in der db nix
2. schreibe ich es direkt in der db rein und lese es aus setzt er auch da kein häckchen

kann mir da jemand nen tip geben?
danke
hier der code von der box
PHP-Code:
<INPUT ID="Kontrollkästchen1" TYPE=CHECKBOX <? if($disk=="floppy"){echo "CHECKED";}?> NAME="n_disk" VALUE="floppy">
Mit Zitat antworten
  #2  
Alt 29.09.2004, 13:07:24
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Was nun? $n_disk oder $disk?

Außerdem solltest Du eher auf isset() prüfen. Ist besser.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 29.09.2004, 13:29:13
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
Zitat:
Original geschrieben von _c_4_
Was nun? $n_disk oder $disk?
nun $n_disk ist meine variable zum speichern die ja mit dem post übergeben wird und $disk ist meine variable die beim auslesen gefüllt wird. damit ich die auseinanderhalten kann. die dürften ja kein problem darstellen. bei denn eingabefeldern funzt das ja auch

hm also mit dem isset macht er zwar jetzt das häckchen rein aber das problem jetzt ist er macht es immer rein.
und beim speichern schreibt er immer noch nix in die db oder löscht es wenn das häckchen raus gemacht wurde :(

so sieht es jetzt aus
PHP-Code:
<INPUT ID="Kontrollkästchen1" TYPE=CHECKBOX <?if (isset($disk)) {echo "CHECKED";}?> NAME="n_disk" VALUE="floppy">
Mit Zitat antworten
  #4  
Alt 29.09.2004, 13:43:38
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Dann gib mal mehr Code. Vielleicht sogar einfach alles.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 29.09.2004, 14:33:34
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
alle kann ich net posten sonst kickt mich der admin :)

also ich fange damit an die db aus zu lesen wenn ein datensatz aufgerufen werden soll. die übergebene variable zum auslesen ist $b_id
PHP-Code:
    //abfrage tabelle pc_daten
    
$result4 = @mysql_query("SELECT board, speicher, prozessor, grafik, platte, laufwerk1, laufwerk2, disk,
                            card_r from pc_daten where inv_nr = '$b_id'"
);
    
//daten werden aus der datenbank geholt deren inventarnr mit dem link übereinstimmt

    //datenbank daten(felder der tabelle) werden aus dem array ausgelesen und variablen zugeordnet
    
while ($show4 = @mysql_fetch_array($result4)){
        
$board $show4["board"];
        
$mem $show4["speicher"];
        
$proz $show4["prozessor"];
        
$grafik_k $show4["grafik"];
        
$h_disk $show4["platte"];
        
$lw1 $show4["laufwerk1"];
        
$lw2 $show4["laufwerk2"];
        
$disk $show4["disk"];
        
$c_reader $show4["card_r"];
        } 
dann möchte ich wissen ob (als der datensatz angelegt wurde) eine floppy vorhanden ist oder nicht und dieses in der box anzeigen

hiermit
PHP-Code:
<INPUT ID="Kontrollkästchen1" TYPE=CHECKBOX <? if($disk=="floppy"){echo "CHECKED";}?> NAME="n_disk" VALUE="floppy">
wenn sich nun etwas verändert soll das ja auch in der db gespeichert werden (z.b. floppy wurde ausgebaut also kein häckchen beim nächsten anzeigen)

also update und das sieht so aus
PHP-Code:
if (isset($_POST['save_x'])){

     
//vorhandener Datensatz wird geändert
      
if('$b_id' == true){
           
        
$query3 "UPDATE pc_daten set gehause = '".$gehart."',
                   board = '"
.$n_board."', speicher = '".$speicher."', prozessor = '".$n_proz."',
                    grafik = '"
.$g_card."', platte = '".$hd_disk."', laufwerk1 = '".$n_lw1."',
                   laufwerk2 = '"
.$n_lw2."', disk = '".$floppy."', card_r = '".$c_r."'
                   where inv_nr = '"
.$b_id."'";

        
mysql_query($query3) or die(mysql_error());
    }

gesendet wird das mit einem speicher button
Mit Zitat antworten
  #6  
Alt 29.09.2004, 14:39:08
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Was du überprüfen könntest, wäre mal, ob vielleicht irgendwo in $disk überflüssig Leerzeichen sind. Wenn $disk = 'floppy '; wäre if($disk == "floppy") immer false. Das Problem kannst du aber mit trim() sehr gut beheben.
Mit Zitat antworten
  #7  
Alt 29.09.2004, 14:57:55
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
hab das trim eingebaut aber daran liegt es leider nicht. er macht immer noch von anfang an ein häckchen rein. obwohl in der db nix steht

denke mal ich hab es richtig gemacht?
PHP-Code:
$disk_t trim ($disk); 
danach natürlich noch die if anweisung geändert und da viel mir auf das wenn ich sie in "" setze macht er das häckchen nicht mehr rein mach ich die "" weg kommt das häckchen wieder. allerdings speichert er immer noch nix in der db bzw macht ein häckchen wenn etwas drin steht.

so sieht die box jetzt aus

PHP-Code:
<INPUT ID="Kontrollkästchen1" TYPE=CHECKBOX "<?if (isset($disk_t)) {echo "CHECKED";}?>" NAME="n_disk" VALUE="floppy">
ist irgendwie zum verzweifeln das teil
Mit Zitat antworten
  #8  
Alt 29.09.2004, 15:15:11
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
$disk_t ist immer gesetzt. Wenn du aber if($disk_t == 'floppy') schreibst, sollte es gehen.
Mit Zitat antworten
  #9  
Alt 29.09.2004, 15:48:12
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
ich habe das ganze jetzt mal etwas umgestrickt.

also es sieht jetzt folgendermasen aus

auslesen wie gehabt
PHP-Code:
//abfrage tabelle pc_daten
    
$result4 = @mysql_query("SELECT board, speicher, prozessor, grafik, platte, laufwerk1, laufwerk2, disk,
                            card_r from pc_daten where inv_nr = '$b_id'"
);
    
//daten werden aus der datenbank geholt deren inventarnr mit dem link übereinstimmt

    //datenbank daten(felder der tabelle) werden aus dem array ausgelesen und variablen zugeordnet
    
while ($show4 = @mysql_fetch_array($result4)){
        
$board $show4["board"];
        
$mem $show4["speicher"];
        
$proz $show4["prozessor"];
        
$grafik_k $show4["grafik"];
        
$h_disk $show4["platte"];
        
$lw1 $show4["laufwerk1"];
        
$lw2 $show4["laufwerk2"];
        
$disk $show4["disk"];
        
$c_reader $show4["card_r"];
        } 
dann anklicken oder nicht bzw abfragen ob geklickt oder net
value kann ich mir in dem fall sparen da ja ein wert gesendet wird wenn ein hacken gesetzt wurde

PHP-Code:
<INPUT TYPE=CHECKBOX "<? if($disk== 'on'){echo "CHECKED";} ?>"  NAME="floppy">
wenn das teil angeklickt ist und ich lasse die variable $floppy ausgeben bringt er on
also hab ich folgendes gemacht

PHP-Code:
if (isset($_POST['save_x'])){
    
    
//on oder nicht?
    
echo $floppy;

    
//wenn sie on ist soll $disk denn wert on erhalten
    
if($floppy == 'on'){
        echo 
"kontrolle ob es funzt";
        
$disk on;
    }
    
//wenn $floppy net on ist, ist sie leer also soll $disk auch leer sein
    
else if($floppy == ''){
        echo 
"leer ok";
        
$disk ''
    }

    
//nochmal zur kontrolle 
    
echo $n_disk//der wert stimmt
    
$query3 "UPDATE pc_daten set gehause = '".$gehart."',
               board = '"
.$n_board."', speicher = '".$speicher."', prozessor = '".$n_proz."',
               grafik = '"
.$g_card."', platte = '".$hd_disk."', laufwerk1 = '".$n_lw1."',
               laufwerk2 = '"
.$n_lw2."', disk = '".$disk."', card_r = '".$c_r."'
               where inv_nr = '"
.$b_id."'";

    
mysql_query($query3) or die(mysql_error()); 
also soweit hab ich ihn nur das problem besteht jetzt erst mal darin das er den wert on net speichert aber wieso net?

wenn ich was anderes verändere speichert er es aber diesen wert nicht.
als feldtyp für disk hab ich in der db übrigens varchar angegeben aber denke mal das ist ok
Mit Zitat antworten
  #10  
Alt 29.09.2004, 15:59:11
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
ok habe ihn nun soweit das er den wert on speichert also wieder zurück zu problem 1. häckchen setzten wenn on drin steht keins setzen wenn on net drin steht. bei der nächsten frage ist der code dabei wie er im mom ist von der box

noch ne andere frage normalerweise schreibe ich ja <? php ?> im html code soll ich es nun so

PHP-Code:
<INPUT TYPE=CHECKBOX "<? if($disk!=''){}else{echo "CHECKED";} ?>"  NAME="floppy">

//oder so machen? er meckert bei beidem nix an aber was stimmt jetzt?
//laut meines wissen das unter oder??
<INPUT TYPE=CHECKBOX <? if($disk!=''){}else{echo "CHECKED";} ?>  NAME="floppy">

Geändert von Stifler (29.09.2004 um 16:01:40 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:30:46 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt