Hallo alle zusammen,
ich bin neu hier und hoffe auf schnelle Hilfe.
Ich habe vor kurzem die neueste Version von XAMPP installiert und habe nun folgende Probleme:
1. In html-Dateien wird Inline-php-Code nicht mehr ausgeführt, es sei denn, ich benenne die Datei nach ".php" um.
2. .php4- bzw. .php5-Dateien werden auch nicht mehr ausgeführt --> müssen nach .php umbenannt werden
3. Mein derzeit größtes Problem ist Folgendes:
Ich versuche gerade in einem HTML-Dokument ein Formular zum Versand einer eMail vom Server zu realisieren.
Code-Ausschnitt eMailKontakt.html:
<form action="eMailSenden.php" method="post">
<!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
<fieldset>
<legend>Persönliche Angaben:</legend>
<table>
<tr>
<td>Anrede:</td>
<td><input type="radio" name="Anrede" value="Herr" />Herr<input type="radio" name="Anrede" value="Frau" />Frau</td>
</tr>
....
</table>
</fieldset>
<fieldset>
<legend>Informationen zu Ihrer Anfrage</legend>
<table>
<tr>
<td>Sie wünschen Kontakt per:</td>
<td><input type="checkbox" name="Kontakt[]" value="Telefon" />Telefon
<input type="checkbox" name="Kontakt[]" value="Fax" />Fax
<input type="checkbox" name="Kontakt[]" value="eMail" />E-Mail</td>
</tr>
...
</table>
</fieldset>
<!-- Ende der Beispielangaben -->
<p>
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</p>
</form>
Code-Auschnitt eMailSenden.php (im gleichen Verzeichnis):
<?php
$strEmpfaenger = 'Svens@Jegorovs.de';
$strFrom = 'HomePage@Jegorovs.de';
$strSubject = 'Anfrage von der HomePage';
$strReturnhtml = 'Kontakt.html';
$strDelimiter = ':';
#$strDelimiter2 = "\t";
$strDelimiter2 = '';
$strArbeit = '';
if($_POST)
{
$strMailtext = "";
while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strArbeit = $strName.$strDelimiter;
$strMailtext .= str_pad($strArbeit, 20, ' ', STR_PAD_RIGHT).$strDelimiter2.$value_array."\n";
}
}
else
{
$strArbeit = $strName.$strDelimiter;
if ($strName == "Bemerkungen")
{$strMailtext .= "\n".$strArbeit."\n"."\n".$value."\n";}
else
{$strMailtext .= str_pad($strArbeit, 20, ' ', STR_PAD_RIGHT).$strDelimiter2.$value."\n";}
}
}
if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
/*
if(mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom))
{echo('eMail wurde verschickt');}
else
{echo('eMail wurde NICHT verschickt');}
*/
}
?>
Leider erscheint beim lokalen Aufruf, d.h. unter Nutzung von XAMPP, Apache & Co. nur ein weißer Bildschirm. Wenn man sich dann den Quelltext der weißen Seite anschaut, steht darin einfach der komplett Originaltext.
Wenn ich das ganze auf der Homepage beim Provider laufen lasse, funktioniert alles.
Das lokale Sendmail funktioniert, wenn ich z.B. eine kleine php-Datei mittels php-Aufrufe auf Kommandozeilenebene benutze, die den mail-Befehl mit den entsprechenden Parametern enthält. Somit ist Sendmail richtig konfiguriert. Es riecht hier nach Problemen mit der PHP-Anbindung bzw. -Auswertung.
Was hat sich hier zur letzten Version von XAMPP geändert.
Zum Glück habe ich mehr als eine Domain zur Verfügung, um zumindest meine Arbeit auf der "Test"-Domain auszuprobieren. Besser wäre es natürlich, erst mal die Tests auf dem lokalen Server durchzuführen.
Wer hat ähnliche Erfahrungen gemacht und kann mir evtl. kurzfristig weiterhelfen?
Ich würde mich über ein kurzfristiges Feedback freuen.
Liebe Grüße aus dem verschneiten Travemünde
Svens