Mail d'invitation fonctionne pas si le pseudo a des chiffres [Résolu]

Messages postés
16
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
21 mai 2012
- - Dernière réponse : Lyle56
Messages postés
240
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2012
- 22 mai 2012 à 09:20
Bonjour à tous, voila mon problème.
Quand je veus invité quelqu'un sur mon site, et si mon pseudo comporte des chiffres, l'invitation ne part pas, que avec un pseudo sans chiffre cela fonctionne.
Voila le php, et merci de votre aide .


<?

include "include/config-recommandation.inc.php";
include("include/connexion.php");
include("include/verif_session.php");



function getPetite($photo){
$petite = explode(".",$photo);
$petite = $petite[0]."_450.".$petite[1];
return $petite;
}


$select = "SELECT * FROM membre WHERE id='$idUser'";
$query = mysql_query($select,$SQLConnection);
$row = mysql_fetch_array($query);
$pseudo =$row[pseudo];

?>








" text="<? echo $fontcolor; ?>">

<?php

if((isset($submit))&&(@ereg(".[[:alpha:]]{2}([[:alpha:]]?)$", $pseudo)))
{
if(@ereg(".+(@.+)(.[[:alpha:]]{2}([[:alpha:]]?))$", $email1))
{$email1=$email1;}
else {unset($email1); unset($dest1);}



$selectphoto = "SELECT * FROM photo_upload WHERE id_user='$row[id]' AND profil='1'";
$queryphoto = mysql_query($selectphoto,$SQLConnection);
$rowphoto = mysql_fetch_array($queryphoto);

if(isset($email1))
{
mail($email1, "

$url", "\n Notre membre ($pseudo) , vient de vous inviter sur notre site http://restecool.be

Vous connaissez sûrement cette personne qui connait votre adresse email .

Vous pouvez voir la photo de $pseudo à cette adresse si dessous:\n http://restecool.be".getPetite($rowphoto[lien_petite])."

Vous pouvez toujours nous faire une petite visite, si vous ne connaissez pas l'expéditeur.

Merci à vous.\n\nhttp://restecool.be\n\n");
}




?>
\" align=\"center\">
----

Merci
<? echo $pseudo; ?>

Votre invitation vient d'être envoyer à:
<? echo $email1; ?>

Un lien vers notres site serras ajouter à l'invitation

onglet" href="AAA.php">

<?
}
else
{
?>
<form method="post" action="AAA.php">
\" align=\"center\">

----

" align="center"><? echo $font; ?>Email destinataire,

----

" align="center">">,

----

" align="center"><? echo $font; ?>
Votre pseudo,

----

" align="center">">,

----

" align="center">

,
" align="center" colspan="2"><? echo $font; ?>

</form>

<?
}
?>
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
240
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2012
2
3
Merci
Bonjour,

Réponse rapide,
Même pas besoin de coloration pour voir que ton pattern regex n'est pas bon. Tu exclus automatiquement les mail avec des chiffres...
[:alpha:] c'est uniquement les lettre en Minuscule et Majuscule...
il faut utilise [:alnum:] sur les portions qui autorise les chiffres sans oublié d'ajouter les caractères spéciaux autorisés ( '_' et '-' ).



Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 140 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Lyle56
Messages postés
14486
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 juin 2019
131
0
Merci
Bonjour,

Lis et applique le point 2 de ma signature.

As-tu vérifié les valeurs des variables pour l'envoi ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Commenter la réponse de NHenry
Messages postés
16
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
21 mai 2012
0
Merci
RE: NHenry

Si tu lie bien c'est pas une question de variables, c'est une question de chiffres dans un pseudo

Et quand on poste un code, merci d'utiliser la coloration syntaxique (je le voie pas cette icon) donc avant de dire quelque chose, faut savoir se que je voie sur mon écran
Commenter la réponse de pascal199
Messages postés
16
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
21 mai 2012
0
Merci
RE.
On a trouver et rien a voir avec le [:alpha:] parce cassiment tout mes membres on une adresse email avec des chiffres et pseudo avec chiffres, donc on a trouver, merci quand même de votre aide ;)
Voila la modification

if ((isset($_POST["submit"])) && (isset($_POST["pseudo"])))

et dans la partie email on a rien changer et cela marche avec [:alpha:]
donc je le probleme vient pas de [:alpha:] sinon on pourrait pas envoyer d'invitation a des adresse avec chiffres (que ca fonctionne ;) )

Merci quand même de ton aide Lyle56
Commenter la réponse de pascal199
Messages postés
240
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2012
2
0
Merci
@Pascal : De rien,
J'ai tester tes expressions avec http://rubular.com/

Effectivement ça passe, pourtant je suis sur une doc "officielle" qui me dit que ça ne devrais pas passer. Par contre cela ne contrôle pas vraiment l'adresse. Sur une adresse en .com et l'autre en .fr tu n'obtiens pas la même chose en sortie. Tu récupère toujours les 3 derniers caractères, donc le point se balade soit dans le nom de domaine sans dans l'extension, ce qui n'est pas forcément correct.

Une adresse -lyle56@un.ma*$il.fr va passer, alors que cela ne devrais jamais pas être le cas.
De même si tu est en php5, la fonction ereg est obsolète, utilise plutôt preg_match.



Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
Commenter la réponse de Lyle56