Seite 1 von 1

Registrierung: eMailadresse auf bestimmte Domain beschränken

Verfasst: 08.11.2004 16:09
von Rocco79
Hallo zusammen,

ich möchte gerne in meinem Board die eMail Adresse die zur Registrierung notwendig ist auf eine bestimmte Domain beschränken

z.B. das man sich nur mit einer eMail Adresse von gmx.de anmelden kann.

Hab bisher alle möglichen Suchbegriffe hier im Forum verbraten, aber leider nichts dazu gefunden ... bin dankbar für jeden Tip :-)

Grüße Rocco

Verfasst: 08.11.2004 21:02
von blubb0r
in includes/usercp_register.php finde:

Code: Alles auswählen

else if ( $mode == 'register' )
	{
		if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
		}
ergänze:

Code: Alles auswählen

else if ( *1* ) {
            $error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['*2*'];
        }
*1* hier musst du halt die bedingung einfügen, zb. nur die sachen nach dem @ nehmen und prüfen, ob es gleich web.de (ich hab jetzt keine zeit in der php doku nachzuschlagen)
*2* hier musst du dann wohl ein eigenes language feld anlegen zb. da schreiben

Code: Alles auswählen

Wrong_email
und in language/lang_sprache/lang_main.php nach

Code: Alles auswählen

$lang['Fields_empty'] = 'Du musst alle benötigten Felder ausfüllen.';
das ergänzen

Code: Alles auswählen

$lang['Wrong_email'] = 'Du musst eine Web.de Adresse zum registrieren benutzen.';
ich hoffe, dass ich dir weiterhelfen konnte. schreib einfach nochmal, wenn es probleme gibt

blubb0r

Verfasst: 23.06.2005 10:46
von Nightscreen
genau das selbe versuche ich auch schon .. aber es klappt nach dieser anleitung nicht.. ich denke es muss noch etwas vor den domainnamen..

sowas wie ***gmx.de damit alle diese adressen funktionieren.
kann mir da jemand helfen? binn noch recht neu in sachen php.

Verfasst: 23.06.2005 11:29
von punkface
functions_validate.php

suchen

Code: Alles auswählen

		if (preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is', $email))
ersetzten mit

Code: Alles auswählen

		if (preg_match('/^[a-z0-9&\'\.\-_\+]+@domain.tld$/is', $email))
Wobei man natürlich domain.tld noch anpassen muss

Folgende Änderung ist optional, ist aber durchaus sinnvoll, damit der Benutzer auch bescheit weiß, dass er sich nur mit einer Email-Adresse von einer bestimmten Domain registrieren kann:

usercp_register.php
suchen

Code: Alles auswählen

		'L_EMAIL_ADDRESS' => $lang['Email_address'],
danach einfügen

Code: Alles auswählen

		'L_EMAIL_ADDRESS_EXPLAIN' => $lang['Email_address_explain'],
lang_main.php
suchen

Code: Alles auswählen

$lang['Email_address'] = 'E-Mail-Adresse';
danach einfügen

Code: Alles auswählen

$lang['Email_address_explain'] = 'HINWEIS';
HINWEIS muss man natürlich noch anpassen

profile_add_body.tpl
suchen

Code: Alles auswählen

<span class="gen">{L_EMAIL_ADDRESS}: *</span>
direkt danach einfügen

Code: Alles auswählen

<br /><span class="gensmall">{L_EMAIL_ADDRESS_EXPLAIN}</span>

Ungetestet..

Verfasst: 23.06.2005 11:56
von Nightscreen
Sorry, bin echt ein Neuling,aber eine domain.tld gibt es ja noch nicht.

Also muss ich diese jetzt erstellen oder wie? und was muss ich darin schreiben?

Verfasst: 23.06.2005 12:00
von punkface
punkface hat geschrieben:functions_validate.php

suchen

Code: Alles auswählen

		if (preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is', $email))
ersetzten mit

Code: Alles auswählen

		if (preg_match('/^[a-z0-9&\'\.\-_\+]+@domain.tld$/is', $email))
Wobei man natürlich domain.tld noch anpassen muss
Du sollst einfach nur domain.tld durch die wunsch Domain austauschen.. in deinem Fall eben durch fh-konstanz.de

Verfasst: 24.06.2005 19:30
von Nightscreen
Habs getestet und es scheint zu funktionieren.. :D

Danke