8768 sujets

Développement web côté serveur, CMS

Bonjour,

Je suis actuellement en plein développement d'un site Internet et je suis confronté à un problème que je ne parviens pas à résoudre.

Voici mon code :
<?php
session_start();
$bdd = new PDO('mysql:host=localhost;dbname=m0m_mysql', 'm0m_mysql', '(caché)');
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<meta charset="utf-8" />
    <link rel="stylesheet" href="CSS/OTA.css<?php echo "?".rand();?>" />
   <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css" integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
   <title>Adhésion - OrdiToutAge</title>
   <link rel="icon" href="Images/logo OTA.png" />
</head>
<body>
    <img src="../Images/logo OTA.jpg" style="width: 180px;margin-left: 70px;margin-top: 50px;"/>
    <p style="font-size: 20px;font-weight: 500;width: 25%;margin-left: 1110px;margin-top: -200px;background-color: white;padding-top: 70px;padding-bottom: 20px;"> 
    Ce bulettin est à remplir, puis à imprimer ou à envoyer par mail à l'association pour prendre en compte votre demande </p>
    <div id="atelier">  
        <h1 class="maintitleatelier">Votre facture d'atelier</h1>
        <p>Nom : <input type="text" placeholder="Entrer votre nom"></input> 
        Prenom : <input type="text" placeholder="Entrer votre prenom"></input></p>
        <p>Adresse : <input type="text" placeholder="Entrer votre adresse"></input></p>
        <p>Code Postal : <input type="text" placeholder="Entrer votre code postal"></input>
        Ville : <input type="text" placeholder="Entrer votre ville"></input></p>
            
        <form method="post">
        <label style="position: relative;margin-left: 450px;top: 0px;">Selectionnez votre tranche de revenu :</label>
            <select id="liste" name="listeRevenu" style="font-size: 17px;">
                <?php
                    $atelier = $bdd->query('SELECT DISTINCT revenu 	FROM atelier');
                    while($doca = $atelier->fetch())
                    {
                    ?>
                    <option <?php 
                    if ($doca['revenu'] == 0) {
                    ?>
                    value="Revenu inférieur à 600€" 
                    <?php 
                    } else { ?>
                    value="Revenu superieur à 600€"
                    <?php
                    }
                    ?>
                    >

                    <?php 
                    if ($doca['revenu'] == 0) {
                        echo "Revenu inférieur à 600€";
                    } else {
                        echo "Revenu supérieur à 600€";
                    }
                    }
                        ?>
                    </option>
            </select>
        <input type="submit" value="OK" />
    </form> 
        <?php
        if(isset($_POST['listeRevenu'])) {
            $revenuOption = $_POST['listeRevenu'];
            $_SESSION = $revenuOption;
        }                   
        ?>
                <p style="font-size: 20px;font-weight: 500;margin-left: 750px;margin-top: -3px;margin-bottom: -10px;">Vous avez selectionné : 
                <?php echo $AdhesionOption ?> & <?php echo $revenuOption ?></p>

            </br>

        <form method="post">
        <label style="position: relative;margin-left: 450px;top: 0px;">Êtes-vous adhérent à l'association ?</label>
        <select id="liste" name="listeAdhesion" style="font-size: 17px;">
            <?php
                $atelier = $bdd->query('SELECT DISTINCT adhesion FROM atelier');
                while($doca = $atelier->fetch())
                {
                ?>
                <option <?php 
                if ($doca['adhesion'] == 0) {
                ?>
                value="Adhérant" 
                <?php 
                } else { ?>
                value="Non Adhérant"
                <?php
                }
                ?>
                >

                <?php 
                if ($doca['adhesion'] == 0) {
                    echo "Adhérent";
                }
                else {
                    echo "Non Adhérent";
                }
            }
                ?>
                </option>
        </select>
        <input type="submit" value="OK" />
        </form> 
        <?php
        if(isset($_POST['listeAdhesion'])) {
            $AdhesionOption = $_POST['listeAdhesion'];
            $_SESSION = $AdhesionOption;
        }                   
        ?>
                <p style="font-size: 20px;font-weight: 500;margin-left: 750px;margin-top: -3px;margin-bottom: -10px;">Vous avez selectionné : 
                <?php echo $AdhesionOption ?> & <?php echo $revenuOption ?></p>

            </br>

        <form method="post">
            <label style="position: relative;margin-left: 450px;top: 0px;">Choisissez le nombre d'ateliers :</label>
            <select id="liste" name="atelieroption">
            <?php
            if ($revenuOption == "Revenu superieur à 600€" and $AdhesionOption == "Non Adhérent") {
                $atelier = $bdd->query('SELECT * FROM atelier WHERE revenu = 1 and adhesion = 0 
                ORDER BY id_atelier ASC');
                } elseif ($revenuOption == "Revenu superieur à 600€" and $AdhesionOption == "Adhérent") {
                        $atelier = $bdd->query('SELECT * FROM atelier WHERE revenu = 1 and adhesion = 1 
                        ORDER BY id_atelier ASC');
                    } else {
                        $atelier = $bdd->query('SELECT * FROM atelier WHERE revenu = 0 and adhesion = 1 
                        ORDER BY id_atelier ASC');
                    }
            
            $total = 0;
            while($doca = $atelier->fetch())
            {
            ?>
            <option value="1 atelier"><?php echo $doca['nombre_atelier'];?> - <?php echo $doca['prix']?> € </option>        
            <?php
            }
            ?>
            </select>
            <input type="submit" name="submit" value="OK"/>
        </form>

        <p>Règlement effectué en </p>
                                    <input type="checkbox" id="espece" name="espece" checked style="margin-left: 725px">
                                    <label for="espece">Espèces</label>

                                    <input type="checkbox" id="cheque" name="cheque">
                                    <label for="scales">Chèque Bancaire</label>

                                    <input type="checkbox" id="virement" name="virement">
                                    <label for="scales">Virement</label>
    </div>

</body>
</html>


En fait, dans ce code, (grossièrement), je récupère les VALUE des balises <select> pour les stocker dans deux variables différentes (une variable pour chaque <select>).
Le souci c'est que comme j'utilise la methode "POST", la page se refresh et la variable qui n'est pas concerné par la pression du bouton (autrement dit l'autre variable de l'autre bouton <select>, donc je ne garde qu'une variable sur les deux alors que je souhaiterais garder les deux.

Je fais quelques recherches, j'ai notamment trouvé quelques informations intéressantes sur le $_SESSION (mais hélas je ne sais pas comment l'utiliser).

Merci d'avance pour les personnes qui m'apporterons de l'aide. Smiley biggrin
Modifié par Xenius (13 Aug 2020 - 16:44)
Modérateur
Bonjour,

Il me semble qu'il suffirait de tout mettre dans une balise "form" unique.

Amicalement,
Modifié par parsimonhi (14 Aug 2020 - 02:05)
Meilleure solution
Merci bien, tu me sors une grosse épine du bien.
Modifié par Xenius (14 Aug 2020 - 11:23)