Poblème if/else

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 : Poblème if/else

Re: Poblème if/else

par stealth35 » 20 oct. 2011, 16:12

de toute façon avec PDO les requete préparée sont déactive par défaut , et en mode émuler il échappe tout les valeurs, y compris le type int :(

Re: Poblème if/else

par xTG » 20 oct. 2011, 16:01

essai d'utiliser une requête préparé avec un paramètre du where que tu fournit dans le where tu va voir si ça fonctionne au poil :)
Je sais qu'on dérive, mais pourrais-tu m'illustrer cet exemple ? Je n'arrive pas à me le représenter.

Re: Poblème if/else

par moogli » 20 oct. 2011, 14:56

essai d'utiliser une requête préparé avec un paramètre du where que tu fournit dans le where tu va voir si ça fonctionne au poil :)

telle quelle ta requête préparée "quote" tout comme si c'est une chaine de caractère et c'est pas toujours bon. Les sgbd sont parfois sympa en castant des '2' ou '1.2' en entier / réel mais c'est pas le cas partout :)

@+

Re: Poblème if/else

par xTG » 20 oct. 2011, 14:53

Ce n'est pas le cas des requêtes préparées qui échappent les variables.
oui mais pas toujours bien na :)

franchement dire on ne fait que des requêtes préparer on risque rien c'est comme dire on file BM a tous le monde y aura moins mort c'est forcément vrai :)
Il me semble avoir lu que la foncton PDO::quote est utilisée dans le prepare, donc cela revient exactement au même selon moi. :)
A moins que PDO décide aléatoirement de ne pas protéger telle ou telle variable. 8-)

Re: Poblème if/else

par moogli » 20 oct. 2011, 10:48

Ce n'est pas le cas des requêtes préparées qui échappent les variables.
oui mais pas toujours bien na :)

franchement dire on ne fait que des requêtes préparer on risque rien c'est comme dire on file BM a tous le monde y aura moins mort c'est forcément vrai :)

pour aider à la question de base :
- peux tu nous fournir le create table de la table code_actif histoire que l'on puisse voir ce qui ce passe ?
le coup du zéro me fait penser a une valeur par défaut.

si non a tu testé le point 3 de macgawel ? ;)

@+

Re: Poblème if/else

par xTG » 20 oct. 2011, 09:59

2. Ne JAMAIS utiliser les données reçues directement dans une BDD.
Il y a de gros risques d' injection SQL.
Une recherche google (ou ici) sur "injection sql" devrait te donner des solutions...
Ce n'est pas le cas des requêtes préparées qui échappent les variables. ;)

Re: Poblème if/else

par macgawel » 20 oct. 2011, 09:16

Bonjour.

1. Au lieu de faire un nouveau message tu peux éditer le premier, ça simplifie les choses...
Entre autres, ça nous évite de croire que tu as eu une réponse :wink:

2. Ne JAMAIS utiliser les données reçues directement dans une BDD.
Il y a de gros risques d' injection SQL.
Une recherche google (ou ici) sur "injection sql" devrait te donner des solutions...

3. Avant tout :
Juste avant ta requête, affiche le contenu du POST, histoire de vérifier :
print_r($_POST);
Et vérifie dans ta table que tu utilises bien les bons champs (code = champs auto-incrémenté, id=pseudo)

Re: Poblème if/else

par marocri » 19 oct. 2011, 21:48

Scuce me pour la balise de code:
$actif=$bdd->prepare('INSERT INTO code_actif(code,id) VALUES ("",:id)');
$actif->execute(array('id'=>$_POST['pseudo']));
$actif->closeCursor();

]

Poblème if/else

par marocri » 19 oct. 2011, 21:46

Bonjour, enfet ma table a deux champs , le premier est un champ incrémanté, le deuxieme est un champ qui contient le pseudo du membre $_POST['pseudo']: or il prend a chaque fois la valeur 0

Voici le code:
[php$actif=$bdd->prepare('INSERT INTO code_actif(code,id) VALUES ("",:id)');
$actif->execute(array('id'=>$_POST['pseudo']));
$actif->closeCursor();

][/php]

Merci de m'aider

Bonne soirée