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

Signaler
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010
-
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010
-
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

Messages postés
7
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
15 octobre 2008

Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010

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

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?
Messages postés
7
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
15 octobre 2008

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.
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010

Ç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>';
                        }
                    }
                }
 ?>
Messages postés
7
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
15 octobre 2008

essaye de faire un echo pour voir :

echo $login.$numjeu.$date;
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010

Voilà ce que ça m'affiche: ethan182008-10-05
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010

C'est le résultat qui est recherché :) Donc le problème ne vient pas d'ici je pense.
Messages postés
7
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
15 octobre 2008

$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");
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010

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 : /