Formulaire d'inscription - Refuser des adresses emails

WRInaute occasionnel
Bonjour, AOL retournant automatiquement les mails que mon site envoie (pour activer un compte par exemple), je voudrai que mon formulaire d'inscription refuse les adresses mail @aol.com et @aol.fr... Comment faire? Merci!

Voici le code du formulaire d'inscription :

Code:
<?php
if($name && $prename && $password && $email && $url)
{
$sid=mt_srand((double)microtime()*1000000);
$sid=md5(str_replace('.', '', getenv('REMOTE_ADDR') + mt_rand(100000, 999999)));
require('./prepend.inc.php');
if(account_add($name, $prename, $password, $email, $url, 2, $points_register, $sid, $referer))
{
mail($email, $email_welcome_title, $email_welcome, $email_header);
mail($email_notifynewmember, $email_notifynewmember_title, $email_notifynewmember_msg, $email_header);
header("Location: $url_register_succesfull");
exit;
}
}
?>
<?php
require('./prepend.inc.php');
?>


<div align="center"><p><font size="3">
<?php
if($name && $prename && $email && $url && $password)
echo "Account with e-mail $email already exists!";?>
<span style="font-family: verdana; font-size: 18px; font-weight: bold"><u> Formulaire d'inscription </u> </span></font></p>
</div>
<form method="post" action="./register.php">
<div align="center"> 
<p><font size="3">
<?php if($referer){ ?>
<input type="hidden" name="referer" value="<?php echo $referer ?>">
                  <?php } ?>
<br>
<span style="font-family: Verdana; font-weight: bold; font-size: 10px"><br>
</span></font><span style="font-family: Verdana; font-weight: bold; font-size: 10px"><u><span class="Style55">ATTENTION</span></u></span><span style="font-family: Verdana; font-weight: bold; font-size: 14px"><u>, NOUS REFUSONS SYSTEMATIQUMENT :</u></span></p>
<ul class="Style37 Style46  Style54">
<li>
<div align="left">Les comptes avec une adresse email provenant d' AOL.</div>
</li>
<li>
<div align="left">Les sites pornographiques.</div>
</li>
<li>
<div align="left">Les sites comprenant trop de pop-up.</div>
</li>
<li>
<div align="left">Les REDIRECTIONS (en .fr.tc, .new.fr...) - Mettez l'adresse directe de votre site. </div>
</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td><font size="3"><span style="font-family: verdana; font-size: 10px"><b>NOM</b></span></font></td>
<td><font size="3">
<input type="text" name="name" value="<?php echo stripslashes($name); ?>">
</font></td>
</tr>
<tr>
<td><font size="3"><span style="font-family: verdana; font-size: 10px"><b>Pr&eacute;nom</b></span></font></td>
<td><font size="3">
<input type="text" name="prename" value="<?php echo stripslashes($prename); ?>">
</font></td>
</tr>
<tr>
<td height="30"><font size="3"><span style="font-family: verdana; font-size: 10px"><b>E-mail:</b></span></font></td>
<td height="30"><font size="3">
<input name="email" type="text" id="email" value="<?php echo stripslashes($email); ?>">
</font></td>
</tr>
<tr>
<td><font size="3"><span style="font-family: verdana; font-size: 10px"><b>Site web&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></span></font></td>
<td><font size="3">
<input type="text" name="url" value="http://<?php echo stripslashes($url); ?>">
</font></td>
</tr>
 <tr>
<td><font size="3"><span style="font-family: verdana; font-size: 10px"><b>Mot de passe</b></span></font></td>
<td><font size="3">
<input name="password" type="password" id="password" value="<?php echo stripslashes($password); ?>">
</font></td>
</tr>
<tr>
<td colspan="2"><div align="center"><font size="3"><br>
<br>
<input name="submit" type="submit" value="Envoyer">
</font></div></td>
</tr>
</table>
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
 
WRInaute impliqué
je parle des cochoneries inutiles ici : les <td>, <font> etc...

Personne aura le courage de lire ton code, à peine la page affichée, les gens sont déjà partis.
 
