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

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 : Détecté un caractére dans une chaine puis agir avec if() {}

par DocType » 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:

par zaknaou. » 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...

par zeus » 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 \

par thehawk » 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

par Sékiltoyai » 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 \\\\...

par zaknaou. » 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

\\\
\\$
\\/

??

par thehawk » 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

par Sékiltoyai » 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...

par zaknaou. » 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...

par Sékiltoyai » 17 juil. 2007, 18:44

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

par thehawk » 17 juil. 2007, 18:36

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

Voila

par Sékiltoyai » 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.

par zaknaou. » 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

par Sékiltoyai » 16 juil. 2007, 22:32

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

par thehawk » 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.