versuch mal folgendes:
- var_dump($_REQUEST);
- echo $_POST['NAME'];
Hi!
Versuche von einer PHP-Seite an eine andere eine Variable zu übergeben, was nicht klappen will![]()
Die Suche hat mich schon so weit gebracht, die Variable mit $_POST oder $_GET anzusprechen, dennoch funktioniert es nicht.
Alle drei nachfolgenden Befehle liefern "leere" Ergebnisse:
echo "Name: $NAME";
echo "Name-Post: $_POST[NAME]";
echo "Name-Get: $_GET[NAME]";
Eingelesen wird die Variable in einem stinknormalen Formularfeld:
<input name="NAME" type="text" id="NAME" style=" ... stylesheetangaben ...">
Was könnte ich noch übersehen haben???
Freedom for Mars!
versuch mal folgendes:
- var_dump($_REQUEST);
- echo $_POST['NAME'];
$POST_[NAME] ist eine konstante, da es aber eine variable aus dem formular ist, muss sie, wie schon von mike beschrieben, in singlequoates (') geschrieben werden, also $POST_['NAME']
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
ach man, jetz sind mir die unterstriche hinter das POST gerutscht, muessen natuerlich direkt hinter dem $ stehen.
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
So, dann wird folgendes ausgegeben:
array(0) { }
![]()
Was mach ich bloß falsch??? Ich habe einen Form-Mailer, und der verarbeitet die Variablen völlig korrekt, also muss die Übergabe prinzipiell tadellos funktionieren - aber kaum greif ich mit meinen Fingern dazu, kommt plötzlich sowas daher!?!
Freedom for Mars!
Kann ich mir jetzt auch keinen Reim drauf machen, dass einzige was ich mir jetzt noch vorstellen könnte wäre, dass du eine zu alte PHP Version verwendest, die $_POST und $_GET noch nicht kennt und wo zugleich in der httpd.conf festgelegt ist, dass du nicht über $name zugreifen kannst. ... Dann müsstest du es mal mit $HTTP_POST_VARS oder HTTP_GET_VARS probieren.
(... wäre jetzt das was ich nochmal probieren würde ....)
cYa
Paracvb
ansonsten mal n bischn quellcode posten damit man das mal als ganzes sehen kann
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
Hi!
Ich war gerade dabei eine Antwort zu schreiben, als mir der "Fehler" plötzlich sonnenklar war: ich rufe die Seite ja nicht direkt auf, sondern zuerst ein Formularmailer-Script und wenn nicht alle Pflichtfelder ausgefüllt sind, ruft dieses Script die neue Seite auf, und da sind die Werte natürlich verloren.
Schaut mal auf folgende Seite: Kontaktseite
Gebt nicht alle Pflichtfelder ein und geht auf Senden. Damit erscheint nochmals das Formular mit einer Fehlermeldung. Mein Problem: die bereits ausgefüllten Felder sollen erhalten bleiben
Also:
kontakt.php -> formmail.php -> kontakt_error.php
Das Formularmailer-Script wertet die eingegebenen Felder in einem Array aus, und auf DIESES müsste ich dann auf der Error-Seite zugreifen können, oder?
Wie spreche ich dieses Array an? Das ist mir noch eine Spur zu hoch. Anbei der Quelltext vom mailer, der die Eingabe auswertet:
$erforderlich = explode (",", strtolower($erforderlich));
$werte = array("erforderlich","fehler","weiterleitung","betreff","empfaenger","autoantwort","autoantwortbetreff");
while (list($key, $val) = each($HTTP_POST_VARS))
{
if(in_array(strtolower($key),$erforderlich) AND $val=="") {
header("Location: $fehler");
exit;
}
if(!in_array(strtolower($key), $werte)) {
$mailtext .= sprintf("%-19s: %s\n",$key,$val);
}}
//echo "<pre>$mailtext</pre>";
//exit;
if(mail ($empfaenger,$betreff,$mailtext, "From: $Email"))
{
if ($fp = @fopen("mail.log", "a+"))
{
$datum = date("d.m.Y H:i");
$text = $datum."\r\nEmpfänger:\r\n".$empfaenger."\r\n\r\nBetreff:\r\n".$betreff."\r\n\r\nText:\r\n".$mailtext."\r\n-----------------------------------\r\n\r\n";
@fwrite($fp, $text);
fclose($fp);
}
}
Freedom for Mars!
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)