Espace modifications checkbox

Fermé
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 17 janv. 2017 à 21:29
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 22 janv. 2017 à 07:09
Bonjour,

Bonsoir,

Voila je crée une partie administration sur un site qui restera en local.
Voici le code pour ajouter un article :

<?php
session_start();
if(!empty($_SESSION['statut'] != 3))
{
    header('Location: /site/index.php');
}
 
$bdd = new PDO('mysql:host=127.0.0.1;dbname=site;charset=utf8', 'root', '');
 
if(isset($_POST['envoyer']))
{
    if(!empty($_POST['titre']) AND !empty($_POST['urlphoto']) AND !empty($_POST['genre']) AND !empty($_POST['synopsis']) AND !empty($_POST['datedesortie']))
    {
        $titre = htmlspecialchars($_POST['titre']);
        $urlphoto = htmlspecialchars($_POST['urlphoto']);
        $genres = implode(' - ', $_POST['genre']);
        $synopsis = htmlspecialchars($_POST['synopsis']);
        $datedesortie = htmlspecialchars($_POST['datedesortie']);
         
        $reqtitrefilm = $bdd->prepare("SELECT * FROM article WHERE titre = ?");
        $reqtitrefilm->execute(array($titre));
        $filmexist = $reqtitrefilm->rowCount();
        if($filmexist == 0)
        {
                $inserarticle = $bdd->prepare("INSERT INTO article(titre, photo, genres, synopsis, date, enlignedate) VALUES (?, ?, ?, ?, ?, NOW())");
                $inserarticle->execute(array($titre, $urlphoto, $genres, $synopsis, $datedesortie));
        }
        else
        {
            $info = 'Ce film est deja present';
        }
    }
    else
    {
        $info = 'Tous les champs doivent être rempli adminitrateur ';
    }
}
 
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css" />
<title>Administration</title>
</head>
 
<body>
<h1>Espace Administration membres</h1>
<br/>
<ul id="menu_horizontal">
    <li class="bouton_gauche"><a href="/site/index.php" rel="nofollow noopener noreferrer" target="_blank">Retour vers le site</a></li>
    <li class="bouton_gauche"><a href="index.php" rel="nofollow noopener noreferrer" target="_blank">Administration membres</a></li>
    <li class="bouton_gauche"><a href="articles.php" rel="nofollow noopener noreferrer" target="_blank">Administration articles</a></li>
    <li class="bouton_gauche"><a href="ajouterarticle.php" rel="nofollow noopener noreferrer" target="_blank">Ajouter un article</a></li>
    <li class="bouton_droite"><a href="deco.php" rel="nofollow noopener noreferrer" target="_blank">Se déconnecter</a></li>
    </ul>
    <br/>
 
 
<br/>
<?php if(isset($info)) { echo $info; } ?>
<div align="center">
<h2>Article a ajouter :</h2>
<form method="POST">
     
    <label for="titre">Titre du film : </label><input type="text" id="titre" name="titre" value="<?php if(isset($titre)) { echo $titre; }?>"/><br/><br/>
    <label for="urlphoto">Nom de la photo avec l'extention : </label><input type="text" id="urlphoto" name="urlphoto" value="<?php echo 'images/'; if(isset($urlphoto)) { echo $urlphoto; }?>"/><br/><br/>
    <label>Genres du film :</label><br/><br/>
    <input type="checkbox" id="Action" name="genre[]" value="Action"><label for="Action">Action</label>
    <input type="checkbox" id="Annimation" name="genre[]" value="Annimation"><label for="Annimation">Annimation</label>
    <input type="checkbox" id="Aventure" name="genre[]" value="Aventure"><label for="Aventure">Aventure</label>
    <input type="checkbox" id="Comedie" name="genre[]" value="Comedie"><label for="Comedie">Comedie</label>
    <input type="checkbox" id="Fantastique" name="genre[]" value="Fantastique"><label for="Fantastique">Fantastique</label>
    <input type="checkbox" id="Guerre" name="genre[]" value="Guerre"><label for="Guerre">Guerre</label>
    <input type="checkbox" id="Horreur" name="genre[]" value="Horreur"><label for="Horreur">Horreur</label>
    <input type="checkbox" id="Romantique" name="genre[]" value="Romantique"><label for="Romantique">Romantique</label>
    <input type="checkbox" id="Thriller" name="genre[]" value="Thriller"><label for="Thriller">Thriller</label>
    <br/>
    <br/>
    <label for="synopsis">Ecrire le synopsis :</label><br/>
    <textarea id="synopsis" name="synopsis" rows="10" cols="100"></textarea><br/><br/>
    <label for="datedesortie">Date de sortie du film au cinéma : </label><input type="text" id="datedesortie" name="datedesortie" value="<?php if(isset($datedesortie)) { echo $datedesortie; }?>"/><br/><br/>
     
     
    <input type="submit" name="envoyer" value="Envoyer"/>
      
</form>
 
</body>
</html>



Voila cette partie fonctionne très bien mon seule problème sais de pouvoir modifier les checkbox.

Par exemple si la checkbox genre['action'] et genre['comedie'] est coché alors lors que je vais sur la page modification toutes mes checkbox apparaisses avec ces deux checkbox coché car présente dans la base de donnée.



Il faut savoir que chacun des champs son séparer par un -.

Mais je suis bloquer je sais pas trop comment faire cela pour que ce sois simple et compréhensible.

Merci d'avance de votre aide.



A voir également:

1 réponse

Utilisateur anonyme
18 janv. 2017 à 01:37
Comment accèdes tu à la page modification? Et si j'ai bien compris tu veux que si tu coches 2 checkbox, les mêmes chackbox soient cochées sur la page modification?
0
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 21
19 janv. 2017 à 12:22
Seule l'administrateur a accès a cela, via une section spécial qui vérifie si le membre est administrateur. Oui sais tout a fait cela vous avez bien compris.

Afin de modifier plus facilement le genre.
0
Utilisateur anonyme
19 janv. 2017 à 20:03
Oui mais comme tu y accèdes, y'a t'il un lien avec la page que tu nous a montré? Pour savoir si tu récupères les infos en GET/POST/SESSION/MySQL
0
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 21
22 janv. 2017 à 07:09
Bonjour, tous est en méthode POST pour récupéré les infos.
La page est accessible via un lien modifier qui récupère l'id de l'article via la méthode GET puis envoie cela sur une autre page pour modifier grace au traitement php.

Exemple:

Page articles.php

<a href="editer.php?modifierOK=<?= $a['id'] ?>">Modifier</a>

Page editer.php

if(isset($_GET['modifierOK']) AND !empty($_GET['modifierOK']))
{
$modifierOK = (int) $_GET['modifierOK'];
$reqarticle = $bdd->prepare("SELECT * FROM article WHERE id = ?");
$reqarticle->execute(array($modifierOK));
$article = $reqarticle->fetch();

}

Merci de votre aide.
0