Problème avec mon code php
Résolu/Fermé
Aaymeric
Messages postés
78
Date d'inscription
jeudi 29 septembre 2011
Statut
Membre
Dernière intervention
7 octobre 2018
-
Modifié par Aaymeric le 16/02/2015 à 13:12
Aaymeric Messages postés 78 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 7 octobre 2018 - 17 févr. 2015 à 17:01
Aaymeric Messages postés 78 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 7 octobre 2018 - 17 févr. 2015 à 17:01
A voir également:
- Problème avec mon code php
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
9 réponses
kangourouxxx
Messages postés
71
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2015
2
16 févr. 2015 à 13:41
16 févr. 2015 à 13:41
je propose une première correction ton fichier jquery.
Tu donnes une propriété de tableau avec le même nom que ta variable :
la correction que je propose est :
Ensuite pour ta question entre utiliser "" ou '' c'est la même chose pour du PHP.
Tu donnes une propriété de tableau avec le même nom que ta variable :
$.post('post.php',{username:username},function(data){
la correction que je propose est :
$.post('post.php',{'username':username},function(data){
Ensuite pour ta question entre utiliser "" ou '' c'est la même chose pour du PHP.
Aaymeric
Messages postés
78
Date d'inscription
jeudi 29 septembre 2011
Statut
Membre
Dernière intervention
7 octobre 2018
16 févr. 2015 à 14:00
16 févr. 2015 à 14:00
Je n'ai toujours aucun résultat :s
L'insertion de la variable $username dans la requête au niveau du WHERE est elle juste car sur d'autres forums je fais qu'elle est inséré soit comme ca '.$username.' ici c'est '$username'
Il y a encore 2 choses qui me chifonnent,
c'est le query(), je ne peux pas le remplacer par un prepare() ? Et la 2ème chose c'est le rowCount(),
Au niveau de la requete, je ne peux pas mettre SELECT COUNT(*) ?
L'insertion de la variable $username dans la requête au niveau du WHERE est elle juste car sur d'autres forums je fais qu'elle est inséré soit comme ca '.$username.' ici c'est '$username'
Il y a encore 2 choses qui me chifonnent,
c'est le query(), je ne peux pas le remplacer par un prepare() ? Et la 2ème chose c'est le rowCount(),
Au niveau de la requete, je ne peux pas mettre SELECT COUNT(*) ?
kangourouxxx
Messages postés
71
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2015
2
16 févr. 2015 à 15:20
16 févr. 2015 à 15:20
Comme la indiqué Zoidberg, si ta chaine de caractères est entre "" la variable sera interprétée.
Donc l'insertion de ta variable '$username' fonctionne très bien.
Si tu souhaite réellement la modifier voici deux solutions :
ou
Donc l'insertion de ta variable '$username' fonctionne très bien.
Si tu souhaite réellement la modifier voici deux solutions :
$query=$bdd->query("SELECT * FROM membre WHERE username='".$username."'");
ou
$query=$bdd->query('SELECT * FROM membre WHERE username="'.$username.'"');
Aaymeric
Messages postés
78
Date d'inscription
jeudi 29 septembre 2011
Statut
Membre
Dernière intervention
7 octobre 2018
Modifié par Aaymeric le 16/02/2015 à 14:05
Modifié par Aaymeric le 16/02/2015 à 14:05
Ah mais attends, je pense trouver l'erreur que j'ai +/- corriger au début sans prévenir pour pas vous broyer. Dans ma table membre j'ai le champ pseudo et non username que j'ai corrigé dans ma requête (WHERE pseudo = '$username')
Mais du coup je dois également le changer dans mon fichier jquery à ce niveau la non ?
Je ne m'y connais pas du tout en jquery donc ce que je dis est peut être complètement faux ...
Mais du coup je dois également le changer dans mon fichier jquery à ce niveau la non ?
{'username':username}
Je ne m'y connais pas du tout en jquery donc ce que je dis est peut être complètement faux ...
kangourouxxx
Messages postés
71
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2015
2
16 févr. 2015 à 15:13
16 févr. 2015 à 15:13
Non ce n'est pas nécessaire, mais pour toi c'est peut-être utile pour t'y retrouver par la suite.
kangourouxxx
Messages postés
71
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2015
2
16 févr. 2015 à 15:22
16 févr. 2015 à 15:22
Tu peux nous donner le code de connection.php ?
ne zape pas de masquer les information de connexion !
je pense que ton problème vient de la connexion à la BDD
ne zape pas de masquer les information de connexion !
je pense que ton problème vient de la connexion à la BDD
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Aaymeric
Messages postés
78
Date d'inscription
jeudi 29 septembre 2011
Statut
Membre
Dernière intervention
7 octobre 2018
16 févr. 2015 à 15:36
16 févr. 2015 à 15:36
Oui bien sûr:
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=trocevol', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); //mysql_query("SET NAMES UTF8"); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
16 févr. 2015 à 15:56
16 févr. 2015 à 15:56
Salut,
Concernant les lignes :
La fonction htmlentities(), comme son nom l'indique, doit être utilisée à l'affichage des données dans un document html.
Pour éviter les injections sql avec PDO, 2 solutions :
- soit utiliser une requête préparée avec un paramètre
- soit utiliser la méthode PDO::quote() comme ceci :
En développement, pense également à activer le rapport d'erreur PDO dans ta connexion (par défaut en mode silencieux) et à gérer tes erreurs sql pour voir quel est le problème.
https://www.php.net/manual/fr/pdo.error-handling.php
Bonne journée
Concernant les lignes :
$username= htmlentities($_POST['username']); $query=$bdd->query("SELECT * FROM membre WHERE username='$username' ");
La fonction htmlentities(), comme son nom l'indique, doit être utilisée à l'affichage des données dans un document html.
Pour éviter les injections sql avec PDO, 2 solutions :
- soit utiliser une requête préparée avec un paramètre
- soit utiliser la méthode PDO::quote() comme ceci :
$query = $bdd->query('SELECT * FROM membre WHERE username=' . $bdd->quote($username));
En développement, pense également à activer le rapport d'erreur PDO dans ta connexion (par défaut en mode silencieux) et à gérer tes erreurs sql pour voir quel est le problème.
https://www.php.net/manual/fr/pdo.error-handling.php
Bonne journée
Aaymeric
Messages postés
78
Date d'inscription
jeudi 29 septembre 2011
Statut
Membre
Dernière intervention
7 octobre 2018
16 févr. 2015 à 20:23
16 févr. 2015 à 20:23
Il y a du nouveau, je suis un peu gêné de le dire mais étant donné que je test mes pages en local,
je lançais ma page directement depuis l'explorateur windows mais vu qu'il y a du php je dois le faire depuis mon serveur local (Wamp chez moi)
Du coup maintenant la valeur qui m'est renvoyé c'est "data" que le pseudo existe ou non.
je lançais ma page directement depuis l'explorateur windows mais vu qu'il y a du php je dois le faire depuis mon serveur local (Wamp chez moi)
Du coup maintenant la valeur qui m'est renvoyé c'est "data" que le pseudo existe ou non.
Aaymeric
Messages postés
78
Date d'inscription
jeudi 29 septembre 2011
Statut
Membre
Dernière intervention
7 octobre 2018
16 févr. 2015 à 21:37
16 févr. 2015 à 21:37
J'ai rajouté un bouton submit à mon texte html. La bonne nouvelle, c'est que une fois la page post.php lancé il parvient à me dire si le pseudo est disponible ou non mais le but de tout ca, c'est qu'il n'y ait pas de bouton submit et qu'il m'affiche instantanément et dynamiquement si le user est disponible ou non alors qu'ici il affiche simple "data"
kangourouxxx
Messages postés
71
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2015
2
17 févr. 2015 à 08:02
17 févr. 2015 à 08:02
Change simplement cette ligne :
par :
$('.feedback').text('data');
par :
$('.feedback').text(data);
Aaymeric
Messages postés
78
Date d'inscription
jeudi 29 septembre 2011
Statut
Membre
Dernière intervention
7 octobre 2018
17 févr. 2015 à 17:01
17 févr. 2015 à 17:01
Et bien un grand merci !!!!
C'était tout bête et logique, un peu déçu de ne pas l'avoir trouvé moi même mais un grand merci ! :)
C'était tout bête et logique, un peu déçu de ne pas l'avoir trouvé moi même mais un grand merci ! :)
16 févr. 2015 à 13:52
Juste une petite correction pour ne pas induire en erreur:
En php en utilisant "..." , les variables contenues dans la chaîne seront remplacées par leur valeur : si $variable='Coucou' ; $test= "Variable: $variable". $test contiendra alors Variable: coucou .
En utilisant '...' : les variables ne sont pas remplacées, avec mon exemple $test contiendra Variable: $variable