PHP: Kontakt Forumlar mit Email vernknüpfen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
betreff
brauche
code
dank
datei
domain
email
fehler
form
formular
ftp
inhalt
nachricht
post
senden
test
text
url
vorname
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
FTP funktioniert, nur Filemanager nicht.
@coder
Wie wär's damit?
function mailcheck($email) { $isValid = true; $atIndex = strrpos($email, "@"); if (is_bool($atIndex) && !$atIndex) { $isValid = false; } else { $domain = substr($email, $atIndex+1); $local = substr($email, 0, $atIndex); $localLen = strlen($local); $domainLen = strlen($domain); if ($localLen < 1 || $localLen > 64) { $isValid = false; } elseif ($domainLen < 1 || $domainLen > 255) { $isValid = false; } elseif ($local[0] == '.' || $local[$localLen-1] == '.') { $isValid = false; } elseif (preg_match('/\\.\\./', $local)) { $isValid = false; } elseif (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) { $isValid = false; } elseif (preg_match('/\\.\\./', $domain)) { $isValid = false; } elseif(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) { if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local))) { $isValid = false; } } if ($isValid && !(@checkdnsrr($domain,"MX") || @checkdnsrr($domain,"A"))) { $isValid = false; } } return $isValid; }
-
fabo schrieb:
FTP funktioniert, nur Filemanager nicht.
@coder
Wie wär's damit?
function mailcheck($email) { $isValid = true; $atIndex = strrpos($email, "@"); if (is_bool($atIndex) && !$atIndex) { $isValid = false; } else { $domain = substr($email, $atIndex+1); $local = substr($email, 0, $atIndex); $localLen = strlen($local); $domainLen = strlen($domain); if ($localLen < 1 || $localLen > 64) { $isValid = false; } elseif ($domainLen < 1 || $domainLen > 255) { $isValid = false; } elseif ($local[0] == '.' || $local[$localLen-1] == '.') { $isValid = false; } elseif (preg_match('/\\.\\./', $local)) { $isValid = false; } elseif (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) { $isValid = false; } elseif (preg_match('/\\.\\./', $domain)) { $isValid = false; } elseif(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) { if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local))) { $isValid = false; } } if ($isValid && !(@checkdnsrr($domain,"MX") || @checkdnsrr($domain,"A"))) { $isValid = false; } } return $isValid; }
Ja, das sieht gut aus.
Es behandel auf jeden Fall alle (soweit ich sehe) möglichen Fehler und Falscheingaben.
-
Exsistieren die $_POST Felder "name" und "abs" ?
-
Vor dem mail()-Befehl einfach mal
die(var_dump($_POST));
schreiben und prüfen, welche Daten an das Script übergeben werden.
Beitrag zuletzt geändert: 21.7.2011 13:26:49 von fabo -
Ich glaub das Problem hat sich mittlerweile erledigt, wir haben das gestern im Chat geklärt
-
Mich interessiert trotzdem, wo der Fehler war
-
1. Fehler war:
$nachricht = "Test" Name = $Vorname E-Mail = $Email;
könnte so aussehen:
$nachricht = "Test Name = ".$Vorname." E-Mail = ".Email." ";
Und dann waren noch die Variablen $Vorname und $Email leer, weil bei der Übergabe per $_POST nicht die gleichen Namen benutzt worden sind wie im HTML-form...
-
alfr3d schrieb:
1. Fehler war:
$nachricht = "Test" Name = $Vorname E-Mail = $Email;
könnte so aussehen:
$nachricht = "Test Name = ".$Vorname." E-Mail = ".Email." ";
Und dann waren noch die Variablen $Vorname und $Email leer, weil bei der Übergabe per $_POST nicht die gleichen Namen benutzt worden sind wie im HTML-form...
*rotwerd* Ja ist mir später auch aufgefallen... Naja habs soweit eigentlich jetzt fertig :)
Alfredolin :) ich danke dir nochmal ganz recht herzlich :)
Kann geschlossen werden -
Ganz normal den Button (Als Submit erstellen) im Formulr dann unter action die Verarbeitetnde Seite angeben und die gewünschten Inhalte dort anzeigen.
-
kaffeeliste schrieb:
Ganz normal den Button (Als Submit erstellen) im Formulr dann unter action die Verarbeitetnde Seite angeben und die gewünschten Inhalte dort anzeigen.
Hättest du alles gelesen wüsstest du, dass ich
1) Fertig bin
2) Was du schreibst nichtmal auf die Frage passt
3)Wie ich es gelöst habe -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage