Requête sql effectuée lors de l'envoi d'un formulaire

Résolu
cs_ethan94 Messages postés 27 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 15 juin 2010 - 5 oct. 2008 à 15:09
cs_ethan94 Messages postés 27 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 15 juin 2010 - 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 :)

10 réponses

Remidoubi007 Messages postés 7 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 15 octobre 2008
5 oct. 2008 à 17:57
3
cs_ethan94 Messages postés 27 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 15 juin 2010
6 oct. 2008 à 12:17
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 :)
3
cs_ethan94 Messages postés 27 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 15 juin 2010
5 oct. 2008 à 18:11
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?
0
Remidoubi007 Messages postés 7 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 15 octobre 2008
5 oct. 2008 à 18:16
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ethan94 Messages postés 27 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 15 juin 2010
5 oct. 2008 à 18:49
Ç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>';
                        }
                    }
                }
 ?>
0
Remidoubi007 Messages postés 7 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 15 octobre 2008
5 oct. 2008 à 19:08
essaye de faire un echo pour voir :

echo $login.$numjeu.$date;
0
cs_ethan94 Messages postés 27 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 15 juin 2010
5 oct. 2008 à 20:20
Voilà ce que ça m'affiche: ethan182008-10-05
0
cs_ethan94 Messages postés 27 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 15 juin 2010
5 oct. 2008 à 20:22
C'est le résultat qui est recherché :) Donc le problème ne vient pas d'ici je pense.
0
Remidoubi007 Messages postés 7 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 15 octobre 2008
5 oct. 2008 à 20:26
$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");
0
cs_ethan94 Messages postés 27 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 15 juin 2010
5 oct. 2008 à 21:16
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 : /
0
Rejoignez-nous