Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.25 KB | None | 0 0
  1. <?php
  2. try{
  3. // On se connecte à MySQL
  4. $bdd = new PDO('mysql:host=localhost;dbname=gestion;charset=utf8', 'root', '');
  5. }
  6. catch(Exception $e)
  7. {
  8. // En cas d'erreur, on affiche un message et on arrête tout
  9. die('Erreur : '.$e->getMessage());
  10. }
  11. ?>
  12. <!DOCTYPE HTML>
  13. <html>
  14. <head>
  15.     <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8">
  16.     <title>TP PHP OBJET</title>
  17.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
  18. </head>
  19. <body style="padding:30px;">
  20.  
  21.     <a style=" float: right;" onclick="visible()" href="#">Ajouter commentaire ou billet (Moderateur)</a>
  22.     <script>function visible(){ document.getElementById('input').style.visibility = 'visible';} </script>
  23.    
  24.     Trier tous les billets par
  25.     <a href="?dateB">date</a> |
  26.     <a href="?titre">titre</a><br>
  27.    
  28.     <form action="index.php?ajout" method="POST"><input value="azerty" type="password" id="input" name="mdp" style="float: right;visibility:hidden"></form>
  29.    
  30.     Trier tous les commentaires par
  31.     <a href="?dateC">date</a> |
  32.     <a href="?auteurSQL">auteur</a><br>
  33.    
  34.     <form  action="">
  35.     <label>Afficher tous les commentaires du billet : </label>
  36.     <select name="id" onchange='f(this)'>
  37.     <option value="" ></option>
  38.         <?php $req = $bdd->query('SELECT titre,id FROM billet');
  39.         while ($donnees = $req->fetch())
  40.         { ?>
  41.         <option value="<?php echo $donnees['id']; ?>"><?php echo $donnees['titre']; ?></option>
  42.         <?php } ?>
  43.     </select>
  44.     </form>
  45.     <script>function f(event){ var id=event.value; window.location.href = 'index.php?id='+id+'&dateC';}</script>
  46.    
  47.     <form  action="">
  48.     <label>Afficher tous les article commenté par l'auteur : </label>
  49.     <select name="auteur" onchange='f2(this)'>
  50.     <option value="" ></option>
  51.         <?php $req = $bdd->query('SELECT DISTINCT auteur FROM commentaire');
  52.         while ($donnees = $req->fetch())
  53.         { ?>
  54.         <option value="<?php echo $donnees['auteur']; ?>"><?php echo $donnees['auteur']; ?></option>
  55.         <?php } ?>
  56.     </select>
  57.     </form>
  58.     <script>function f2(event){var auteur=event.value; window.location.href = 'index.php?auteur='+auteur;}</script>
  59.  
  60.     <a href="index.php">Supprimer les filtres ou trie</a><br>
  61.     </br>
  62.    
  63.     <?php if(isset($_GET['ajout'])){
  64.             if(isset($_POST['mdp']) AND $_POST['mdp'] == "azerty"){?>
  65.                 Ajouter un billet<br>
  66.                 <form action="index.php?insertB" method="POST">
  67.                     <input type="date" name="date">date<br>
  68.                     <input type="text" name="titre">titre<br>
  69.                     <textarea name="contenu"></textarea>contenu
  70.                     <input type="submit" value="Envoyer">
  71.                 </form>
  72.                 <br>
  73.                
  74.                 Ajouter un commentaire<br>
  75.                 <form action="index.php?insertC" method="POST">
  76.                     <input type="date" name="date">date<br>
  77.                     <input type="text" name="auteur">auteur<br>
  78.                     <input type="mail" name="mail">mail<br>
  79.                     <textarea name="commentaire"></textarea>commentaire<br>
  80.                     <select name="id">
  81.                     <option value="" ></option>
  82.                         <?php $req = $bdd->query('SELECT titre,id FROM billet');
  83.                         while ($donnees = $req->fetch()){ ?>
  84.                             <option value="<?php echo $donnees['id']; ?>"><?php echo $donnees['titre']; ?></option>
  85.                         <?php } ?>
  86.                     </select>Billet
  87.                     <input type="submit" value="Envoyer">
  88.                 </form>
  89.     <?php }else{ echo "Mot de passe incorrect ! "; } } ?>
  90. <hr>
  91.  
  92. <?php
  93. //Class Billet
  94. class Billet{
  95.     private $Id_bil;
  96.     private $Date_bil;
  97.     private $Titre_bil;
  98.     private $contenu;
  99.    
  100.     public function __construct($id, $date, $titre, $contenU){
  101.         $this->Id_bil = $id;
  102.         $this->Date_bil = $date;
  103.         $this->Titre_bil = $titre;
  104.         $this->contenu = $contenU;
  105.     }
  106.    
  107.     public function getBillet(){
  108.         return "ID : ".$this->Id_bil."<br><b>".$this->Titre_bil."</b>  /  ".$this->Date_bil."<br> ".$this->contenu."<br>";
  109.     }
  110.    
  111.     public function getIdbil(){
  112.         return $this->Id_bil;
  113.     }
  114.     public function getTitre(){
  115.         return $this->Titre_bil;
  116.     }
  117. }
  118.  
  119.     //Recuperation des billets et/ou trie
  120.     if(isset($_GET['dateB'])){
  121.         $req = $bdd->query('SELECT * FROM billet ORDER BY date desc');
  122.         while ($donnees = $req->fetch())
  123.         {
  124.             $Billet[] = new Billet($donnees['id'], $donnees['date'], $donnees['titre'], $donnees['contenu']);
  125.         }
  126.     }elseif(isset($_GET['titre'])){
  127.         $req = $bdd->query('SELECT * FROM billet ORDER BY titre');
  128.         while ($donnees = $req->fetch())
  129.         {
  130.             $Billet[] = new Billet($donnees['id'], $donnees['date'], $donnees['titre'], $donnees['contenu']);
  131.         }
  132.     }elseif(isset($_GET['auteur'])){
  133.         $auteur = $_GET['auteur'];
  134.         $req = $bdd->query('SELECT * FROM billet WHERE id IN (SELECT DISTINCT id_bil FROM commentaire WHERE auteur = "'.$auteur.'") ORDER BY date desc');
  135.         while ($donnees = $req->fetch())
  136.         {
  137.             $Billet[] = new Billet($donnees['id'], $donnees['date'], $donnees['titre'], $donnees['contenu']);
  138.         }
  139.     }else{
  140.         $req = $bdd->query('SELECT * FROM billet');
  141.         while ($donnees = $req->fetch())
  142.         {
  143.             $Billet[] = new Billet($donnees['id'], $donnees['date'], $donnees['titre'], $donnees['contenu']);
  144.         }
  145.     }
  146.    
  147.     //ajout d'un billet :
  148.     if(isset($_GET['insertB'])){
  149.         if(empty($_POST['date'])){}else{
  150.         $date = $_POST['date'];
  151.         $titre = $_POST['titre'];
  152.         $contenu = $_POST['contenu'];
  153.         $bdd->query ("INSERT INTO `gestion`.`billet` (`id`, `date`, `titre`, `contenu`) VALUES (NULL, '".$date."', '".$titre."', '".$contenu."')");
  154.         header('location: index.php');
  155.         }
  156.     }
  157.    
  158. //Class Commentaire
  159. class Commentaire{
  160.     private $Id_com;
  161.     private $Date_com;
  162.     private $Auteur_com;
  163.     private $Mail_auteur;
  164.     private $commentaire;
  165.     private $Id_bil;
  166.    
  167.     public function __construct($id, $date, $auteur, $mailAuteur, $com, $idBillet){
  168.         $this->Id_com = $id;
  169.         $this->Date_com = $date;
  170.         $this->Auteur_com = $auteur;
  171.         $this->Mail_auteur = $mailAuteur;
  172.         $this->commentaire = $com;
  173.         $this->Id_bil = $idBillet;
  174.     }
  175.    
  176.     public function getCommentaire(){
  177.         return "&nbsp &nbsp     &nbsp ------- Date com : ".$this->Date_com." / <b>".$this->Auteur_com."</b><br>     &nbsp   &nbsp   &nbsp ".$this->commentaire."<br><br>";
  178.     }
  179.    
  180.     public function getIdbil(){
  181.         return $this->Id_bil;
  182.     }
  183. }
  184.     //Récupération des commentaire et/ou trie
  185.     if(isset($_GET['auteurSQL'])){
  186.         $req = $bdd->query('SELECT * FROM commentaire ORDER BY auteur');
  187.         while ($donnees = $req->fetch())
  188.         {
  189.             $Commentaire[] = new Commentaire($donnees['id'], $donnees['date'], $donnees['auteur'], $donnees['mail'], $donnees['commentaire'], $donnees['id_bil']);
  190.         }
  191.     }elseif(isset($_GET['dateC'])){
  192.         $req = $bdd->query('SELECT * FROM commentaire ORDER BY date desc');
  193.         while ($donnees = $req->fetch())
  194.         {
  195.             $Commentaire[] = new Commentaire($donnees['id'], $donnees['date'], $donnees['auteur'], $donnees['mail'], $donnees['commentaire'], $donnees['id_bil']);
  196.         }
  197.     }else{
  198.         $req = $bdd->query('SELECT * FROM commentaire ORDER BY date desc');
  199.         while ($donnees = $req->fetch())
  200.         {
  201.             $Commentaire[] = new Commentaire($donnees['id'], $donnees['date'], $donnees['auteur'], $donnees['mail'], $donnees['commentaire'], $donnees['id_bil']);
  202.         }
  203.     }
  204.    
  205.     //ajout d'un commentaire dans la bdd :
  206.     if(isset($_GET['insertC'])){
  207.         if(empty($_POST['date'])){}else{
  208.            
  209.             $date = $_POST['date'];
  210.             $auteur = $_POST['auteur'];
  211.             $mail = $_POST['mail'];
  212.             $commentaire = $_POST['commentaire'];
  213.             $id = $_POST['id'];
  214.            
  215.             $bdd->query ("INSERT INTO `gestion`.`commentaire` (`id`, `date`, `auteur`, `mail`, `commentaire`, `id_bil`)
  216.             VALUES (NULL, '".$date."', '".$auteur."', '".$mail."', '".$commentaire."', '".$id."')");
  217.             header('location: index.php');
  218.         }
  219.         header('location: index.php');
  220.     }
  221.    
  222.     //Affichage :
  223.     $cpt = 0;              
  224.     if(isset($_GET['id'])){
  225.         $cpt3 = 0;  
  226.         $id = $_GET['id'];
  227.         foreach($Commentaire as &$values){
  228.                if($Commentaire[$cpt3]->getIdbil() == $id){
  229.                  echo $Commentaire[$cpt3]->getCommentaire();
  230.                }
  231.                $cpt3++;
  232.           }
  233.     }else{
  234.         if(empty($Billet[0])){}else{
  235.             foreach ($Billet as &$values) {
  236.                echo $Billet[$cpt]->getBillet()."<br>";
  237.                
  238.                $cpt2 = 0;
  239.                echo "&nbsp &nbsp    &nbsp Commentaire : <br>";
  240.                foreach($Commentaire as &$values){
  241.                    if($Commentaire[$cpt2]->getIdbil() == $Billet[$cpt]->getIdbil()){
  242.                      echo $Commentaire[$cpt2]->getCommentaire();
  243.                    }
  244.                    $cpt2++;
  245.                }
  246.                $cpt++;
  247.                echo "<br><hr>";
  248.             }
  249.         }
  250.     }
  251. ?>
  252. </body>
  253. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement