Werte werden nicht übergeben
Christian
- php
0 globe0 Vinzenz Mai0 Tom
Hy Leute,
ich hab gegoogelt und auch einige Foren durchstöbert aber nicht wirklich das gefunden was mir weiter hilft.
Folgendes.
Ich hab ein ganz normales Formular mit PHP Elementen
<form action="http://www.vb-schmaranzer.at/templates/Schmaranzer/forms/email2.php" method="post">
<table width="575" border="0" cellspacing="0" cellpadding="00">
<tr>
<td width="86">Empfänger:</td>
<td width="489"> <?php
if($_GET['empfaenger']!=""){
echo '<input name="empfaenger" type="text" id="empfaenger" value="'.$_GET['empfaenger'].'@xxxx.at" disabled="disabled" size="35"/>';
}
else
echo'<input name="empfaenger" type="text" id="empfaenger" value="office@xxx.at" disabled="disabled" size="35" />';
?></td>
Das ganze wird wie gewohnt via POST übertragen.
Das PHP-Script welches die Email verschicken soll schaut so aus
function mailform(){
$empfaenger=$_POST['empfaenger'];
mail("$empfaenger","$betreff","$message","$absender");
Ich bekomme nun eine Meldung das kein Empfänger zu finden ist.
Wo liegt hier das Problem?
Bin um jede konstruktive Hilfe dankbar.
n'abend,
if($_GET['empfaenger']!=""){
echo '<input name="empfaenger" type="text" id="empfaenger" value="'.$_GET['empfaenger'].'@xxxx.at" disabled="disabled" size="35"/>';
schon wieder $_GET?
weiterhin schönen abend...
n'abend,
if($_GET['empfaenger']!=""){
- bist du sicher, dass du hier $_GET befragen willst?
Ja bin ich mir, weil normalerweise ist es leer, nur wenn in der Teamübersicht auf den Maillink geklickt wird, wird ein Teil der Emailadresse mit get übermittelt.
- bist du dir sicher, dass dieser Wert - mit Sicherheit - existiert? Prüfe mit isset(), ob das Array-Element auch wirklich existriert, bevor du es ansprichst
Wenn es nicht existiert, gibts ja noch immer die else-Anweisung.
Wenn ich mir die fertig generierte Seite anschaue, gibt es einen Empfängerwert im Formular, nur beim Abesenden funktionierts nicht
n'abend,
Wenn es nicht existiert, gibts ja noch immer die else-Anweisung.
Mir ging es eigentlich darum, dass du nicht auf Variablen zugreifen sollst, die möglicherweise nicht vorhanden sind. Das ist unsauberste <del>Programmierung</del><ins>Verhackstückelung von Sonderzeichen</ins>.
weiterhin schönen abend...
Hallo Christian,
nach dem Hinweis von Globe zu isset() noch zwei weitere Anmerkungen:
echo '<input name="empfaenger" type="text" id="empfaenger" value="'.$_GET['empfaenger'].'@xxxx.at" disabled="disabled" size="35"/>';
hier schreibst Du Eingaben von außen ungefiltert in HTML. Du solltest die
Eingabe entsprechend aufbereiten, d.h. gemäß HTML-Kontext behandeln.
$empfaenger=$_POST['empfaenger'];
mail("$empfaenger","$betreff","$message","$absender");
hier schreibst Du Eingaben von außen ungeprüft, ungefiltert und unbehandelt
(dafür aber überflüssigerweise umkopiert und in unnötige Anführungszeichen
gesetzt) in einen Mail-Kontext. Die Spammer werden es Dir danken.
Freundliche Grüße
Vinzenz
Hello,
und für die Fehlersuche hast Du bestimmt auch error_reporting(E_ALL) gersetzt?
Gibt es da keine Notices?
<form action="http://www.vb-schmaranzer.at/templates/Schmaranzer/forms/email2.php" method="post">
<table width="575" border="0" cellspacing="0" cellpadding="00">
<tr>
<td width="86">Empfänger:</td>
<td width="489"> <?php
if($_GET['empfaenger']!=""){
echo '<input name="empfaenger" type="text" id="empfaenger" value="'.$_GET['empfaenger'].'@xxxx.at" disabled="disabled" size="35"/>';
}
else
echo'<input name="empfaenger" type="text" id="empfaenger" value="office@xxx.at" disabled="disabled" size="35" />';
?></td>
>
> Das ganze wird wie gewohnt via POST übertragen.
> Das PHP-Script welches die Email verschicken soll schaut so aus
echo "<pre>\n";
echo htmlspecialchars(print\_r($\_POST,1));
echo "</pre>\n";
> ~~~
function mailform(){
> $empfaenger=$_POST['empfaenger'];
> mail("$empfaenger","$betreff","$message","$absender");
>
Ich bekomme nun eine Meldung das kein Empfänger zu finden ist.
Wo liegt hier das Problem?
Bin um jede konstruktive Hilfe dankbar.
Wenn Du wirklich Hilfe willst, müsstest Du uns erst einmal die ganze Wahrheit erzählen.
Was treibst Du in dem Script sonst noch?
Woher bekommst Du eine Meldung, dass kein Empfänger zu finden ist?
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom