[RESOLU] Aidez-moi à vérifier si au moins chacune des trois variables contient le mot infob ???

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Aidez-moi à vérifier si au moins chacune des trois variables contient le mot infob ???

Re: [RESOLU] Aidez-moi à vérifier si au moins chacune des trois variables contient le mot infob ???

par or 1 » 15 mars 2021, 23:35

c'est si compliqué de chercher le nom de fonction, en ajoutant éventuellement "php", d'aller sur https://www.php.net/manual/fr/function.str-contains.php où, comme pour chaque fonction, il y a des exemples ?

Re: Aidez-moi à vérifier si au moins chacune des trois variables contient le mot infob ???

par chegmarco » 15 mars 2021, 23:23

Merci à chacun de vous. Mais j'ai remarqué que PHP 8 a maintenant des fonction comme str_contains et str_starts_with. Ne pensez-vous pas qu'elles seront également adapté ???

Si oui, pourriez-vous me donner un exemple de les utiliser dans mon cas ???

Merci d'avance.

Re: Aidez-moi à vérifier si au moins chacune des trois variables contient le mot infob ???

par Saian » 15 mars 2021, 12:45

Haha désolé. ^^

Re: Aidez-moi à vérifier si au moins chacune des trois variables contient le mot infob ???

par Ryle » 15 mars 2021, 12:41

Salutations !

Si tu regardes plus en détail la doc de la fonction strpos(), tu verras qu'elle retourne la position numérique de l'occurrence relativement au début de la chaîne (la position dans la chaîne commence à 0). Retourne false si l'occurrence n'a pas été trouvée.

Tu verras également cet "Avertissement" : Cette fonction peut retourner false, mais elle peut aussi retourner une valeur équivalent à false (la position 0).

Ta condition ne doit donc pas juste vérifier la valeur retourner, mais également le type de retour (booléen ou numérique) : if ($pos !== false)


Edit : erf, grillé par Saian ;)

Re: Aidez-moi à vérifier si au moins chacune des trois variables contient le mot infob ???

par Saian » 15 mars 2021, 12:38

Salut, faudrait se relire un peu quand même. Il y a plusieurs problèmes avec ton code.

Premièrement if (pos) il manque déjà le $ devant pos, if ($pos). Travaillez avec l'affichage des erreurs surtout quand vous débutez.

Deuxièmement strpos retourne la position de la première occurrence trouvée dans ce cas 0. Et un if (0) ça fait false. Il faut plutôt faire un if ($pos !== false) 2 égales pour une comparaison strict, strpos retournant false si aucune occurrence n'est trouvée.

Troisièmement tu fais un seul test sur $mystring1 et dans le code si false tu affiches $mystring2. Ne devrais tu pas avoir 2 strpos avec 2 structures de test ?

Re: Strpos ne marche pas dans mon cas où Corrigez SVP si je me suis trompé

par chegmarco » 15 mars 2021, 10:42

Bonjour.

Quand je fais:

Code : Tout sélectionner

$mystring1 = 'infob_v122'; $mystring2 = 'infob vca'; $findme = 'infob'; $pos = strpos($mystring1, $findme); if(pos){ echo "La chaîne ".$findme." se trouve bel et bien dans $mystring1"; } else { echo "Non, pas du tout, elle n'est pas dans $mystring2"; }
Je reçois un retour négatif:

Non, pas du tout, elle n'est pas dans $mystring2

Aidez moi à revoir mon bout de code et ainsi réussir la vérification du mot infob dans chacune des variables $mystring1 et $mystring2.

Merci d'avance

Re: Aidez-moi à vérifier si au moins chacune des trois variables contient le mot infob ???

par or 1 » 14 mars 2021, 23:40

Aidez-moi à vérifier si au moins chacune des trois variables contient le mot infob ???

par chegmarco » 14 mars 2021, 23:21

Bonjour.

Je souhaiterais vérifier si chacune des variable ci-après contient au moins le mot infob sachant qu'il y a un seulement qui contient très exactement ce mot infob ALORS QUE JE SOUHAITERAIS EGALEMENT PRENDRE EN COMPTE CELLE QUI CONTIENNENT UNE PARTIE DE CE MÊME MOT infob comme celle des variable $infob_site1 et $infob_site2 qui contiennent seulement une partie.
$infob_site1 = "infob vca";
$infob_site2 = "infob_v122";
$infob_site3 ="infob";
Comment donc vérifier si au moins chacune des trois variables contient le mot infob sans que la variable $infob_site1 et $infob_site2 contiennent beaucoup plus que le mot infob à savoir respectivement infob vca et infob_v122 ???

Merci d'avance.