variablenübergabe per url
olli
- php
0 Tobias Kloth0 olli0 Thomas Luethi0 olli
0 Uschi Renziehausen
hallo, ich habe das schon oft gesehen, das variablen mit der url übergeben werden. sinnvoll ist es zum beispiel, wenn man einen werberlink macht o.ä.
http://www.domain.de/?werber=name
soetwas in dieser art schwebt mir auch vor augen, nur weiß ich nicht so recht wie ich soetwas lösen kann, da dies information eigentlich erst auf einer zweiten unterseite verarbeitet wird.
das sieht bei mir wie folgt aus.
http://www.domain.de/anmeldung.php?quelle=name
diese seite hat einen html kopf, im body ist php script, welches ein eingabeformular generiert( dort ein hidden feld mit dem namen quelle ), dieses wird per POST versendet an
http://www.domain.de/eintragen.php
dort werden die eingegebenen daten nochmal angezeigt, und hier soll auch die per url ankommende variable
$quelle
angezeigt werden ( per echo z.B.)
habe das versenden der daten mal mit GET überprüft, die variable quelle hat keinen wert.
vielleicht kann mir hier ja jemand nen tipp oder ne denkrichtung geben. danke
Hallo olli,
habe das versenden der daten mal mit GET überprüft, die variable quelle hat keinen wert.
ich tippe mal auf register_globals=off, was bedeutet dass du $_GET['quelle'] verwenden musst (bzw. bei method="post" eben $_POST['quelle']) (siehe auch http://www.php.net/manual/en/language.variables.predefined.php).
Grüße aus Nürnberg
Tobias
ok, habe es soweit hinbekommen, aber stehe vor einen problem
habe diese beiden codeschnipsel eingebettet in html
<?php
echo "<font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">$geb_datum</font>";
?>
<?php
echo "<font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">$alt_mail</font>";
?>
um die variablen die übergebn wurden anzuzeigen.
die per get angezeigte url sieht so aus
http://www.domain.de/anm_form.php?geb_datum=hjkhkj&alt_mail=jhsdfdtfse@hfd.de&Submit=Anmelden
es wird aber nur die var $geb_datum angezeigt. *nixversteh*
sollte doch passen oder etwa nicht?
danke
Hallo,
echo "<font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">$geb_datum</font>";
Bitte
die per get angezeigte url sieht so aus
http://www.domain.de/anm_form.php?geb_datum=hjkhkj&alt_mail=jhsdfdtfse@hfd.de&Submit=Anmelden
Wenn Du das name-Attribut aus dem Submit-Button wegmachst,
faellt der letzte, ueberfluessige Parameter schonmal weg.
es wird aber nur die var $geb_datum angezeigt. *nixversteh*
_Wie_ uebernimmst Du die GET-Variablen?
Doch nicht etwa als globale Variablen?
Arbeite mit $_GET oder $_REQUEST.
Lass Dir mal im Skript alle uebergebenen Parameter anzeigen:
print("<pre>");
print_r($_REQUEST);
print("</pre>");
Gruesse,
Thomas
- verwende sowieso kein FONT mehr
warum?
_Wie_ uebernimmst Du die GET-Variablen?
Doch nicht etwa als globale Variablen?Arbeite mit $_GET oder $_REQUEST.
in arbeit ;)
Lass Dir mal im Skript alle uebergebenen Parameter anzeigen:
print("<pre>");
print_r($_REQUEST);
print("</pre>");
wie gesagt, var kommt an
Array
(
[geb_datum] => adsadawd
[alt_mail] => asdfa@dfjhnfks.de
[Submit] => Anmelden
)
mmhm, mal schauen was noch so geht ;)
danke
Hallo,
- verwende sowieso kein FONT mehr
warum?
Ich antworte selten so, aber diesmal tue ich's:
Siehe </archiv/>
FONT ist veraltet ("deprecated"), weil es ein nutz- und sinnloses "Element" ist.
http://www.w3.org/TR/1999/REC-html401-19991224/present/graphics.html#edef-FONT
In HTML 4.01 Strict, XHTML 1.0 Strict und XHTML 1.1 kommt es schon gar nicht mehr vor.
Weitere Lektuere.
http://selfhtml.teamone.de/html/text/schrift.htm
http://www.w3.org/2003/07/30-font-size#goodpractice
Die salppe Formulierung "forget font" auf einer W3C-Seite gefaellt mir ;-)
Ersetze es durch HTML (z.B. EM oder STRONG, wenn Du etwas hervorheben willst,
durch H1, H2 u.s.w., wenn es sich um Ueberschriften handelt, u.s.w.),
oder durch <span>, wenn es wirklich nur ums Layout geht, und formatiere
die Elemente mit CSS entsprechend Deinen Wuenschen.
print_r($_REQUEST);
wie gesagt, var kommt an
Array
(
[geb_datum] => adsadawd
[alt_mail] => asdfa@dfjhnfks.de
[Submit] => Anmelden
)
Na also, das hast Du es.
Die Variable ist verfuegbar.
Bevor Du sie wieder in den HTML-Code schreibst,
solltest Du sie aus Sicherheitsgruenden "entschaerfen".
Z.B. so:
$mail_entschaerft = htmlspecialchars(trim($_REQUEST['alt_mail']));
Das ersetzt die spitzen Klammern und die Anfuehrungszeichen (<,>,").
Lies: http://www.dclp-faq.de/q/q-sicherheit-parameter.html
Dann kannst Du den Wert der Variable ins Hidden-Form-Field schreiben:
echo '<input type="hidden" name="alt_mail" value="' . $mail_entschaerft . '">';
mfg
Thomas
Guggugs,
dass deine hiddenfield im Formular den auf den Namen quelle hört, reicht nicht aus, es muss auch der Wert eingetragen werden, also in etwa so:
<input type="hidden" name="quelle" value="<?php if isset($quelle) echo $quelle ?>" />
Wenn du dir Variablen über viele Seiten merken möchtest, bietet sich die Arbeit mit Sessions an, das ist viel bequemer und haltbarer.
Liebe Grüße, Uschi