Aller au contenu

[RÉSOLU][Affichage d'un résultat d'une BDD]


Messages recommandés

Bonjour,

comme je continue dans le PHP, je rencontre encore un autre problème ou plutôt une autre erreur.

La voici :

Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/ox1d1982/domains/oxidimpak.com/public_html/daniel_scripts/verification_donnees.php on line 8

Il me dise qu'il me manque (ou que j'ai de trop) de(s) "," ou de(s) ";" ?

Voici mon code :

<?php
mysql_connect('localhost' , '*****' , '******') or die('Connexion à la BDD impossible');
mysql_select_db('*****') or die('Sélection de la BDD impossible');
$requete_mysql = mysql_query("SELECT serveur , username , mdp_bdd , nom_bdd , table_c , email FROM infos_bdd_clients WHERE email='".($_POST['email'])."'") or die('Exécution de la requête impossible');

while($resultat = mysql_fetch_array($requete_mysql))
{
echo '"'$resultat['mdp_bdd']'"';
}

mysql_close();
?>

Donc voilà, la ligne 8 c'est mon echo.

J'ai pourtant tout essayé =/ et je ne trouve toujours pas, vous êtes mon dernier recour XD =P.

Si vous pouvez me mettre sur une piste se serait gentil =D.

Ou mieux encore, si vous avez un truc pour afficher une donnée qui vient d'un SELECT au lieu d'une boucle, vous pouvez me dire comment ou où je pourrais le voir comment faire ? s.v.p.

À la prochaine =)

Lien vers le commentaire
Partager sur d’autres sites

Je serais toi, je vérifies déjà qu'il y a qq chose a afficher :)

Vérifies que ta requete te retourne un résultat, ca vient surement plus de ce côté ;)

Fait un

echo "SELECT serveur , username , mdp_bdd , nom_bdd , table_c , email FROM infos_bdd_clients WHERE email='".($_POST['email'])."'"

quelque part, et tapes la requete obtenu dans phpmyadmin ou autre, pour voir si tu as une ou des lignes.

Autrement, tu peux aussi faire un

echo "La requete a retourné " . mysql_num_rows($requete_mysql) . " ligne(s)"

Car, comme dis plus haut, je pense que ca vient plus de ca personnellement, le reste ayant l'air correct :chinois:

Lien vers le commentaire
Partager sur d’autres sites

Rebonjour Spaz001 =)

j'ai fais ton conseil, et la requête retourne 0 ligne, donc si je comprend bien, je peux en conclure que ma requête ne fonctionne pas, ou elle ne sélectionne pas les bonne chose c'est ça ?.

À bientôt =)

Édit : J'ai changé le name d'un input et elle retourne 1 ligne, c'est bon signe ? ^^

Édite 2 : J'ai changé un peu le format de mon code, pour essayer une autre façon d'afficher qu'une boucle :

<?php
mysql_connect('localhost' , '******' , '*******') or die('Connexion à la BDD impossible');
mysql_select_db('********') or die('Sélection de la BDD impossible');
$requete = "SELECT serveur , username , mdp_bdd , nom_bdd , table_c , email FROM infos_bdd_clients WHERE email='".$_POST['email_c']."'" or die('Exécution de la requête impossible');
$requete_mysql = mysql_query($requete);
$informations = mysql_fetch_array($requete_mysql);
mysql_close();
?>
<?php
echo 'Votre serveur est : '.$informations['serveur'];
?>

Il n'y a aucune erreur détectée, sauf que le echo affiche seulement Votre serveur est :. Il n'affiche pas la donnée 'serveur' entrée par l'utilisateur.

Peut-être que j'ai encore fais une autre erreur de concaténation ?.

En tout cas, je vais encore chercher et merci à vous =)

Lien vers le commentaire
Partager sur d’autres sites

À partir du moment où tu n'as pas d'erreur, c'est que tu n'as pas de problème de concaténation.

Donc si ton écho n'affiche pas la valeur, ca signifie que ta requête n'a pas su la récupérer (ton SELECT ne doit pas sélectionner les bonnes lignes).

