Variable über dropdown bestimmen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aussehen
beitrag
besucher
fehler
folgenden fehler
hilfe
melde
page
prinzip
send
session
speicher
style
test
textform
variable
versuch
wechsel
-
Hi leute,
ich habe vor, meine Homepage ?ber 2 Styles laufen zu lassen. Den Style sollen die Besucher ?ber ein Dropdownmen? ausw?hlen k?nnen. Nun hab ich das Problem, wie die Variable (bei mir $style) von den Besuchern so ge?ndert werden soll, dass es zwei m?glichkeiten daf?r gibt. Kann auch meinetwegen in Textform sein, aber sodass nur ein Link (z.B. "style wechseln") zu sehen ist. Ich hoffe, ich hab mich klar genug ausgedr?ckt.
Also hier nochmal alles kurz erkl?rt:
Ich will eine Variable (hier $style) duch ein Dropdown, oder einen Textlink ?ndern k?nnen.
Danke f?r eure Hilfe
Kafke -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ICh w?rde es ?ber get versuchen, also:
<a href="x.php?a=2">TExt</a>
und dann den Wert holen:
$style=$_GET['a'];
Beitrag ge?ndert: 10.9.2006 9:44:44 von simico
Dann m?sstest du aber jedesmal, wenn die Seite neu geladen wird oder wenn man auf einen Link klickt, die Variable mit an die URL h?ngen.
Ich w?rde es wirklich mit einem Dropdownmen? machen, das du irgendwo auf der Seite einbaust und dann, nachdem der User auf submit gedr?ckt hat, das ganze in einer Session speichern.
Der Code f?r das Dropdownmen? k?nnte vll so aussehen:
echo "<form action=\"stylechange.php\" method=post> <select name=style> <option value=\"style1\">Style1</option> <option value=\"style2\">Style2</option> ... </select> <input type=submit value=\"Style ?ndern!\" name=senden> </form>";
In der stylechange.php ?berpr?fst du dann einfach, welcher Style gew?hlt wurde und speicherst den dann einfach in einer Session:
session_start(); if(isset($_POST['senden'])) { $_SESSION['style']=$_POST['style']; echo "<meta http-equiv=\"refresh\" content=\"0; URL=index.php\">"; }
Auf jeder Seite deiner Page musst du dann nat?rlich noch den Style wieder auslesen und zwar am Besten ganz am Anfang:
session_start(); if(isset($_SESSION['style'])) { $style=$_SESSION['style']; }else{ $style='style1'; } // dein weiterer code
Ich hoffe, ich konnte das Prinzip so einigerma?en verst?ndlich erkl?ren. -
Ok, danke ich werde gleich mal so versuchen. wenn es nicht klappt, dann melde ich mich nochmal.
MfG Kafke -
hab da leider ein Problem. bekomme immer folgenden fehler:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\...\htdocs\Web\Test\index.php:4) in
C:\...\htdocs\Web\Test\index.php on line 18
Der Fehler wird durch
session_start(); if(isset($_SESSION['style'])) { $style=$_SESSION['style']; }else{ $style='style1'; }
erzeugt.
Beitrag ge?ndert: 10.9.2006 16:00:18 von kafke -
Die ?berpr?fung, ob $_SESSION['style'] wirklich belegt ist, kannst du auch erst sp?ter vornehmen, das ist nicht weiter wichtig. Wichtig ist nur, dass session_start() ganz oben steht, bevor irgendein output stattgefunden hat. Am Besten du schreibst es gleich nach <? in deinem file
-
Ok, danke jetzt klappt alles.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage