Script Kontrolle.
Jakob Schweizer
- php
Hallo SelfHTML Forum.
Ich habe mir ein kleines php-Script zum versenden eines Formulars gebaut, es funktioniert aber nicht. (Das Ziel war, vor allem ein einfaches kurzes Script zu schreiben; orientiert hab ich mich an diversen Beispielen im Web)
Viellleicht hat jmd. einen Rat für mich? Danke !
<?php
#An wen?
$strEmpfaenger = 'nachricht@provider.de';
#Von wem?
$strFrom = 'info@example.org';
#Betreff
$strSubject = 'Kontaktanfrage';
#Folgeseiten
$strReturnhtml = 'http://www.example.org/kontaktende.html';
$strError = 'http://www.example.org/kontakterror.html';
#Funktion
if ($_POST)
{
if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $mailer_email))
{
mail($strEmpfaenger,$strSubject,"FROM: ".$strFrom);
header("Location: $strReturnhtml");
}
else
{
header("Location: $strError");
}
}
else
{
header("Location: $strError");
}
?>
Einen schönen Sonntag Abend noch.
Ich grüsse den Cosmos,
Viellleicht hat jmd. einen Rat für mich? Danke !
Na immer doch:
1. Fang fehlermelduungen ab, dann weisst du, wo es hackt.
2. beschreib dein Problem genauer. "es funktioniert aber nicht" ist vielleicht für Hellseher genügend, die sind hier aber dünn gesäht.
Schuss ins Blaue: Du rufst das Script direkt auf und nicht mit einem Formular per POST. Dardurch wird keine mail gesendet.
Möge das "Self" mit euch sein
Ich grüsse den Cosmos,
Viellleicht hat jmd. einen Rat für mich? Danke !
Na immer doch:
- Fang fehlermelduungen ab, dann weisst du, wo es hackt.
D.h.? Es wird mein $strError ausgegeben.
- beschreib dein Problem genauer. "es funktioniert aber nicht" ist vielleicht für Hellseher genügend, die sind hier aber dünn gesäht.
Die Fehlerseite $strError wird ausgegeben, es kommt kein EMail an.
Schuss ins Blaue: Du rufst das Script direkt auf und nicht mit einem Formular per POST. Dardurch wird keine mail gesendet.
Nein. Aufruf des Scripts durch <form action="mailer.php" method="post">.
Möge das "Self" mit euch sein
Mit mir ist es heute leider nicht so.. Sitze schon den ganzen Tag daran.. Wut, Verzweilfung.. Ihr kennt das ja.
Ich grüsse den Cosmos,
Die Fehlerseite $strError wird ausgegeben, es kommt kein EMail an.
Und wieso prüfst du dann nicht, in welchen der beiden Zweige diese Fehlermeldung ausgelöst wird? Und den Rückgabewert von mail() prüfst du auch nicht.
Wut, Verzweilfung.. Ihr kennt das ja.
Nein, die Fehlersuche dauert in diesem Fall maximal 10 Minuten, wenn man prüft, was nicht ausgeführt wird. Da du das nicht utst, bist du selber schuld, das du verzweifelst.
Möge das "Self" mit euch sein
He.
Und wieso prüfst du dann nicht, in welchen der beiden Zweige diese Fehlermeldung ausgelöst wird? Und den Rückgabewert von mail() prüfst du auch nicht.
Wie überprüfe ich den Verlauf des Scripts? Deswegen hatte ich "D.h.?" gepostet.
Danke dir.
P.s.:haltet du/ihr das Script überhaupt für gelungen/sinnvoll?
Ich grüsse den Cosmos,
Wie überprüfe ich den Verlauf des Scripts? Deswegen hatte ich "D.h.?" gepostet.
Na z.B. das du an relevanten Stellen Ausgaben auf den Bildschirm machst. Ob das jetzt Zahlen, Buchstaben, Variablen oder sonstwas sind, ist ja egal.
Möge das "Self" mit euch sein
hi,
if (ereg("...", $mailer_email))
Was soll $mailer_email darstellen - soll das ein per POST übermittelter Wert sein?
Wenn ja, dann verlasse dich bitte nicht auf register_globals=on, sondern hole ihn aus $_POST, dessen "Existenz" du kurz zuvor ja auch schon abfragst.
Und stelle bitte dein error_reporting beim Entwicklen auf E_ALL.
gruß,
wahsaga
if (ereg("...", $mailer_email))
Was soll $mailer_email darstellen - soll das ein per POST übermittelter Wert sein?
Abgesehen davon ist der reguläre Ausdruck alles andere als korrekt. Es werden erlaubte Mailadressen abgewiesen. Also mindestens deswegen kein Wunder, dass nichts funktioniert.