Requête sql effectuée lors de l'envoi d'un formulaire [Résolu]

cs_ethan94 27 Messages postés dimanche 16 mars 2008Date d'inscription 15 juin 2010 Dernière intervention - 5 oct. 2008 à 15:09 - Dernière réponse : cs_ethan94 27 Messages postés dimanche 16 mars 2008Date d'inscription 15 juin 2010 Dernière intervention
- 6 oct. 2008 à 12:17
Bonjour :)

J'ai crée un petit formulaire de réservation et j'aimerais que lorsque je clique sur le bouton "Réserver" (de type submit), une requête sql s'effectue pour enregistrer la réservation dans ma base de donnée.

Pourriez-vous m'indiquer la marche à suivre? Merci par avance :)
Afficher la suite 

10 réponses

Répondre au sujet
Remidoubi007 7 Messages postés dimanche 16 décembre 2007Date d'inscription 15 octobre 2008 Dernière intervention - 5 oct. 2008 à 17:57
+3
Utile
http://www.phpsources.org/tutoriel-insert.htm
voila !!!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Remidoubi007
cs_ethan94 27 Messages postés dimanche 16 mars 2008Date d'inscription 15 juin 2010 Dernière intervention - 6 oct. 2008 à 12:17
+3
Utile
Finalement, j'ai trouvé une solution :)
J'ai viré la vérification sur l'envoi du formulaire par une vérification sur une variable booléenne (par défaut à false, et qui prend true, lorsque le formulaire est validé) et ça passe maintenant ^^.

Merci pour ton aide :)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_ethan94
cs_ethan94 27 Messages postés dimanche 16 mars 2008Date d'inscription 15 juin 2010 Dernière intervention - 5 oct. 2008 à 18:11
0
Utile
merci :) Mais j'ai un soucis. Je sais qu'il faut faire un contrôle, du type if(isset($_POST)) pour exécuter la requête si le formulaire a été posté. Mon problème, c'est que la requête ne s'effectue pas une fois que j'ai cliqué sur le bouton envoyer du formulaire...

Est ce qu'il y a un ordre précis à suivre?
Commenter la réponse de cs_ethan94
Remidoubi007 7 Messages postés dimanche 16 décembre 2007Date d'inscription 15 octobre 2008 Dernière intervention - 5 oct. 2008 à 18:16
0
Utile
tu commences par recupérer tes variables genre :

$var1= $_POST['variable1']
$var2= $_POST['variable2']
$var3= $_POST['variable3']

aprés tu fais les tests que tu veux isset, unset, empty ....

aprés tu fais ton insert.

P.S : Tous tes champs doivent être dans la même form car c'est elle qui envoi tes variables a la page ou tu fais l'insert champ action via un bouton Submit.
Commenter la réponse de Remidoubi007
cs_ethan94 27 Messages postés dimanche 16 mars 2008Date d'inscription 15 juin 2010 Dernière intervention - 5 oct. 2008 à 18:49
0
Utile
Ça ne fonctionne pas, et je ne trouve pas pourquoi : /

mon code est le suivant.

J'ai ceci en haut de ma page:

<?php session_start();
$login = $_SESSION['login'];
$numjeu = $_GET['id'];
$date = date('Y-m-d');

et ensuite, dans un bloc, j'ai ceci:

<?php
            include('ini.php');
                if(isset($_POST['form2']))
                {

                    $req2 = "insert into emprunter VALUES('$login','$numjeu','$date');";
                    mysql_query($req2, $connex);
                    echo 'Votre jeu est maintenant réservé. Cliquez [consult.php ici] pour retourner au catalogue.';
                }
               
                else
                {
                                $req "select code_jeu, lib_jeu, lib_cons, lib_genre, an_sortie, fiche, cover from jeu, console, genre WHERE jeu.code_jeu '$numjeu' AND jeu.code_cons = console.code_cons AND jeu.code_genre = genre.code_genre;";
                $resultat = mysql_query($req, $connex);
               
                    while($ligne = mysql_fetch_array($resultat))
                    {
                        echo '

';
                        echo '';
                        echo 'Titre du jeu: '.$ligne['lib_jeu'].'

';
                        echo 'Genre: '.$ligne['lib_genre'].'

';
                        echo 'Plate-forme: '.$ligne['lib_cons'].'

';
                        echo 'Année de sortie: '.$ligne['an_sortie'].'

';
                        echo 'Test et vidéos: ['.$ligne['fiche'].' fiche internet]

';   
                       
                        if(isset($_SESSION['login']))
                        {
                            echo '<form style="border: none;" name="form2" method="POST" action="jeu.php?id='.$numjeu.'">';
                            echo '';
                            echo '</form>';
                        }
                    }
                }
 ?>