WRInaute discret
Fait simplement un test si aol.com et aol.fr apparaissent après le @
S'ils sont là, tu refuses l'inscription

Code:
function pasaol($mail){
   $test = "@";
   $test.= "aol[\.]{1}([[:alpha:]]{2,})$";

return !ereg($test,$mail);
}

if( pasaol($email) ){
 je continue l'inscription
}
else{
 je lui dis qu'un provider sans antispam debile est necessaire
}
 
WRInaute occasionnel
Je l'ai mis et dès que j'essaye de m'inscrire sur le site, le message suivant apparait :Parse error: parse error, unexpected T_CONTINUE in register.php on line 333.
 
WRInaute discret
gcvoiron a dit:
Je l'ai mis et dès que j'essaye de m'inscrire sur le site, le message suivant apparait :Parse error: parse error, unexpected T_CONTINUE in register.php on line 333.

Tu peux montrer les lignes qui entourent la ligne 333?
J'ai testé mon code avant de le mettre en ligne donc il fonctionne. Par contre, fait bien attention à bien mettre ton code dans les accolades.
(évidemment, supprime "je continue l'inscription" et " je lui dis qu'un provider sans antispam debile est necessaire") :wink:
 
WRInaute occasionnel
Voici mon formulaire, de la ligne 314 à la ligne 397.


Code:
<?php
if($name && $prename && $email && $url && $password)
echo "Account with e-mail $email already exists!";?>
<span style="font-family: verdana; font-size: 18px; font-weight: bold"><u> Formulaire d'inscription </u> </span></font></p>
</div>
<form method="post" action="./register.php">
<div align="center"> 
<p><font size="3">
 <?php if($referer){ ?>
         <input type="hidden" name="referer" value="<?php echo $referer ?>">
                  <?php } ?>
                  <?php function pasaol($mail){ 
   $test = "@"; 
   $test.= "aol[\.]{1}([[:alpha:]]{2,})$"; 

return !ereg($test,$mail); 
} 

if( pasaol($email) ){ 
 je continue l'inscription 
} 
else{ 
 je lui dis qu'un provider sans antispam debile est necessaire 
} ?>
                  <br>
                  <span style="font-family: Verdana; font-weight: bold; font-size: 10px"><br>
                  </span></font><span style="font-family: Verdana; font-weight: bold; font-size: 10px"><u><span class="Style55">ATTENTION</span></u></span><span style="font-family: Verdana; font-weight: bold; font-size: 14px"><u>, NOUS REFUSONS SYSTEMATIQUMENT :</u></span></p>
                  <ul class="Style37 Style46  Style54">
                    <li>
                      <div align="left">Les comptes avec une adresse email provenant d' AOL.</div>
                    </li>
                    <li>
                      <div align="left">Les sites pornographiques.</div>
                    </li>
                    <li>
                      <div align="left">Les sites comprenant trop de pop-up.</div>
                    </li>
                    <li>
                      <div align="left">Les REDIRECTIONS (en .fr.tc, .new.fr...) - Mettez l'adresse directe de votre site. </div>
                    </li>
                  </ul>
                  <p>&nbsp;</p>
                  <p>&nbsp;</p>
                </div>
                <table border="0" cellspacing="0" cellpadding="0" align="center">
                  <tr>
                    <td><font size="3"><span style="font-family: verdana; font-size: 10px"><b>NOM</b></span></font></td>
                    <td><font size="3">
                      <input type="text" name="name" value="<?php echo stripslashes($name); ?>">
                    </font></td>
                  </tr>
                  <tr>
                    <td><font size="3"><span style="font-family: verdana; font-size: 10px"><b>Pr&eacute;nom</b></span></font></td>
                    <td><font size="3">
                      <input type="text" name="prename" value="<?php echo stripslashes($prename); ?>">
                    </font></td>
                  </tr>
                  <tr>
                    <td height="30"><font size="3"><span style="font-family: verdana; font-size: 10px"><b>E-mail:</b></span></font></td>
                    <td height="30"><font size="3">
                      <input name="email" type="text" id="email" value="<?php echo stripslashes($email); ?>">
                    </font></td>
                  </tr>
                  <tr>
                    <td><font size="3"><span style="font-family: verdana; font-size: 10px"><b>Site web&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></span></font></td>
                    <td><font size="3">
                      <input type="text" name="url" value="http://<?php echo stripslashes($url); ?>">
                    </font></td>
                  </tr>
