If php [Résolu/Fermé]

Signaler
Messages postés
235
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
18 avril 2021
-
Messages postés
235
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
18 avril 2021
-
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

Messages postés
571
Date d'inscription
mardi 16 mars 2010
Statut
Membre
Dernière intervention
18 avril 2018
60
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 />';
}
Messages postés
293
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
12 mars 2013
39
if (stripos($mail, '@'))

fonctionne aussi...
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.
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.
Messages postés
235
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
18 avril 2021
2
Merci pour vos réponses et pour votre aide à tous.
Messages postés
293
Date d'inscription
mardi 21 septembre 2010
Statut
Membre
Dernière intervention
12 mars 2013
39
<?php

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

?>

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 !