Si le mysql_num_rows te renvoie toujours 0, c'est que la requête n'a rien récupéré, tout simplement! Le problème est donc dans ta requête (mauvais arguments, mauvaises conditions dans le WHERE...)

Lien vers le commentaire
Partager sur d’autres sites

Salut Gvos_net,

j'ai fais ton conseil, celui d'afficher la requête et voici ce qu'elle affiche :

SELECT serveur , username , mdp_bdd , nom_bdd , table_c , email FROM infos_bdd_clients WHERE email=''

Mais ma requête est la suivante :

SELECT serveur , username , mdp_bdd , nom_bdd , table_c , email FROM infos_bdd_clients WHERE email='".$_POST['email_c']."'

Donc, je peux en conclure que ma variable email_c est mal faite, ou est tout simplement pas pris en compte ?

Merci de vos conseils =).

Lien vers le commentaire
Partager sur d’autres sites

Exactement, ta variable $_POST['email_c'] ne contient rien.

Il faut que tu vois au niveau du formulaire qui t'amène sur cette page (peut-être la page elle-même si elle s'appelle elle-même).

La variable du formulaire pour l'e-mail du client s'appelle-t-elle bien "email_c" ?

Ton formulaire est-il bien en method="POST" (et pas "GET") ?

Lien vers le commentaire
Partager sur d’autres sites

Resalut =P,

en faite, j'ai 3 pages (nom fictifs pour l'exemple) :

- Page 1

Elle contient le formulaire qui envoi les données.

- Page 2

C'est la page qui enregistre les données du formulaire, dans ma BDD.

- Page 3

C'est la page qui lorsque l'enregistrement des données dans la BDD ont été éffectuées, s'affiche avec la requête qui me cause problème ^^.

Peut-être que j'ai une page de trop ou autre chose. Mais ma variable email_c existe bien dans mon formulaire, et lorsque l'envoi du formulaire est fait et que la Page 2 se met en "route" ma variable email_c est belle et bien enregistrée dans ma BDD. C'est seulement lors de ma requête sur ma Page 3 qu'elle ne s'affiche pas.

Je ne lâche pas ^^, je vais trouver =P et merci de votre aide ! =)

Lien vers le commentaire
Partager sur d’autres sites

Je crois avoir trouvé d'où venait ton problème.

Tu dis que tu passes de la page 2 à la page 3,dès l'insertion effectuée, c'est bien ça? Si oui, le problème est là: la page 2 contient bien un $_POST rempli (par les données venant du formulaire de la page 1) mais la page 2 ne remplit pas ce $_POST (puisque la page 2 ne contient pas de formulaire, elle). Donc, forcément, après le passage page 2 -> page 3, la page 3 ne récupère rien dans $_POST ($_POST existe, mais est vide).

Donc ta requête en page 3 échoue!

Pour pallier à ce problème, une seule solution: faire en sorte que la page 2 transmette à la page 3 une valeur pour email_c. Par exemple, en mettant cette valeur dans l'url de redirection (ou en mettant cette valeur dans $_SESSION, mais je ne présenterai pas cette solution pour le moment).

Ce qui donnerait quelque chose comme ça:

// Redirection de la page 2 vers la page 3
header('Location:page3.php?email_c='.$_POST['email_c']);

//L'URL pour arriver sur la page 3 est alors de cette forme
http://localhost/page3.php?email_c=valeur

// Et la requête SQL qui tient compte du passage de paramètres par l'URL devient maintenant
SELECT serveur , username , mdp_bdd , nom_bdd , table_c , email FROM infos_bdd_clients WHERE email='".$_GET['email_c']."'

Lien vers le commentaire
Partager sur d’autres sites

Comme quoi même en pleine nuit windu a encore les idées claires :byebye:

En pleine nuit, après quelques verres dans le nez (mais pas beaucoup), un peu claqué (le Quarky sait de quoi je parle: vers 2-3h du matin, j'ai une fâcheuse tendance à m'endormir en soirée :francais: ) le Windu sait toujours répondre aux questions de PHP/MySQL :eeek2::francais:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...