AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP]: Variabel mit Variabelinhalt

Offene Frage von "yankee"
Ein Thema von yankee · begonnen am 13. Nov 2004 · letzter Beitrag vom 15. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#1

[PHP]: Variabel mit Variabelinhalt

  Alt 13. Nov 2004, 23:47
schwierig einen selbsterklärenden Titel zu finden... also nochmal, da das wohl kaum einer verstanden hat:
Ich werte mit PHP ein formular aus. Dafür habe ich erstmal diesen array:
$felder =array("Nickname", "Vorname", "Nachname", "email", "Strasse", "PLZ", "Ort", "Telefon", "Handy", "ICQ");
In dem Formular habe ich ganz viele checkboxen. Um genau zu sein, sind dort genausoviele checkboxen, wie der array elemente hat. Und die heißen sogar genau so. Um jetzt aufzulisten, was der User ausgewählt hat, dachte ich, man könnte doch einfach mit einer foreach-schleife alle elemente des arrays durchlaufen lassen, und so, mit nur einem Befehl von allen checkboxen anzeigen lassen können, ob die checkboxen angewählt wurden oder nicht... Bloß wie? Meine erste idee war dies so zu tun:

foreach($felder as $f)
{
$inhalt .="Feld ".$f." ist aktiviert??: ".$_POST[$f]."
"
;
}

Das hat jedoch nicht geklappt. Normalerweise hole ich variabeln dieser Art immer mit auto-globals in den code. Also teste ich ein wenig und ich fand' heraus (zumindest glaube ich das), dass $_POST immer leer ist. --> Ich muss wohl auf etwas anderes zurückgreifen. Meine zweite Idee:
dies so zu tun:

foreach($felder as $f)
{
$inhalt .="Feld ".$f." ist aktiviert??: ".eval("$".$f)."
"
;
}

Dann kommen aber errors:
Parse error: parse error, unexpected $end in [..]stufenliste.inc.php(12) : eval()'d code on line 1
Und zwar kommt der Fehler ganz oft. Für jede Zeile inmal. Was mache ich falsch? Wie muss ich es anstellen, damit es funzt?
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: [PHP]: Variabel mit Variabelinhalt

  Alt 14. Nov 2004, 01:54
Hi yankee,

wen $_POST wie du sagst immer leer ist, dann solltest du mal überprüfen ob das form auch mit action="post" abgesendet wird. Evtl. solltest du mal $_GET probieren. Ansonsten seh ich in dem Code keinen Fehler

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#3

Re: [PHP]: Variabel mit Variabelinhalt

  Alt 14. Nov 2004, 09:29
Ja, form hatte keine method angegebn. Ich habe mal post reingeschrieben, aber es funzt immernoch nicht. Aber ich weiß jetzt, warum die zweite Variante mit eval nicht funzt:
Die Variable ist nicht global und der code wir in einer function ausgeführt... Ich musste vor die Variable also erst global setzen. Der nun funktionierende code sieht so aus:

foreach($felder as $f)
{
eval("global \$".$f."; \$str =\$".$f.";");
$inhalt .="Feld ".$f." ist aktiviert??: ".$str."
"
;
}
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: [PHP]: Variabel mit Variabelinhalt

  Alt 14. Nov 2004, 09:33
Du weist, dass du dir das ganze zeug mit eval auch sparen kannst, oder ?
Variable Variablen
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: [PHP]: Variabel mit Variabelinhalt

  Alt 14. Nov 2004, 09:58
wieso $inhalt .= .......
doch nur ein einfaches =
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#6

Re: [PHP]: Variabel mit Variabelinhalt

  Alt 14. Nov 2004, 10:00
Zitat von jfheins:
Du weist, dass du dir das ganze zeug mit eval auch sparen kannst, oder ?
Variable Variablen
Oh je... versteh ich nicht... Oder?
Naja, ich habe das so verstanden:
Ich habe eine Variable, der ich einen String zuweise:
$variable = "tuut";
und wenn ich dieser Variable nochmal einen Wert zuweise, aber dabei ein doppeltes $$ verwende:
$$variable ="abababab";
Dann hat die Variable plötzlich den Name tuut.
Also:
print($tuut);
führt zu: abababab

Aber mal angenommern ich habe das richtig verstanden. Wie soll man das denn einsetzen? Ich kann der Variable zwar dynamisch einen Namen verpassen, aber tzrotzdem nichtmehr drauf zugreifen, weil ich den Variablenname auch wieder mit eval ansprechen müsste
*verwirrt*
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#7

Re: [PHP]: Variabel mit Variabelinhalt

  Alt 14. Nov 2004, 10:06
Zitat von idontwantaname:
wieso $inhalt .= .......
doch nur ein einfaches =
Wenn ich ein einfaches gleich nehmen würde, dann wäre am Ende (wen die Schleife durchgelaufen ist) nur das drin, was beim letzen durchlauf herausgekommen ist, weil der Inhalt immer wieder überschrieben wird.
Mal manuell veanschaulicht:

$Nickname ="meinNick";
$Vorname ="meinName";

$inhalt .=$Nickname."
"
;
$inhalt .=$Vorname."
"
;
führt dazu, dass in $inhalt dieses hier steht:

meinNick
meinname


wenn ich die Punkte weglassen würde, dann würde dort nur noch
meinName

drinstehen.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#8

Re: [PHP]: Variabel mit Variabelinhalt

  Alt 14. Nov 2004, 10:23
Hi yankee,

wenn du vor dem Code $felder als global setzt, dann sollte auch der folgende Code funktionieren:
Zitat von yankee:
foreach($felder as $f)
{
$inhalt .="Feld ".$f." ist aktiviert??: ".$_POST[$f]."
"
;
}
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#9

Re: [PHP]: Variabel mit Variabelinhalt

  Alt 14. Nov 2004, 10:30
Zitat von yankee:
Aber mal angenommen ich habe das richtig verstanden. Wie soll man das denn einsetzen? Ich kann der Variable zwar dynamisch einen Namen verpassen, aber tzrotzdem nichtmehr drauf zugreifen, weil ich den Variablenname auch wieder mit eval ansprechen müsste
*verwirrt*
Naja, du kannst statt
Code:
eval("global \$".$f."; \$str =\$".$f.";");
folgendes schreiben :
Code:
global $$f;
$str = $$f
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#10

Re: [PHP]: Variabel mit Variabelinhalt

  Alt 14. Nov 2004, 10:51
Zum verständnis poste ich mal die ganze function:

function printlist()
{
global $felder;
foreach($felder as $f)
{
eval("global \$".$f."; \$str =\$".$f.";");
$inhalt .="Feld ".$f." ist aktiviert??: ".$str."
";
}
send_page($inhalt, "", "css/std.css", true);
}

die function send_page macht eigentlich nichts anderes als die Variable $inhalt der print-function zu übergeben, alleridngs fügt es dabei noch ein paar Sachen wie ein div mit navigationsleiste hinzu...

Naja, du kannst statt
Code:
eval("global \$".$f."; \$str =\$".$f.";");
folgendes schreiben :
Code:
global $$f;
$str = $$f
[/quote]
Wenn ich das richtig sehe, kann ich also sowas schreiben (in der foreach-schleife):

$str =$$f;
$inhalt .="Feld ".$f." ist aktiviert??: ".$str."
";

oder gleich:

$inhalt .="Feld ".$f." ist aktiviert??: ".$$f."
";
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz