php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.07.2007, 14:19  
Erfahrener Benutzer
 
Registriert seit: 10.02.2004
Beiträge: 132
Pimbolie1979
Standard

Was ich einfach nicht vestehe ist folgendes:

Ich erzeuge einfach ein leeres array mit

$checkboxenzustand = array();

Der Inhalt des Array ist jetzt undefiniert.

Im HTML-Code wird dann eine Checkbox erzeugt. Jeder Chebox besitzt eine Variable die den Zustand speichert. Wenn ich dann auf dem Submit Knopf drücke wird das Formular abgeschickt und ich kann mit $_REQUEST['CHECKBOXVARIABLENNAME'] den Zustand der Checkbox auslesen. Jedoch hat die Checkbox jetzt keinen Variablennamen, sondern der Zustand soll in einem Array abgespeichert werden. Demnach muss ich auf ein Array verweisen. Dies mache ich folgendermaßen:

<input name=" <? echo($checkboxenzustand[0]); ?> " type="checkbox" class="checkbox" id="morgens" value="1" />

Dies funktioniert so aber nicht, da ich den Inhalt des 0. Arrayelementes dem Namen zuweise, da noch nichts im Array steht, bleibt der Name leer. Wie muss die Zuweiseung aussehen, damit ich in das 0.Arrayelement schreibe?
__________________
www.Gastgeber-Deutschland.de
Pimbolie1979 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.07.2007, 17:08  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Pimbolie1979
2. mir war so als ob ich es auch ohne echo machen konnte
Die Kurzschreibweise lautet <?=$variable?>. Das bei dir fehlende = entscheidet dann aber eben, ob der Wert von $variable angezeigt wird, oder im Nirvana verschwindet.

Zitat:
Zitat von Pimbolie1979
3. der Rest der Pfhelermeldung war nur der Pfad der Datei, der hatte nicht damit zu tun
Wenn ich mich richtig erinnere, müsste dort "Argument #2 must be an array" folgen.

Zitat:
Im HTML-Code wird dann eine Checkbox erzeugt. Jeder Chebox besitzt eine Variable die den Zustand speichert. Wenn ich dann auf dem Submit Knopf drücke wird das Formular abgeschickt und ich kann mit $_REQUEST['CHECKBOXVARIABLENNAME'] den Zustand der Checkbox auslesen. Jedoch hat die Checkbox jetzt keinen Variablennamen, sondern der Zustand soll in einem Array abgespeichert werden. Demnach muss ich auf ein Array verweisen. Dies mache ich folgendermaßen:

<input name=" <? echo($checkboxenzustand[0]); ?> " type="checkbox" class="checkbox" id="morgens" value="1" />

Dies funktioniert so aber nicht, da ich den Inhalt des 0. Arrayelementes dem Namen zuweise, da noch nichts im Array steht, bleibt der Name leer. Wie muss die Zuweiseung aussehen, damit ich in das 0.Arrayelement schreibe?
Verstehe ich nicht.
Zergling-new ist offline  
Alt 10.07.2007, 17:19  
Benutzer
 
Registriert seit: 02.12.2007
Beiträge: 70
Drache befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Pimbolie1979
Was ich einfach nicht vestehe ist folgendes:

Im HTML-Code wird dann eine Checkbox erzeugt. Jeder Chebox besitzt eine Variable die den Zustand speichert.
soweit so gut. versuch mal php und html zu trennen. html wird vom browser interpretiert. php wird ausgeführt, bevor das ganze an den browser geht.
von da her ist diese aussage schonmal nicht ganz zutreffend, da du hier(nachdem wie ich es verstanden habe) php und html vermischst die checkbox braucht einen NAMEN. dieser kann als array definiert sein, hat aber NICHTS mit den VARIABLEN AUS PHP zu tun.
will heißen, du brauchst kein array anzulegen, um den checkboxen leere variablen als name zuzuweisen.
Zitat:
Zitat von Pimbolie1979
Wenn ich dann auf dem Submit Knopf drücke wird das Formular abgeschickt und ich kann mit $_REQUEST['CHECKBOXVARIABLENNAME'] den Zustand der Checkbox auslesen.
soweit richtig, wenn die checkbox einen namen hat.
Zitat:
Zitat von Pimbolie1979
Jedoch hat die Checkbox jetzt keinen Variablennamen,
was nicht weiter verwunderlich ist, da du der checkbox keinen namen zuweist, sondern den inhalt eines nicht existenten array-feldes
Zitat:
Zitat von Pimbolie1979
sondern der Zustand soll in einem Array abgespeichert werden.
das wird erreicht, indem du dem HTML-namen der checkbox die eckigen klammern anhängst (name[]).
Zitat:
Zitat von Pimbolie1979
Demnach muss ich auf ein Array verweisen.Dies mache ich folgendermaßen:

