PHP Webmail geht in Mozilla nicht - wieso?
Jürgen Dolfner
- php
hi leute!
habe ein php script, dass als feedback formular dient. unter opoera 7 habe ich es getestet - geht 1a. nun wollte ich es unter mozilla 1.3 machen - geht nicht. bringt die fehlermeldung: formular enthielt keine daten (interne script fehlermeldung).
könnt ihr mir weiterhelfen? (sorry für das lange script ;)
jürgen
scipt:
------->
<?php
$mailto = "simon.gude@gmx.de";
$default_subject = "Feedback von www.cy-man.de";
$friendly_sender = 1;
$show_starttext = 1;
$line_break = 1;
$add_header = 1;
// Ende Einstellungen
if(!$name && !$emailad && !$subject && !$text) showhtml("include/no_data.inc");
// Pruefen, ob alle Formular-Felder ausgefuellt wurden
if($name == "") showhtml("include/no_name.inc");
if($emailad == "") showhtml("include/no_emailad.inc");
if($text == "") showhtml("include/no_text.inc");
// Betreff pruefen und ihn ggf. mit Quoted-Printable codieren (IMAP-Modul muss vorhanden sein)
if($subject == "") $subject = $default_subject;
$subject = stripslashes($subject);
if(function_exists("imap_8bit"))
{
$subject_tmp = imap_8bit($subject);
if($subject_tmp != $subject)
{
$subject = preg_replace("/ /","_",$subject_tmp);
$subject = preg_replace("/"/","=22",$subject);
$subject = "=?iso-8859-1?Q?$subject?=";
}
}
// Pruefen, ob eingegebene E-Mail-Adresse gueltig ist
if(!preg_match("/^([a-zA-Z0-9]{1,}([.]?|[-]?|[_]?))*([a-zA-Z0-9]{1,}([_]?))@([a-zA-Z0-9]{1,}([.]?|[-]?))*[a-zA-Z0-9]{1,}.{1}[a-zA-Z]{2,6}$/",$emailad)) showhtml("include/invalid_emailad.inc");
// Datum herausfinden
$datum = getdate();
// Wochentage uebersetzen
if($datum[weekday] == "Monday") $wochentag = "Montag";
elseif($datum[weekday] == "Tuesday") $wochentag = "Dienstag";
elseif($datum[weekday] == "Wednesday") $wochentag = "Mittwoch";
elseif($datum[weekday] == "Thursday") $wochentag = "Donnerstag";
elseif($datum[weekday] == "Friday") $wochentag = "Freitag";
elseif($datum[weekday] == "Saturday") $wochentag = "Samstag";
elseif($datum[weekday] == "Sunday") $wochentag = "Sonntag";
// Stunden, Minuten und Sekunden ggf. eine fuehrende Null hinzufuegen
if($datum[hours] < 10) $stunden = "0$datum[hours]";
else
$stunden = $datum[hours];
if($datum[minutes] < 10) $minuten = "0$datum[minutes]";
else
$minuten = $datum[minutes];
if($datum[seconds] < 10) $sekunden = "0$datum[seconds]";
else
$sekunden = $datum[seconds];
// E-Mail zusammensetzen
if($show_starttext != 0) $starttext = "$name ($emailad) schrieb am $wochentag, dem $datum[mday].$datum[mon].$datum[year], um $stunden:$minuten:$sekunden:\n\n";
$mailtext = "$starttext$text";
$mailtext = stripslashes($mailtext);
// if($line_break != 0 && is_int($line_break)) $mailtext = wordwrap($mailtext,$line_break);
// Header der E-Mail
if($friendly_sender != 0) $header = "From: $emailad\n";
if($add_header != 0)
{
$header .= "Reply-To: $emailad\n";
$header .= "Content-Type: text/plain; charset="iso-8859-1"\n";
$header .= "Content-Transfer-Encoding: 8bit\n";
$header .= "MIME-Version: 1.0\n";
$header .= "X-Mailer: patShaping Form E-Mail 2.1\n";
$header .= "X-Sender-IP: [$REMOTE_ADDR]";
}
else
$header .= "Reply-To: $emailad";
// E-Mail versenden
// Wenn die E-Mail nicht versendet werden kann, wird eine Fehlermeldung ausgegeben
@mail($mailto,$subject,$mailtext,$header) || showhtml("include/send_error.inc");
showhtml("include/mail_sent.inc");
// E-Mail wurde versendet und Erfolgsmeldung ausgegeben
// Funktion zeigt eine HTML-Datei an und beendet das Skript
function showhtml($file)
{
include($file);
exit;
}
?>
Hi,
formular enthielt keine daten (interne script fehlermeldung).
könnt ihr mir weiterhelfen? (sorry für das lange script ;)
anstatt ein komplettes Script zu posten, nenne uns lieber nur den relevanten Teil, also das maximal gekürzte Script, in dem sich der Fehler noch reproduzieren lässt, sowie die Ergebnisse Deiner Problemanalyse. Dem von Dir geposteten Script lässt sich nicht mal entnehmen, durch was diese Meldung ausgegeben wird. Sehr viel Code, sehr wenig Nutzen.
Cheatah
hi,
// Wochentage uebersetzen
if($datum[weekday] == "Monday") $wochentag = "Montag";
elseif($datum[weekday] == "Tuesday") $wochentag = "Dienstag";
elseif($datum[weekday] == "Wednesday") $wochentag = "Mittwoch";
elseif($datum[weekday] == "Thursday") $wochentag = "Donnerstag";
elseif($datum[weekday] == "Friday") $wochentag = "Freitag";
elseif($datum[weekday] == "Saturday") $wochentag = "Samstag";
elseif($datum[weekday] == "Sunday") $wochentag = "Sonntag";
ach, herrlich. *träneausdemaugewisch*
ich find's immer wieder arg belustigend zu sehen, wie gerne die leute doch zu so einer umständlichen lösung greifen...
und das hier
// Stunden, Minuten und Sekunden ggf. eine fuehrende Null hinzufuegen
if($datum[hours] < 10) $stunden = "0$datum[hours]";
else
$stunden = $datum[hours];
...
ist natürlich fast genauso genial...
gruss,
wahsaga