Bonjour, j'ai un programme qui doit afficher les absents en permanence selon les classes pour indiquer si un élève est absent, je dois checker une checkbox qui doit envoyer le chécker dans la liste de récapitulation (pour imprimer) j'ai fais tout sauf que je ne sais pas comment faire pour envoyer les chéckés dans la page de récapitulation (je sais pas surtout comment faire :) ) j'ai inscrit dans mon formulaire d'envoi des checksbox d'ID et de valeurs égales à l'ID (le tout est dans la boucle qui affiche les élèves) et après je vois pas comment faire.

admin.php :

<?php 
    session_start();
    if(!isset($_SESSION'login']) && !isset($_SESSION'ID']))
    {
        header('location: index.php');
    }
?>
<?php

            try
        {
            $bdd = new PDO('mysql:host=localhost;dbname=college', 'root', '');
        }

            catch (Exception $e)

        {
            die('Erreur : ' . $e->getMessage());
        }
?>
<!DOCTYPE html>

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="type/css" href="style.css" />
        <title>Permaclock</title>
        <meta charset = "utf-8"/>
    </head>
    <body>
        <header>
            <h2> Bienvenue sur PermaCloack, le logiciel qui permet de gérer less absences en permanence ! </h2>
        </header>

        <aside>
        </aside>

        <div class="1">
            <form action="admin.php" method="GET" name="classe">
                <select name="classe">
                    <option value="3 ARRAS">3ARRAS</option>
                    <option value="3A">3A</option>
                    <option value="3B">3B</option>
                    <option value="3C">3C</option>
                    <option value="3D">3D</option>
                    <option value="3E">3E</option>
                    <option value="4 BOULOGNE">4BOULOGNE</option>
                    <option value="4A">4A</option>
                    <option value="4B">4B</option>
                    <option value="4C">4C</option>
                    <option value="4D">4D</option>
                    <option value="4E">4E</option>
                    <option value="4F">4F</option>
                    <option value="5 VENISE">5VENISE</option>
                    <option value="5A">5A</option>
                    <option value="5B">5B</option>
                    <option value="5C">5C</option>
                    <option value="5D">5D</option>
                    <option value="5E">5E</option>
                    <option value="5F">5F</option>
                    <option value="5G">5G</option>
                    <option value="6 FLORENCE">6FLORENCE</option>
                    <option value="6A">6A</option>
                    <option value="6B">6B</option>
                    <option value="6C">6C</option>
                    <option value="6D">6D</option>
                    <option value="6E">6E</option>
                    <option value="6F">6F</option>
                    <option value="CALAIS">CALAIS</option>
                </select>
                <input type="submit"/>
            </form>
        </div>

        <div class="2">
            <?php          
                    if (empty($_GET'classe'])) 
                        {
                                echo "<p> Veuillez séléctionner une classe. </p>";
                        }

                    else
                    {
                        echo '<form action="recap.php" method="get" name"abs">';
                        $req = $bdd->query('SELECT * FROM eleves WHERE classe=\'' . $_GET'classe'] . '\'');
                        while ($affich = $req->fetch())
                            {
                                echo '<p> Absent :<input type="checkbox" name="'. $affich'id'] .'" id="'. $affich'id'] .'"/> '. $affich'nom'] .' '. $affich'prenom'] .' '. $affich'classe'] .'</p>';
                            }
                            $req->closeCursor();
                                echo '<input type="submit" name"Valider"/>';
                        echo "</form>";
                    }
            ?>
        </div>

        <div class="3">
        </div>
        <footer>
            <h6></h6>
        </footer>
    </body>
</html>

recap.php

<?php 
    session_start();
    if(!isset($_SESSION'login']) && !isset($_SESSION'ID']))
    {
        header('location: index.php');
    }
?>
<?php $bdd = new PDO('mysql:host=localhost;dbname=college', 'root', '');?>
<!DOCTYPE html>
    <html>
        <head>
            <link rel="stylesheet" type="text/css" href="style.css"/>
            <meta charset="utf-8"/>
            <title>Permacloak</title>
        </head>
        <body>

                <?php          
                if (isset($_POST'abs'])) 
                    {
                        echo $_POST'abs'];
                    }
                ?>
        </body>
    </html>

Je ne demande pas tout le code, mais plutôt une façon de faire pour que j'envoie mes valeurs vers une autre page.

Merci a tous et bons exams pour ceux qui le passent.

3 réponses


Xen0risDEV
Réponse acceptée

Bonjour, surement une erreur de connexion à la base de donnée tenter ceci :

<?php
try {
    $bdd = new PDO('mysql:host=localhost;dbname=college', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    $bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
} catch (PDOException $e) {
    die('Erreur : ' . $e->getMessage());
}
?>

Toute foi je vous conseil de vous un créer un dossier nommer config est dis mettre un fichier "conf.php".
Voici un conf.php :

<?php
session_start();
$host = 'localhost';
$dbname = 'tutoriel';
$login = 'root';
$password = 'root';
try {
    $bdd = new PDO('mysql:host='.$host.';dbname='.$dbname, $login, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    $bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
} catch (PDOException $e) {
    die('Erreur : ' . $e->getMessage());
}

La page admin.php :

<?php 
require('conf/config.php');
$_SESSION'login'] = 'Jessy L.';
$_SESSION'ID'] = 1;
if(!isset($_SESSION'login']) && !isset($_SESSION'ID'])) {
    header('location: index.php');
}
?>
<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="type/css" href="style.css" />
        <title>Permaclock</title>
        <meta charset = "utf-8"/>
    </head>
    <body>
        <header>
            <h2> Bienvenue sur PermaCloack, le logiciel qui permet de gérer les absences en permanence ! </h2>
        </header>

        <aside>
        </aside>

        <div class="1">
            <form method="post" name="classe">
                <select name="classe">
                    <option value="3 ARRAS">3ARRAS</option>
                    <option value="3A">3A</option>
                    <option value="3B">3B</option>
                    <option value="3C">3C</option>
                    <option value="3D">3D</option>
                    <option value="3E">3E</option>
                    <option value="4 BOULOGNE">4BOULOGNE</option>
                    <option value="4A">4A</option>
                    <option value="4B">4B</option>
                    <option value="4C">4C</option>
                    <option value="4D">4D</option>
                    <option value="4E">4E</option>
                    <option value="4F">4F</option>
                    <option value="5 VENISE">5VENISE</option>
                    <option value="5A">5A</option>
                    <option value="5B">5B</option>
                    <option value="5C">5C</option>
                    <option value="5D">5D</option>
                    <option value="5E">5E</option>
                    <option value="5F">5F</option>
                    <option value="5G">5G</option>
                    <option value="6 FLORENCE">6FLORENCE</option>
                    <option value="6A">6A</option>
                    <option value="6B">6B</option>
                    <option value="6C">6C</option>
                    <option value="6D">6D</option>
                    <option value="6E">6E</option>
                    <option value="6F">6F</option>
                    <option value="CALAIS">CALAIS</option>
                </select>
                <input type="submit"/>
            </form>
        </div>

        <div class="2">
            <?php          
            if($_POST) {
                if(!empty($_GET'classe'])) {
                    $classes = mysql_real_escape_string($_GET'classe']);
                    $html = '<form method="post" name"abs">';
                    $req = $bdd->prepare('SELECT * FROM eleves WHERE classe = ?');
                    $req->bindValue(1, $classes);
                    $req->execute();
                    while ($affich = $req->fetch()) {
                        echo '<p> Absent :<input type="checkbox" name="'. $affich'id'] .'" id="'. $affich'id'] .'"/> '. $affich'nom'] .' '. $affich'prenom'] .' '. $affich'classe'] .'</p>';
                    }
                    $req->closeCursor();
                    $html .= '<input type="submit" name"Valider"/>';
                    $html .= "</form>";   
                    if (isset($_POST'abs'])) {
                        echo $_POST'abs'];
                    }
                } else {
                    echo "<p> Veuillez séléctionner une classe. </p>";
                }                
            }
            ?>
        </div>

        <div class="3">
        </div>

        <footer>
            <h6></h6>
        </footer>

    </body>
</html>

Vous pouvez aussi allégir la liste au niveau d'admin.php, en imposant un tableaux (array()), et ainsi le parcourir exemple :
Retournons dans le fichier conf.php ajouter ceci :

$liste_classes = array(
    '3ARRAS',
    '3A',
    '3B',
    '3C',
    '3D',
    '3E',
    '4BOULOGNE',
    '4A',
    '4B',
    '4C',
    '4D',
    '4E',
    '4F',
    '5VENISE',
    '5A',
    '5B',
    '5C',
    '5D',
    '5E',
    '5F',
    '5G',
    '6FLORENCE',
    '6A',
    '6B',
    '6C',
    '6D',
    '6E',
    '6F',
    'CALAIS'
);

Dans Admin.php :

<?php 
require('conf/config.php');
//$_SESSION'login'] = 'Jessy L. (Votre prénom)'; //Simule une Session ouverte ^^
//$_SESSION'ID'] = 1; //Simule une Session ouverte ^^
if(!isset($_SESSION'login']) && !isset($_SESSION'ID'])) {
    header('location: index.php');
}
?>
<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="type/css" href="style.css" />
        <title>Permaclock</title>
        <meta charset = "utf-8"/>
    </head>
    <body>
        <header>
            <h2> Bienvenue sur PermaCloack, le logiciel qui permet de gérer les absences en permanence ! </h2>
        </header>

        <aside>
        </aside>

        <div class="1">
            <form method="post" name="classe">
                <select name="classe">
                    <?php
                    foreach($liste_classes as $k => $v) {
                        print('<option value="'.$v.'">'.$v.'</option>');
                    }
                    ?>
                </select>
                <input type="submit"/>
            </form>
        </div>

        <div class="2">
            <?php          
            if($_POST) {
                if(!empty($_GET'classe'])) {
                    $classes = mysql_real_escape_string($_GET'classe']);
                    $html = '<form method="post" name"abs">';
                    $req = $bdd->prepare('SELECT * FROM eleves WHERE classe = ?');
                    $req->bindValue(1, $classes);
                    $req->execute();
                    while ($affich = $req->fetch()) {
                        echo '<p> Absent :<input type="checkbox" name="'. $affich'id'] .'" id="'. $affich'id'] .'"/> '. $affich'nom'] .' '. $affich'prenom'] .' '. $affich'classe'] .'</p>';
                    }
                    $req->closeCursor();
                    $html .= '<input type="submit" name"Valider"/>';
                    $html .= "</form>";   
                    if (isset($_POST'abs'])) {
                        echo $_POST'abs'];
                    }
                } else {
                    echo "<p> Veuillez séléctionner une classe. </p>";
                }                
            }
            ?>
        </div>

        <div class="3">
        </div>

        <footer>
            <h6></h6>
        </footer>

    </body>
</html>

Je vous remercie cela va beaucoup m'aider :=). Il y a certaines choses que je comprends pas mais ce n'est qu'une question de temps :)

De rien, ses normal d'aider :)