<input name=" <? echo($checkboxenzustand[0]); ?> " type="checkbox" class="checkbox" id="morgens" value="1" />
schau dir die ausgabe(html-code, nicht die standartdarstellung) deines browsers an. diese hilft schonmal sehr viel weiter.
Zitat:
Zitat von Pimbolie1979
Dies funktioniert so aber nicht, da ich den Inhalt des 0. Arrayelementes dem Namen zuweise, da noch nichts im Array steht, bleibt der Name leer. Wie muss die Zuweiseung aussehen, damit ich in das 0.Arrayelement schreibe?
wenn du es mit arrays aus php umsetzen willst, musst du dort die namen hineinschreiben
PHP-Code:
<?php
$checkboxenname 
= array("checkboxenzustand[0]""checkboxenzustand[1]""checkboxenzustand[2]",...);
?>
<input name="<? echo($checkboxenzustand[0]); ?>" type="checkbox" class="checkbox" id="morgens" value="1" />
und ansonsten die einfachere version: (vgl. zergling's vorschlag)
Code:
<input name="checkboxenzustand[1]" type="checkbox" class="checkbox" id="morgens" value="1" />
wer bitteschön hat dir den floh ins ohr gesetzt, dass php-arrays nötig sind, dass checkboxen in html als array behandelt werden? (hier jedenfalls stand das nirgends)
__________________
Karteikasten
"Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions
Drache ist offline  
Alt 10.07.2007, 17:35  
Benutzer
 
Registriert seit: 01.07.2007
Beiträge: 47
PHP-Kenntnisse:
Fortgeschritten
ecomeback
Standard

Also bei mir wird der Zustand einer Checkbox immer noch über den Klick der gleichen bestimmt, da nicht angeklickte Checkboxen ja eh nicht übergeben werden. Das man Zustände im Namen der Checkbox speichert, hört sich für mich erst einmal sehr fragwürdig bis unnötig an. Da wäre man besser beraten sich eine kleine Funktion zu schreiben, oder wie auch immer, die Boxen zu generieren und mit einem checked="checked" als Atribut zu versehen, wenn die Boxen angeklickt vorbelegt werden sollten etc. Vor allen Dingen frage ich mich welcher Zustand mit dem Namen der Box belegt werden soll?

Auf der anderen Seite lässt man einfach einen Counter durchlaufen und kann dann jederzeit die Checkboxen anhand ddes Counters oder einer id eindeutig identifizieren.

<input name="box[<?php echo $i; ?>]" .../>
ecomeback ist offline  
Alt 10.07.2007, 19:33  
Erfahrener Benutzer
 
Registriert seit: 07.07.2005
Beiträge: 150
sysop
sysop eine Nachricht über ICQ schicken
Standard

PHP-Code:
<?PHP

/**
    vorbelegen der checkboxen oder code zum auslesen bestehender auswahlen

    der code dazu nach diesem rem z.b.
**/

$u_toedit[0] = 1;
$u_toedit[1] = 0;
$u_toedit[2] = 1;
$u_toedit[3] = 0;
$u_toedit[4] = 1;

if(!isset(
$_POST['admode'])) $admode "";
else 
$admode $_POST['admode'];

switch(
$admode)
{

    default:

    
?>
    <form method="post" action="<?=$PHP_SELF?>">
    <input type="hidden" name="admode" value="save">
    <?PHP
    
for($lo 0$lo <= 4$lo++)
    {

        echo 
$lo;
        
?>
            <input value="1" type="checkbox" name="adrright[<?=$lo?>]" onfocus="this.blur()"<? if($u_toedit[$lo] == 1) echo " checked"?>>
        <?
    
}
    
?>
    <input type="submit" value="Abschicken" class="abutton1">
    </form>

    <?PHP
    
break;

    case 
'save':

    
$werte $_POST['adrright'];

    
// alle variablen belegen, ob geklickt oder nicht
    
for($xy 0$xy <= 4$xy++)
    {
        if(
$werte[$xy] == "")
        {
            
$wert[$xy] = 0;
        }
        else
        {
            
$wert[$xy] = 1;
        }
    }

    
$ausgabe implode(",",$wert);

    echo 
$ausgabe;

// ende switch
dirty, aber sollte funktionieren. etwas soll dir aber auch noch bleiben, den rest musst du dir selber coden.

zur fragwürdigkeit der speicherung der zustände..
ich nutze sowas auch, um z.b. in der administration zu setzen, was von einer vorgegebenen auswahl alles geloggt werden soll und was nicht.
__________________
gruss sys
sysop ist offline  
 


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
Russische Namen in Datenbank speichern. HSFighter Datenbanken 2 27.05.2008 21:29
Variablen in Datenbank speichern und auslesen freehawk PHP-Fortgeschrittene 4 16.03.2008 17:22
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Inhalte in Datenbank speichern Maxi Datenbanken 31 14.09.2007 18:56
Speichern einer Telefonliste mit PHP in einer Datenbank timo_81 PHP Tipps 2008 30 07.09.2007 17:52
Inhalte in einer Datenbank speichern Maxi Datenbanken 5 02.09.2007 21:37
Verkleinertes Bild (Thumb) in Datenbank speichern Da-JS PHP Tipps 2006 17 21.05.2006 17:35
Daten aus Datenbank sinnvoll speichern PHP Tipps 2006 15 02.02.2006 19:54
[Erledigt] Datensätze aus Datenbank speichern und zuweisen PHP Tipps 2005-2 6 11.09.2005 15:38
PHP in eine Datenbank speichern. PHP Tipps 2005 17 03.05.2005 21:13
htmlcode in datenbank speichern PHP Tipps 2005 38 09.04.2005 20:58
Probleme beim speichern in die Datenbank Jojo1 PHP Tipps 2005 14 03.02.2005 14:50
in mysql datenbank speichern. PHP Tipps 2004 9 08.09.2004 21:31
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55
Bilder in Datenbank speichern PHP Tipps 2004 11 05.08.2004 10:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php checkbox vorbelegen, html leere checkbox speichern, zustand php speichern, php checkbox vorbelegen unchecked, zustand einer checkbox speichern, checkbox belegen mit variable php, input checkbox vorbelegen und auslesen, checkbox speichern und auslesen, php checkbox vorbelegung checked, php checkboxen vorbelegen, php checkbox vorbelegung, checkbox vorbelegung php, checkbox variabel, leere checkbox speichern, checkbox soll keinen leeren wert enthalten

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:39 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.