par
tomahawk » 24 avr. 2009, 19:32
Bonjour,
Grand débutant en php j'ai été chargé de modifier quelque peu un site de petites annonces codé en php. J'ai pu m'en sortir mais une erreur persiste
Dans le formulaire pour poster une annonce, une adresse email est obligatoire mais un type de domaine n'est pas supporté: @mon-truc.fr
Le problème vient surement de "-" mais je suis quelque peu perdu!
L'erreur stipule: "ce type de domaine n'est pas supporté"
Voici le code :
if ($email)
{
$email = strtolower($email);
if (strlen($email) < 6){
echo "$email : Email trop court<br>";
$retour=1;
}
if (strlen($email) > 255) {
echo "$email : Email trop long<br>";
$retour=1;
}
if (!ereg("@", $email)){
echo "$email : Le email n'a pas d'arobase (@)<br>";
$retour=1;
}
if (preg_match_all("/([^a-zA-Z0-9_\@\.\-])/i", $email, $trouve))
{
echo "$email : caractère(s) interdit dans un email (".implode(", ",$trouve[0]).").";
echo "<br>";
$retour=1;
}
if (!preg_match("/^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$/i", $email))
{
echo "$email : ce n'est pas un la forme d'un email.<br>";
$retour=1;
}
list($compte, $domaine)=split("@", $email, 2);
if (!checkdnsrr($domaine, "MX")){
echo "$email : Ce domaine ($domaine) n'accepte pas les emails<br>";
$retour=1;
}
Merci d'avance de votre aide,
Tomahawk
Bonjour,
Grand débutant en php j'ai été chargé de modifier quelque peu un site de petites annonces codé en php. J'ai pu m'en sortir mais une erreur persiste :(
Dans le formulaire pour poster une annonce, une adresse email est obligatoire mais un type de domaine n'est pas supporté: @mon-truc.fr
Le problème vient surement de "-" mais je suis quelque peu perdu!
L'erreur stipule: "ce type de domaine n'est pas supporté"
Voici le code :
[php]if ($email)
{
$email = strtolower($email);
if (strlen($email) < 6){
echo "$email : Email trop court<br>";
$retour=1;
}
if (strlen($email) > 255) {
echo "$email : Email trop long<br>";
$retour=1;
}
if (!ereg("@", $email)){
echo "$email : Le email n'a pas d'arobase (@)<br>";
$retour=1;
}
if (preg_match_all("/([^a-zA-Z0-9_\@\.\-])/i", $email, $trouve))
{
echo "$email : caractère(s) interdit dans un email (".implode(", ",$trouve[0]).").";
echo "<br>";
$retour=1;
}
if (!preg_match("/^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$/i", $email))
{
echo "$email : ce n'est pas un la forme d'un email.<br>";
$retour=1;
}
list($compte, $domaine)=split("@", $email, 2);
if (!checkdnsrr($domaine, "MX")){
echo "$email : Ce domaine ($domaine) n'accepte pas les emails<br>";
$retour=1;
} [/php]
Merci d'avance de votre aide,
Tomahawk