Commenter la réponse de cs_ethan94
Remidoubi007 7 Messages postés dimanche 16 décembre 2007Date d'inscription 15 octobre 2008 Dernière intervention - 5 oct. 2008 à 19:08
0
Utile
essaye de faire un echo pour voir :

echo $login.$numjeu.$date;
Commenter la réponse de Remidoubi007
cs_ethan94 27 Messages postés dimanche 16 mars 2008Date d'inscription 15 juin 2010 Dernière intervention - 5 oct. 2008 à 20:20
0
Utile
Voilà ce que ça m'affiche: ethan182008-10-05
Commenter la réponse de cs_ethan94
cs_ethan94 27 Messages postés dimanche 16 mars 2008Date d'inscription 15 juin 2010 Dernière intervention - 5 oct. 2008 à 20:22
0
Utile
C'est le résultat qui est recherché :) Donc le problème ne vient pas d'ici je pense.
Commenter la réponse de cs_ethan94
Remidoubi007 7 Messages postés dimanche 16 décembre 2007Date d'inscription 15 octobre 2008 Dernière intervention - 5 oct. 2008 à 20:26
0
Utile
$req2 = "insert into emprunter VALUES('$login','$numjeu','$date');";
$req = "select code_jeu, lib_jeu, lib_cons, lib_genre, an_sortie,
fiche, cover from jeu, console, genre WHERE jeu.code_jeu = '$numjeu'
AND jeu.code_cons console.code_cons AND jeu.code_genre
genre.code_genre;";
                $resultat = mysql_query($req, $connex);

essaye de mettre :(sans le ; avant les ")
$req2 = "insert into emprunter VALUES('$login','$numjeu','$date')";
mysql_query($req2, $connex) or die("erreur de requete INSERT");

$req = "select code_jeu, lib_jeu, lib_cons, lib_genre, an_sortie,
fiche, cover from jeu, console, genre WHERE jeu.code_jeu = '$numjeu'
AND jeu.code_cons console.code_cons AND jeu.code_genre
genre.code_genre";
$resultat = mysql_query($req, $connex)or die("erreur de requete SELECT");
Commenter la réponse de Remidoubi007
cs_ethan94 27 Messages postés dimanche 16 mars 2008Date d'inscription 15 juin 2010 Dernière intervention - 5 oct. 2008 à 21:16
0
Utile
J'ai fait les modifications mais rien n'a  changé. Pas de message d'erreur. Je ne pense pas que ça vienne des requêtes sql. A mon avis c'est un problème au niveau des différents niveaux de vérification.

quelques petites infos. Si je remplace if(isset($_POST['form2'])) par if(isset($_POST)), l'enregistrement s'effectue sans que j'ai eu à envoyer le formulaire : / C'est ce code qui s'effectue des que j'arrive sur la page jeu.php (depuis une autre page du site): $req2 = "insert into emprunter VALUES('$login','$numjeu','$date');";
                    mysql_query($req2, $connex);
   
                echo 'Votre jeu est maintenant réservé. Cliquez [consult.php ici] pour retourner au catalogue.';

Ce qui se passe actuellement, c'est que lorsque j'appuies sur le bouton "reserver" qui valide le formulaire, je suis redirigé vers la page jeu.php?id="'.$numjeu.'" (donc là même sur laquelle se trouve le formulaire en principe) mais à ce moment là, la partie du code avec le isset($_post) ne s'effectue pas : /
Commenter la réponse de cs_ethan94

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.