MySQL et php - Urgent svp !
Fermé
Sinistrus
Messages postés
1017
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
-
Modifié par Sinistrus le 9/07/2011 à 00:08
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 9 juil. 2011 à 10:40
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 9 juil. 2011 à 10:40
A voir également:
- MySQL et php - Urgent svp !
- Easy php - Télécharger - Divers Web & Internet
- Mysql download - Télécharger - Bases de données
- Php?id=1 - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- \R php ✓ - Forum PHP
9 réponses
Utilisateur anonyme
9 juil. 2011 à 00:17
9 juil. 2011 à 00:17
Salut !
Pourquoi dans le insert into, c'est "&Nom" et pas "$Nom" ?
Ensuite, s'il n'enregistre pas, c'est qu'il y a une erreur dans la bdd. Pour tester, remplace la ligne header("location... par echo mysql_error(); et vois ce qu'il te dit : si il y a marqué quelque chose, c'est ta chaine qui est mauvaise !
Pourquoi dans le insert into, c'est "&Nom" et pas "$Nom" ?
Ensuite, s'il n'enregistre pas, c'est qu'il y a une erreur dans la bdd. Pour tester, remplace la ligne header("location... par echo mysql_error(); et vois ce qu'il te dit : si il y a marqué quelque chose, c'est ta chaine qui est mauvaise !
Sinistrus
Messages postés
1017
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
9 juil. 2011 à 00:20
9 juil. 2011 à 00:20
J'ai remplacé header ('Location: Validite.php'); } par echo mysql_error(); }
Pour le $Nom j'ai pas compris
Mais sinon il ne me dis rien, aucun message d'erreur ne s'affiche :s
Pour le $Nom j'ai pas compris
Mais sinon il ne me dis rien, aucun message d'erreur ne s'affiche :s
Utilisateur anonyme
9 juil. 2011 à 00:29
9 juil. 2011 à 00:29
Tu as marqué ça comme code :
$req=mysql_query("INSERT INTO Key_Computrace (VerifKey, Nom, Email, Vente) VALUES ('$Valid','&Nom','&Email','$Vente')");Mais ça ne soit pas être comme ça ?
$req=mysql_query("INSERT INTO Key_Computrace (VerifKey, Nom, Email, Vente) VALUES ('$Valid','$Nom','$Email','$Vente')");Bon s'il n'enregistre pas et qu'il n'y a pas d'erreur, c'est qu'il ne traite même pas la ligne... Remplace tout les header("location...") par echo "num de ton choix"... teste ce code tout fait et dis moi ce qui en ressort :
<?php if (isset($_POST["Valid"])) {$Valid = $_POST["Valid"]; echo "$_POST[Valid] valide<br/>"; mysql_connect("127.0.0.1", "root", ""); mysql_select_db("Key_Computrace"); $req=mysql_query("select * from Key_Computrace where ExistKey='$Valid' and VerifKey='$Valid'"); // ExistKey = 1 | VerifKey = 1 = NO $nb=mysql_num_rows($req); if ( $nb > 0 ) {echo('Location: KeyProduct.php ligne 7<br/>'); } $req=mysql_query("select * from Key_Computrace where ExistKey<>'$Valid'"); // ExistKey = 0 | VerifKey = 0 = NO $nb=mysql_num_rows($req); if ( $nb > 0 ) {echo('Location: KeyProduct.php ligne 10br/>'); } $req=mysql_query("select * from Key_Computrace where ExistKey<>'$Valid' and VerifKey='0'"); // ExistKey = 0 | VerifKey = 0 = NO $nb=mysql_num_rows($req); if ( $nb > 0 ) {echo('Location: KeyProduct.php ligne 13<br/>'); } $req=mysql_query("select * from Key_Computrace where ExistKey='$Valid' and VerifKey='0'"); // ExistKey = 1 | VerifKey = 0 = YES $nb=mysql_num_rows($req); if ( $nb > 0 ) { echo "Query traitée<br/>"; $req=mysql_query("INSERT INTO Key_Computrace (VerifKey, Nom, Email, Vente) VALUES ('$Valid','&Nom','&Email','$Vente')"); echo('Location: Validite.php<br/>'); } else{ echo "Query non teste<br/>"; } }else{ echo "$_POST[Valid] invalide<br/>"; } ?>
Sinistrus
Messages postés
1017
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
Modifié par Sinistrus le 9/07/2011 à 00:38
Modifié par Sinistrus le 9/07/2011 à 00:38
Désolé, je l'avais testé sur le serveur sans changer les paramètres de connexion :
Voici le résultat
PA0B8-I5PMC-JT90S-0B9PO-01VGP valide Location: KeyProduct.php ligne 10br/>Location: KeyProduct.php ligne 13 Query traitée Location: Validite.php
Voici le résultat
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
9 juil. 2011 à 00:40
9 juil. 2011 à 00:40
Ah ba voila pourquoi ca marche pas, il n'arrive même pas a se connecter à mysql ! tu est sur que tu a le bon trio serveur login et mot de passe ? Ca semble être les mauvais...
Sinistrus
Messages postés
1017
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
9 juil. 2011 à 00:47
9 juil. 2011 à 00:47
Oui, je suis sûr (enfin je penses) puisque il vérifie la clé comme ceci :
Clé 1- Si je l'ai pas dans la table dans ExistKey et VerifKey il reste sur la page
Clé 2- Si je l'ai dans la table dans ExistKey et VerifKey il reste sur la page
Clé 3- Si je l'ai dans la table dans ExistKey et VerifKey = 0 alors il ajoute les enregistrements et va sur Validite.php
Or là il fait toutes les conditions normalement et pars si la clé est 1/0 sur la page Validite.php
Condition de validité :
ExistKey/VerifKey
1/0
Conditions de refus :
ExistKey/VerifKey
0/0
1/1
Structure de la table :
Clé 1- Si je l'ai pas dans la table dans ExistKey et VerifKey il reste sur la page
Clé 2- Si je l'ai dans la table dans ExistKey et VerifKey il reste sur la page
Clé 3- Si je l'ai dans la table dans ExistKey et VerifKey = 0 alors il ajoute les enregistrements et va sur Validite.php
Or là il fait toutes les conditions normalement et pars si la clé est 1/0 sur la page Validite.php
Condition de validité :
ExistKey/VerifKey
1/0
Conditions de refus :
ExistKey/VerifKey
0/0
1/1
Structure de la table :
CREATE TABLE IF NOT EXISTS 'Key_Computrace' ( 'id' int(10) NOT NULL auto_increment, 'ExistKey' varchar(29) character set utf8 collate utf8_bin NOT NULL, 'VerifKey' varchar(29) character set utf8 collate utf8_bin NOT NULL, 'Nom' varchar(50) NOT NULL, 'Email' varchar(50) NOT NULL, 'Vente' varchar(50) NOT NULL, PRIMARY KEY ('id') ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4014 ;
Utilisateur anonyme
9 juil. 2011 à 00:48
9 juil. 2011 à 00:48
Voila pourquoi rien est ajouté dans ta base de donnée. le code s'arrête à la ligne 10 puis 13, parce que la redirection vers KeyProduct.php. Le code n'as pas le temps de s'occuper de $req=mysql_query("INSERT INTO Key_Computrace (VerifKey, Nom, Email, Vente) VALUES ('$Valid','&Nom','&Email','$Vente')"); puisqu'il est redirigé avant... Maintenant à toi de voir comment tu peux changer ton programme pour qu'il redirige seulement après cette ligne ? Je ne sais pas très bien ce que tu veux faire... Par contre je suis désolé, mais là, je vois l'écran flou XD ! Bon courage et bonne nuit !
Sinistrus
Messages postés
1017
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
9 juil. 2011 à 00:49
9 juil. 2011 à 00:49
Merci, désolé pour tes yeux :$
Je laisserai le résultat final et si ça ne te dérange pas trop de voir ça demain :$
Je laisserai le résultat final et si ça ne te dérange pas trop de voir ça demain :$
Sinistrus
Messages postés
1017
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
9 juil. 2011 à 10:40
9 juil. 2011 à 10:40
Non, toujours pas de résultat satisfaisant !
Voici ce qu'est devenu mon code :
Ce qui m'étonne c'est qui lis les conditions et valide la redirection si le code est erroné ou valide ! Mais alors pourquoi il n'enregistre pas dans la table ???
Voici ce qu'est devenu mon code :
<?php if (isset($_POST["Valid"])) {$Valid = $_POST["Valid"]; mysql_connect("127.0.0.1", "root", ""); mysql_select_db("Key_Computrace"); $delai=0; $url='http://mondomaine.com/KeyProduct.php'; $req=mysql_query("select * from Key_Computrace where ExistKey='$Valid' and VerifKey='$Valid'"); $nb=mysql_num_rows($req); if ( $nb > 0 ) {header("Refresh: $delai;url=$url"); } $req=mysql_query("select * from Key_Computrace where ExistKey<>'$Valid'"); $nb=mysql_num_rows($req); if ( $nb > 0 ) {header("Refresh: $delai;url=$url"); } $req=mysql_query("select * from Key_Computrace where ExistKey<>'$Valid' and VerifKey='0'"); $nb=mysql_num_rows($req); if ( $nb > 0 ) {header("Refresh: $delai;url=$url"); } $req=mysql_query("select * from Key_Computrace where ExistKey='$Valid' and VerifKey='0'"); $nb=mysql_num_rows($req); if ( $nb > 0 ){ $req=mysql_query("INSERT INTO Key_Computrace (VerifKey, Nom, Email, Vente) VALUES ('$Valid','$Nom','$Email','$Vente')"); header ('Location: Validite.php'); } } ?>
Ce qui m'étonne c'est qui lis les conditions et valide la redirection si le code est erroné ou valide ! Mais alors pourquoi il n'enregistre pas dans la table ???