<tr>
<td><font size="3"><span style="font-family: verdana; font-size: 10px"><b>Mot de passe</b></span></font></td>
<td><font size="3">
<input name="password" type="password" id="password" value="<?php echo stripslashes($password); ?>">
</font></td>
</tr>
<tr>
<td colspan="2"><div align="center"><font size="3"><br>
<br>
<input name="submit" type="submit" value="Envoyer">
</font></div></td>
</tr>
</table>
</form>
<p>
 
WRInaute impliqué
mdr

Code:
if( pasaol($email) ){
 je continue l'inscription
}
else{
 je lui dis qu'un provider sans antispam debile est necessaire
}

Les réponses arrivent peut être rapidement mais ça n'empêche pas de réfléchir un minimum ;o)
 
WRInaute discret
Héhé, je vois où c'est. (Mais petit-ourson a donné la réponse pendant que je répondais) Tu as recopié mon code directement.

Mets en haut de ta page
Code:
function pasaol($mail){
   $test = "@";
   $test.= "aol[\.]{1}([[:alpha:]]{2,})$";

return !ereg($test,$mail);
}



Et remplace dans le code que tu as donné dans le 1er post
Code:
if($name && $prename && $password && $email && $url)
par
Code:
if($name && $prename && $password && pasaol($email) && $url)
 
WRInaute occasionnel
J'ai eu pas mal de petits problèmes avec mon site, ce qui fait que je n'ai pas pu m'occuper des inscriptions. Les inscriptions marchent, si le mail est chez AOL, ou si un utilisateur ne rentre pas son Nom ou son Email, ou son Prénom, ou son Mot de passe, l'inscription n'est pas validée, et la personne est redirigée sur le formulaire. Mais j'aimerai pourvoir afficher des messages, pour expliquer pourquoi l'inscription ne se fait pas. Les afficher au moment ou la personne retourne sur le formulaire. Un message du genre :
-Les adresse email d'AOL sont refusé
-Vous avez pas rentré de mot de passe...
Comment faire svp? Merci.

Voici le CODE de register.php :

Code:
<?php
function pasaol($mail){ 
   $test = "@"; 
   $test.= "aol[\.]{1}([[:alpha:]]{2,})$"; 

return !ereg($test,$mail); 
}

if($name && $prename && $password && $email && pasaol($email) && $url) 
{
$sid=mt_srand((double)microtime()*1000000);
$sid=md5(str_replace('.', '', getenv('REMOTE_ADDR') + mt_rand(100000, 999999)));
require('./prepend.inc.php');
if(account_add($name, $prename, $password, $email, $url, 2, $points_register, $sid, $referer))
{
mail($email, $email_welcome_title, $email_welcome, $email_header);
mail($email_notifynewmember, $email_notifynewmember_title, $email_notifynewmember_msg, $email_header);
header("Location: $url_register_succesfull");
exit;
}
}
?>
<?php
require('./prepend.inc.php');
?>
 <?php
if($name && $prename && $password && $email && pasaol($email) && $url) 
echo "Un compte existe déjà, avec cette adresse email!";?>
<form method="post" action="./register.php">
<?php if($referer){ ?>
<input type="hidden" name="referer" value="<?php echo $referer ?>">
<?php } ?>
<input type="text" name="name" value="<?php echo stripslashes($name); ?>">
<input type="text" name="prename" value="<?php echo stripslashes($prename); ?>">
<input name="email" type="text" id="email" value="<?php echo stripslashes($email); ?>">
<input type="text" name="url" value="http://<?php echo stripslashes($url); ?>">
<input name="password" type="password" id="password" value="<?php echo stripslashes($password); ?>">
<input name="submit" type="submit" value="Envoyer">
 
Discussions similaires
Haut