If php

Résolu/Fermé
rolly41 Messages postés 244 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 5 novembre 2024 - Modifié par rolly41 le 26/02/2012 à 08:33
rolly41 Messages postés 244 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 5 novembre 2024 - 26 févr. 2012 à 21:50
Bonjour,

j'ai créer un site internet mais je ne parviens pas à testé une valeur remplie par l'utilisateur.

Ce que je souhaite tester :

Si la valeur $mail contient @, afficher "Positif". Si pas, afficher "Négatif".


Code php utilisé :

if (stripos($mail, '@') !== FALSE)  
{echo 'Positif'}  

else {echo 'Négatif<br />'}


Pourriez-vous m'aider à m'orienter vers un tutoriel ou autre qui me permettrait de résoudre ce problème?

Merci d'avance pour l'aide que vous saurez m'apporter.

4 réponses

dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
26 févr. 2012 à 10:48
Salut, différent s'écrit comme ça:

if (stripos($mail, '@') != FALSE)  


Sinon pour tester un adresse mail, tu peux faire comme ça:

if (filter_var($mail, FILTER_VALIDATE_EMAIL)) {
    echo 'Positif';
}  else {
     echo 'Négatif<br />';
}
0
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 38
26 févr. 2012 à 21:01
if (stripos($mail, '@'))

fonctionne aussi...
0
NON !
ni if (stripos($mail, '@') != FALSE) , ni if (stripos($mail, '@')) ne sont valables pour détecter s'il y a un @ dans une chaîne.
Le test avec !== FALSE écrit par rolly41 est le seul valable car stripos peut rendre 0 et que 0 est considéré comme false par PHP dans les comparaisons simples.
Inutile de 'corriger' ce qui était exact en proposant une erreur à la place.
0
Bonjour

Tu as oublié les ; à la fin des instructions echo 'Positif' et echo 'Négatif<br />'.

Le mieux est de suivre le conseil de dariumis et d'utiliser filter_var($mail, FILTER_VALIDATE_EMAIL). Par contre, ne suis pas sa remarque sur !=, c'est bien !== qu'il faut absolument utiliser avec stripos.
0
rolly41 Messages postés 244 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 5 novembre 2024 1
26 févr. 2012 à 21:50
Merci pour vos réponses et pour votre aide à tous.
0
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 38
26 févr. 2012 à 21:33
<?php

$pos = strrpos($mystring, "b");
if ($pos === false) { 
echo 'pas trouvé';}
else
echo 'trouvé';

?>

-1
Quel intérêt ?
Utiliser strrpos au lieu de stripos ?
Chercher 'b' au lieu de '@'?
Utiliser une variable intermédiaire au lieu d'appeler la fonction de recherche directement dans le if ?
Qu'est-ce que tout ça apporte à rolly41, surtout sans aucun commentaire ?

Sa seule erreur était l'absence de point virgules, mais il connaît cette erreur depuis 11h48 et il avait même eu une solution plus efficace une heure plus tôt !
0