Problem mit mail() - nur leere Seite

Corvinus

Grünschnabel
Hallöchen,

Ich hatte vor auf einer Seite ein ganz einfaches E-Mail-Formular einzubauen. Habe dafür ein Formular geschrieben und es als mail.html abgespeichert.

HTML:
<html>
	<head>
		<title>Mail-Anfrage</title>
	</head>
<body>
<center>
	<form action="mail.php" method="post">
		Empfänger:<br><input type="text" name="empfaenger" value="info@xxxxx.de" readonly="readonly"><br>
			Absender:<br><input type="text" name="absender"><br>
			Betreff:<br><input type="text" name="betreff"><br>
			Mail:<br><textarea name="inhalt" cols="60" rows="10"></textarea><br>
			<input type="submit" name="senden" value="Senden"></td>
	</form>
</center>
</body>
</html>

Dann habe ich mir eine mail.php geschrieben mit folgendem Inhalt:

PHP:
<?php
$empfaenger=$_POST['empfaenger'];
$absender=$_POST['absender'];
$betreff=$_POST['betreff']:
$inhalt=$_POST['inhalt'];

if(empty($absender))
{
echo("Bitte geben Sie einen Absender an!");
}
elseif(empty($betreff))
{
echo("Bitte geben Sie einen Betreff an!");
}
elseif(empty($inhalt))
{
echo("Bitte geben Sie einen Inhalt an!");
}
else
{
mail($empfaenger, $betreff, $inhalt, $absender);
echo ("Ihre E-Mail-Anfrage wurde versendet");
}
?>

Sobald ich auf den Submit-Button klicke öffnet der Browser die mail.php (laut addresszeile), jedoch bleibt die Seite weiß. Es wird also kein echo ausgegeben. Habe ich irgendwas übersehn oder fehlt irgendwas? Wäre über Hilfe echt dankbar.

mfG
 
Hi,

ist die Fehlerausgabe aktiviert? Überprüfen kannst du das, indem du eine PHP-Datei mit dem Inhalt

PHP:
<?php phpinfo(); ?>

anlegst, die Seite aufrufst und nach display_errors suchst (sollte auf 1 stehen). Wenn das nicht der Fall ist, die entsprechende php.ini öffnen und diesen Wert setzen (welche php.ini du benutzen musst, steht ganz weit oben auf dieser Seite).

Einen Syntaxfehler kann ich auf die Schnelle nicht erkennen.

Best regards
 
Hi,

Danke für deine Schnelle Antwort. Hab die Datei zum Überprüfen hochgeladen und bei displa_errors steht "Off"...Dann hab ich mir die php.ini rausgesucht, runtergeladen, "Off" in "On" geändert und wieder hochgeladen...Seite Aaktualisiert und es steht immer noch "Off" da. Die php.ini nochmal runtergeladen und geschaut...alles wieder auf "Off". Das hab ich jetzt mehrfach probiert...ohne sinnvolles Ergebnis. Hast du ne Idee warum das nicht auf On bleibt?

Regards
 
OMG Ich seh grad in meinem Filezilla "Kritischer Dateiübertragungsfehler" jedesmal wenn ich die php.ini hochladen will...erklärt warum da nix geändert ist. Aber sollte ich das nich umgehen können, gibts noch ne andere Möglichkeit herauszufinden was nicht mit der Mail-Funktion stimmt?
 
Hi,

---

lustig.. :D

Hast du normalen Webspace oder einen vServer? Wird confixx oder Plesk auf dem Server betrieben? Eventuell könnten Konfigurationsdateien dieser Tools die Einstellungen überschreiben.

---

Versuch es mal so:

PHP:
mail($empfaenger, $betreff, $inhalt, $absender) or die($php_errormsg);

Best regards
 
Also das ganze läuft auf einem Confixx von meinem Chef...aber ob und wenn Was da was überschreibt, weis ich leider nich.

Regards
 
Setz doch die Anzeige einfach per PHP-Code um:

PHP:
// Mich in die erste Zeile des Scripts kopieren
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
 
Hi saftmeister,

habe beide Zeilen direkt nach <?php eingefügt. Ergebnis bleibt das gleiche. Eine weiße Seite ohne irgendwelche echo-Ausgaben.

Regards
 
Zuletzt bearbeitet:
Confixx: Schau mal nach /var/log/apache oder /var/log/apache2 da sollte es Dateien mit dem Namen "error.log" oder so ähnlich geben. Wenn es Fehler gegeben hat, könnten sie dort rein geloggt worden sein.
 
Hiho,

Vielen Dank für eure Hilfe und eure Überlegungen...Eine Datei "error.log" konnte ich nicht finden, doch ich habe das Problem jetzt gefunen und behoben...lokalem testen mit Xampp sei Dank. Der Fehler war ein Tippfehler -.- Statt ";" hab ich ":" geschrieben und nix ging mehr. Tja, so kanns gehn....

Regards
 
Zurück