Probléme php Mysql
fm825
Messages postés
522
Date d'inscription
Statut
Membre
Dernière intervention
-
fm825 Messages postés 522 Date d'inscription Statut Membre Dernière intervention -
fm825 Messages postés 522 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai modifier un scripte libre trouvé sur le web mais il ne fonctionne plus et je ne vois pas se qui n'est pas bon.
Voici ma basse de donné qui dois interagir avec le scripte.
Puis la page qui bug (page d'identification par pass uniquement.
Voilà le code pour le moment j'arrive sur la page d'erreur.
Je remercie les personne qui prenne le temps de m'expliquer se qui ne va pas.
J'ai modifier un scripte libre trouvé sur le web mais il ne fonctionne plus et je ne vois pas se qui n'est pas bon.
Voici ma basse de donné qui dois interagir avec le scripte.
CREATE TABLE membre ( id_membre int(10), id_rest int(10), id varchar(20), pseudo varchar(20), passe varchar(20) );
Puis la page qui bug (page d'identification par pass uniquement.
<? require("conf.php"); // CONNEXION A LA BASE DE DONNEE $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd); if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php"; exit;} $requete=mysql_db_query($sql_bdd,"select passe from membre where passe=\"$passe_membre\"",$db_link) or die(mysql_error()); if(mysql_num_rows($requete)==0) { // REDIRECTION VERS LA PAGE ERREUR erreur.htm header("Location:$url_erreur"); } // SI LE le passe est correcte else { $id_rest=mysql_db_query($sql_bdd,"SELECT id_rest from membre WHERE passe=\"$passe_membre\"",$db_link) or die(mysql_error()); // pour les membre ayant -1 on leur donne accés au site sans plus if ($id_rest == -1) { // CREATION D'UN IDENTIFIANT ALEATOIRE $taille = 20; $lettres = "abcdefghijklmnopqrstuvwxyz0123456789"; srand(time()); for ($i=0;$i<$taille;$i++) { $id.=substr($lettres,(rand()%(strlen($lettres))),1); } // MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE $requete=mysql_db_query($sql_bdd,"update membre set id=\"$id\" where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"",$db_link) or die(mysql_error()); // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE header("Location:zonemembre.php?id=$id"); } //₥embre elseif ($id_rest > 0) // SINON SI les utilisateur on un nombre superieur a 0 on leur soustrait -1 a id_rest { $id_restp = $id_rest - 1; // CREATION D'UN IDENTIFIANT ALEATOIRE $taille = 20; $lettres = "abcdefghijklmnopqrstuvwxyz0123456789"; srand(time()); for ($i=0;$i<$taille;$i++) { $id.=substr($lettres,(rand()%(strlen($lettres))),1); } // MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE $requete=mysql_db_query($sql_bdd,"update membre set id=\"$id\" where pseudo=\"$pseudo_membre\" and id_rest=\"$id_restp\"",$db_link) or die(mysql_error()); // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE header("Location:zonemembre.php?id=$id"); } else // SINON le code n'est plus valable... { // REDIRECTION VERS index pour new identification header("Location:index.html"); } } // DECONNEXION MYSQL mysql_close($db_link); ?>
Voilà le code pour le moment j'arrive sur la page d'erreur.
Je remercie les personne qui prenne le temps de m'expliquer se qui ne va pas.
A voir également:
- Probléme php Mysql
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
4 réponses
Y'a pas d'erreur car sa renvoie directement a la page d'erreur se qui veux dire normalement que le code donné au scripte est éronné alors qu'il est correcte donc il dois avoir un problème a se niveau la :
La seul partie du scripte qui renvoie vers la page d'erreur et en gras ci-dessus j'ai fait cela pour mieux voir le problème.
Voilà monscripte corrigé et revu
Code revu et donne l'erreur suivante
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id_rest="3" where passe="test"' at line 1
Le probléme c'est que sur la bdd id_rest et a 2
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd); if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php"; exit;} $requete=mysql_db_query($sql_bdd,"select passe from membre where passe=\"$passe_membre\"",$db_link) or die(mysql_error()); if(mysql_num_rows($requete)==0) { // REDIRECTION VERS LA PAGE ERREUR erreur.htm header("Location:$url_erreur"); }
La seul partie du scripte qui renvoie vers la page d'erreur et en gras ci-dessus j'ai fait cela pour mieux voir le problème.
Voilà monscripte corrigé et revu
<?php require("conf.php"); // CONNEXION A LA BASE DE DONNEE $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd); if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php"; exit;} $requete=mysql_db_query($sql_bdd,"select passe from membre where passe=\"$passe_membre\"",$db_link) or die(mysql_error()); if(mysql_num_rows($requete)==0) { // REDIRECTION VERS LA PAGE ERREUR erreur.htm header("Location:$url_erreur"); } // SI LE le passe est correcte else { $id_rest=mysql_db_query($sql_bdd,"SELECT id_rest from membre WHERE passe=\"$passe_membre\"",$db_link) or die(mysql_error()); // pour les membre ayant -1 on leur donne accés au site sans plus if ($id_rest == -1) { // CREATION D'UN IDENTIFIANT ALEATOIRE $taille = 20; $lettres = "abcdefghijklmnopqrstuvwxyz0123456789"; srand(time()); for ($i=0;$i<$taille;$i++) { $id.=substr($lettres,(rand()%(strlen($lettres))),1); } // MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE $requete=mysql_db_query($sql_bdd,"update membre set id=\"$id\" where passe=\"$passe_membre\"",$db_link) or die(mysql_error()); // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE header("Location:zonemembre.php?id=$id"); } //₥embre elseif ($id_rest > 0) // SINON SI les utilisateur on un nombre superieur a 0 on leur soustrait -1 a id_rest { $id_restp = $id_rest - 1; // CREATION D'UN IDENTIFIANT ALEATOIRE $taille = 20; $lettres = "abcdefghijklmnopqrstuvwxyz0123456789"; srand(time()); for ($i=0;$i<$taille;$i++) { $id.=substr($lettres,(rand()%(strlen($lettres))),1); } // MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE $requete=mysql_db_query($sql_bdd,"update membre set id=\"$id\" id_rest=\"$id_restp\" where passe=\"$passe_membre\"",$db_link) or die(mysql_error()); // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE header("Location:zonemembre.php?id=$id"); } else // SINON le code n'est plus valable... { // REDIRECTION VERS index pour new identification header("Location:index.html"); } } // DECONNEXION MYSQL mysql_close($db_link); ?>
Code revu et donne l'erreur suivante
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id_rest="3" where passe="test"' at line 1
Le probléme c'est que sur la bdd id_rest et a 2