Détecté un caractére dans une chaine puis agir avec if() {}

Mammouth du PHP | 991 Messages

16 juil. 2007, 21:46

Moi je parlait de :
session_destroy détruit toutes les données associées à la session courante.Cette fonction ne détruit pas les variables globales associées à la session, de même, elle ne détruit pas le cookie de session.
DevOps, Symfony4, Hoa

ViPHP
ViPHP | 5924 Messages

16 juil. 2007, 22:32

Oui, on est d'accord, je parlais juste de l'assignation douteuse qu'il assimilait à une destruction...

zaknaou.
Invité n'ayant pas de compte PHPfrance

17 juil. 2007, 13:18

Bon, merci... Savez-vous comment je doit m'y prendre pour les caractères $ / \ a la place de A, dans ce petit bout de code...
if (preg_match("/A/",  "$sd13")
Si je veut détecté ces trois caractères...

En sachant que :
if (preg_match("/$/",  "$sd13")
if (preg_match("/\/",  "$sd13")
if (preg_match("///",  "$sd13")
Ne fonctionne pas...

J'ai essayé de mettre un \ devant chacun d'eu, de mettre le fameux i avrés le dernier slach mais rien...

Merci

ViPHP
ViPHP | 5924 Messages

17 juil. 2007, 17:44

Les caractères '$', '/', et '\' sont des caractères spéciaux des masques pcre, il faut les échapper avec un \ pour les utiliser dans les masques en tant que caractères normaux.

Mammouth du PHP | 991 Messages

17 juil. 2007, 18:36

Donc pour pouvoir utiliser le :
$ => \$
\ => \\
/ =>\/

Voila
DevOps, Symfony4, Hoa

ViPHP
ViPHP | 5924 Messages

17 juil. 2007, 18:44

@thehawk : Faut pas non plus tout donner sur un plateau... :-/

zaknaou.
Invité n'ayant pas de compte PHPfrance

17 juil. 2007, 20:38

Bonjour, je suis au courant que je ne serai jamais servi sur un plateau...

Mais le \ devant ne marche pas, encore une chose

L'ors d'une requete :
mysql_query("INSERT INTO user (identifiant) VALUES ('$sd04')") or die ('Erreur de selection ERREUR 1700 '.mysql_error());
J'obitent l'erreur
Erreur de selection ERREUR 1700 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Que je n'est jamais vu au paravant, je me suis renseigné sur certain site de mysql, mais je ne comprend pas trés bien comment résoudre le problème...

ViPHP
ViPHP | 5924 Messages

17 juil. 2007, 20:44

Mais le \ devant ne marche pas
Tu es dans une chaine de caractère, il faut que tu doubles les '\' lorsque tu veux en insérer un dans une chaine.
L'ors d'une requete :
mysql_query("INSERT INTO user (identifiant) VALUES ('$sd04')") or die ('Erreur de selection ERREUR 1700 '.mysql_error());
J'obitent l'erreur
Erreur de selection ERREUR 1700 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Que je n'est jamais vu au paravant, je me suis renseigné sur certain site de mysql, mais je ne comprend pas trés bien comment résoudre le problème...
Pas 36 choses à la fois, ouvre un autre sujet...

Mammouth du PHP | 991 Messages

17 juil. 2007, 20:46

Apparament le script arrive pas a ce connecter ... donc verifie que tu soit bien connecter avec
mysql_connect

Mais nous le masque de ton code pour pouvoir le debugger
DevOps, Symfony4, Hoa

zaknaou.
Invité n'ayant pas de compte PHPfrance

17 juil. 2007, 22:15

Tu es dans une chaine de caractère, il faut que tu doubles les '\' lorsque tu veux en insérer un dans une chaine.

Sa je le savias depuis le début

\\ ne marche pas
\$ ne marche pas
\/ ne marche pas

C'est ce que j'ai expliqué dans les post précédents...

Mais devrait-je faire

\\\
\\$
\\/

??

ViPHP
ViPHP | 5924 Messages

17 juil. 2007, 22:19

Mais devrait-je faire

\\\
\\$
\\/

??
oui, car si tu veux écrire \$, tu dois doubler le \ et donc écrire \\$
et si tu veux écrire \\, par contre, tu dois écrire \\\\...

Mammouth du PHP | 991 Messages

17 juil. 2007, 22:50

Ceci revient en efaite a echapper un echapement ... c'est logique ... mais con


Post qui sert a rien Mai j adore ca dsl
DevOps, Symfony4, Hoa

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 juil. 2007, 22:56

Dans l'idée, le caractère \ est un caractère spécial.
Si nous voulons réellement ce caractère, il faut l'échapper, comme tout autre caractère spécial, donc en utilisant le caractère d'échappement \
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

zaknaou.
Invité n'ayant pas de compte PHPfrance

17 juil. 2007, 23:21

MERCI

Ca marche, enfin... rendez-vous sur france-webmaster.fr, testez le formulaire, vous ne pouvez pas le raté il est en page d'acueil...

Mammouth du PHP | 1776 Messages

17 juil. 2007, 23:43

LOL, tu viens chercher des infos ici afin de réaliser un site dans le but d'aider sur la prog...
Par la suite si tu viens demander résolution des problèmes qu'on te soumettra sur ton site, j'espère que tu les redirigera vers nous...ce serait plus que réglo :wink: