Variableninhalt auf Ende kontrollieren?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Maxe
Mitglied
Beiträge: 154
Registriert: 15.07.2006 00:17

Variableninhalt auf Ende kontrollieren?

Beitrag von Maxe »

Hallo zusammen,

ich möchte einen kleinen Formmailer einbauen, aber in das eine Feld darf nur eine Mailadresse eingetragen werden die mit "@meine-vorgabe.de" endet.

Meine Abfrage sieht derzeit so aus, aber ich habe keine Ahnung wie ich eine Eingabe teilweise kontrolliere.

Code: Alles auswählen

if ($empfaenger=="")
{
echo "<p>Sie müssen Ihre E-Mail Adresse eingeben!</p>";
}
Ich denke für einige ist das eine Aufgabe für nachts um 4 Uhr, aber für mich leider nicht :-)

Gruß Maxe
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Ich würde sowas mit regulären Ausdrücken lösen:

Code: Alles auswählen

if (!preg_match('#^.*@meine-vorgabe\.de$#', $empfänger))
{
  // falsches Format der Adresse
}
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

S2B hat geschrieben:Ich würde sowas mit regulären Ausdrücken lösen:
Nä, das ist overkill... :)

So macht das mehr Sinn:

Code: Alles auswählen

<?php
$vg = '@meine-vorgabe.de';
$lim = strlen($vg)*(-1);
if(substr($empfaenger, $lim) != $vg) {
    //Errorhandling
}
?>
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Banger hat geschrieben:
S2B hat geschrieben:Ich würde sowas mit regulären Ausdrücken lösen:
Nä, das ist overkill... :)
OK, aber dann könnte man in die RegEx noch weitere Überprüfungen einbauen. :P

Nee, deine Lösung ist wirklich schöner. :)
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Maxe
Mitglied
Beiträge: 154
Registriert: 15.07.2006 00:17

Beitrag von Maxe »

Jungs, nicht streiten :lol:

Ich hab Lösung 1 genommen, klappt super.
Hab es auch für 4 verschiedene Endungen gebraucht, echt klasse.

Danke für den Tipp.

Gruß Maxe
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Beide Lösungen, sowohl der Reguläre Ausdruck als auch die substr() Prüfung sind unvollständig und erlauben ein ausnutzen des Dienstes für SPAM. Die Prüfungen testen nur die letzte Adresse, was nicht ausreicht. Es können mehr Adressen verwendet werden:

mail("addr1@domain.tld, addr2@domain.tld, danke-fuer-spam@meine-vorgabe.de", "Betreff", "Test Mail");
Antworten

Zurück zu „Coding & Technik“