Facebook
From Big Goose, 4 Years ago, written in PHP.
This paste is a reply to Re: ref43.php from Tiny Rhinoceros - view diff
Embed
Download Paste or View Raw
Hits: 108
  1. <?php
  2. // Initialisations en dur
  3. $marqueId = filter_input(INPUT_POST, 'marqueId', FILTER_SANITIZE_NUMBER_INT);
  4. $NomModele = filter_input(INPUT_POST, 'NomModele', FILTER_SANITIZE_STRING);
  5. $Os = filter_input(INPUT_POST, 'Os', FILTER_SANITIZE_STRING);
  6. $OsVersion = 'OsVersion';
  7. $ImageModele = 'ImageModele';
  8. $DateSortie = 'DateSortie';
  9. $RamMB = 'RamMB';
  10. $StockageGb = 'StockageGb';
  11. $DiagonaleEcranPouces = 'DiagonaleEcranPouces';
  12. $ResolutionEcranHorizontale = 'ResolutionEcranHorizontale';
  13. $ResolutionEcranVerticale = 'ResolutionEcranVerticale';
  14. $PhotoMpx = 'PhotoMpx';
  15. $PortSD = 0;
  16. $Processeur = 'Processeur';
  17. $out = "";
  18. $out .= "MarqueId: $marqueId / NomModele: $NomModele / OS: $Os <br>";
  19. include '../pdo_start.inc.php';
  20. $pdo = pdo_connexion('natels');
  21.  
  22. $sql_unique = "SELECT COUNT(*) as 'occurences' FROM `modele` WHERE `modele`.`NomModele` LIKE :NomModele";
  23. $pdo_unique = $pdo->prepare($sql_unique);
  24. $pdo_unique->bindValue(':NomModele', $NomModele);
  25. $pdo_unique->execute();
  26. $row = $pdo_unique->fetch();
  27.  
  28. $erreur_message = "";
  29.  
  30. if (!empty($marqueId) && !empty($NomModele) && !empty($Os)) {
  31.     if ($row['occurences'] == 0) {
  32.         $sql_ajout = "INSERT INTO `modele` (`IdModele`, `MarqueId`, `NomModele`, `Os`, `OsVersion`, `ImageModele`, `DateSortie`, `RamMB`, `StockageGb`, `DiagonaleEcranPouces`, `ResolutionEcranHorizontale`, `ResolutionEcranVerticale`, `PhotoMpx`, `PortSD`, `Processeur`)"
  33.                 . " VALUES (NULL, :MarqueId, :NomModele, :Os, '14.0', 'https://www.citypng.com/public/uploads/preview/-11598467352bzdw9z3vxp.png', '2020-10-20', '6000', '128', '7', '2440', '1080', '16', '1', 'Bon')";
  34.         $pdo_ajout = $pdo->prepare($sql_ajout);
  35.         $pdo_ajout->bindValue(':MarqueId', $marqueId);
  36.         $pdo_ajout->bindValue(':NomModele', $NomModele);
  37.         $pdo_ajout->bindValue(':Os', $Os);
  38.         $pdo_ajout->execute();
  39.     }
  40.  else {
  41.         $erreur_message .= "Le téléphone existe déjà";
  42.     }
  43. }
  44.  
  45.  
  46.  
  47. $sqlselect = "SELECT `modele`.`IdModele`, `modele`.`MarqueId`, `modele`.`NomModele`, `modele`.`Os`, `modele`.`OsVersion`, CONCAT(\"<img src='\", `modele`.`ImageModele`, \"'/>\") AS 'Image', "
  48.         . "DATE_FORMAT(`modele`.`DateSortie`, \"%d.%m.%Y\") AS \"Date de sortie\", `modele`.`RamMB`, `modele`.`StockageGb`, `modele`.`DiagonaleEcranPouces`, `modele`.`ResolutionEcranHorizontale`, `modele`.`ResolutionEcranVerticale`, `modele`.`PhotoMpx`, `modele`.`PortSD`, `modele`.`Processeur`
  49. FROM `modele`";
  50. $pdo_query = $pdo->query($sqlselect);
  51. $tab = $pdo_query->fetchAll();
  52.  
  53.  
  54. $grille = "";
  55. $grille .= "<table><tr>";
  56. foreach ($tab[0] as $key => $value) {
  57.     $grille .= "<th>$key</th>";
  58. }
  59. $grille .= "</tr>";
  60.  
  61.  
  62. for ($index = 0; $index < count($tab); $index++) {
  63.     $grille .= "<tr>";
  64.     foreach ($tab[$index] as $key => $value) {
  65.         $grille .= "<td>$value</td>";
  66.     }
  67.     $grille .= "</tr>";
  68. }
  69. $grille .= "</table>";
  70. ?>
  71. <!DOCTYPE html>
  72. <html lang="fr">
  73.     <head>
  74.         <meta charset="utf-8">
  75.         <title>ICT151 - Requêtes préparées</title>
  76.         <style>
  77.             label {
  78.                 display: inline-block;
  79.                 width: 220px;
  80.             }
  81.             h1 {
  82.                 background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEX9+/3t0+nTsNHIjb2wj7bCeruaX6SDM4jhy9+gb8F4SJZeImzYyNrnsdhgK4zT7fagz+VRkbWmpcpfsc7T0OXyvuZ1xt4uCFbkl8oeocYKirYcAzbTk8ZnR3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9oBgiAmewAKgj///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9j0mkpAAAACXBIWXMAAAsSAAALEgHS3X78AAACFUlEQVR42sWU0bKjIAyGIWBUIkiLirb6/q+5CdWz0x16zs7ebC6q0/n8/ySEKPXfQ4Oxf4OZBrH9mex6R+Ssfvu2GwBgeNfDlt4ppQbwHgwb2e73n7Zt//TwXj402BsMeGlAS+UVXEvm4tQYY9Sd8V1PdCbQU6kCOcszAQ16vN3u95TiBICBir1uyxMuNRGcx9udn+O0LAM0IbtSMpE8HJZ0kdW1V6lwHDGCCSGLeVdS1C2IPUpD/DzdxpNbFjAu5JJcSyA4/0BRVateUsGYS8sg4MuOpDtyLhZKLn68xZNj0DfuTJKrYQhb6durlHh7YZEVo+/DqSiNBPa2StvLuVDCpQGQFe9XJ7lB3XkAetUpLReXOuMc5a4yIX6dNgYl0rZJii5TbZRWHx9bKrFt28TO7lVLDXxsr3ik2XCKz9qk6t3rx1dMvkekrGtDvK86XlycefIxH6pay+rVlATbogbmXNVZ+R2bdVZ6ipOegY0/OKvVUD5W4/3MV4E5rrnqrFeWtJjJNk3T98yFJ1TBHXH3xpE9yIkg1rutuvV4UtObdXd0vATr193vYNk5ozgz53Ku7wLfYLOzveWS+Ew+CqrhyIQsxzuBbcOHeZDZ5GHh/J00Oojg8Am0fGjHgbyLAgX3xI8LCxsuAXlWvzWWqxb6XsSI9XL98C5JJqQv0pnh2205sC/xzXuS/nGzAh503P9tyf8CdlgisWMvMEwAAAAASUVORK5CYII=);
  83.                 background-repeat:no-repeat;
  84.                 padding-left: 50px;
  85.                 padding-bottom: 0.05em;
  86.             }
  87.             .border1 {
  88.                 border: 1px solid black;
  89.             }
  90.             table,th,td{
  91.                 border: 1px solid black;
  92.                 border-collapse: collapse;
  93.             }
  94.             img{
  95.                 width: 150px;
  96.             }
  97.         </style>
  98.     </head>
  99.     <body>
  100.         <h1>Ajouter un téléphone mobile</h1>
  101.         <form method="post">
  102.             <label for="marqueId">Fabricant</label><select name="marqueId" id="marqueId">
  103.                 <option value="1">Apple</option>
  104.                 <option value="2">BlackBerry</option>
  105.                 <option value="3">HTC</option>
  106.                 <option value="4">Huawei</option>
  107.                 <option value="5">LG</option>
  108.                 <option value="6">Nokia</option>
  109.                 <option value="7">Samsung</option>
  110.                 <option value="8">Sony</option>
  111.             </select><br/>
  112.             <label for="NomModele">Nom du modèle</label><input type="text"  id="NomModele" name="NomModele" value="" required /><br />
  113.             <label for="Os">Système d'exploitation</label><input type="text"  id="Os" name="Os" value="Android" required /><br />
  114.  
  115.             <!--
  116.                           <label for="OsVersion">Version de l'OS</label><input type="text"  id="OsVersion" name="OsVersion" value="4.2" required /><br />
  117.             -->
  118.             <!--
  119.               <label for="ImageModele">Image <a href="http://www.lesnumeriques.com/telephone-portable/comparatif-smartphones-telephones-portables-a407.html" target="_Blank">LesNumeriques</a></label>
  120.             -->
  121.             <!--
  122.   <input type="text" pattern="https?:\/\/img[12]?\.lesnumeriques\.com(\/optim)?\/produits\/[0-9]+\/[0-9]+\/.+300[_x]170\.jpg" title="url de l'image sur lesnumeriques.com" id="ImageModele" name="ImageModele" value="" required/><br />
  123.             -->
  124.             <!--
  125.   <label for="DateSortie">Date de sortie</label><input type="date" id="DateSortie" name="DateSortie" value="" required /><br />
  126.             -->
  127.             <!--
  128.   <label for="RamMB">Quantité de RAM en MB</label><input type="number" id="RamMB" name="RamMB" value="" required /><br />
  129.             -->
  130.             <!--
  131.   <label for="StockageGb">Taille du stockage en GB</label><input type="number" id="StockageGb" name="StockageGb" value="" required /><br />
  132.             -->
  133.             <!--
  134.   <label for="DiagonaleEcranPouces">Diagonale écran en pouces</label><input type="text" id="DiagonaleEcranPouces" name="DiagonaleEcranPouces" value="" required /><br />
  135.             -->
  136.             <!--
  137.   <label for="ResolutionEcranVerticale">Ecran, résolution verticale</label><input type="text" id="ResolutionEcranVerticale" name="ResolutionEcranVerticale" value="" required /><br />
  138.             -->
  139.             <!--
  140.   <label for="ResolutionEcranHorizontale">Ecran, résolution horizontale </label><input type="text" id="ResolutionEcranHorizontale" name="ResolutionEcranHorizontale" value="" required /><br />
  141.             -->
  142.             <!--
  143.   <label for="PhotoMpx">Millions de pixels du capteur photo</label><input type="text" id="PhotoMpx" name="PhotoMpx" value="" required /><br />
  144.             -->
  145.             <!--
  146.   <label for="PortSD">Présence d'un port d'extension SD</label><input type="text" id="PortSD" name="PortSD" value="Oui" required /><br />
  147.             -->
  148.             <!--
  149.   <label for="Processeur">Microprocesseur (cadence)</label><input type="text" id="Processeur" name="Processeur" value="" required /><br />
  150.             -->
  151.             <label></label><input type="submit" value="Ajouter ce modèle" name="action" />
  152.         </form>
  153.         <h1>Différents modèles de téléphones mobiles</h1>
  154.         <?= $erreur_message ?>
  155.         <?= @$out ?>
  156.         <?php
  157. //print_r($tab);
  158.         echo $grille;
  159.         ?>
  160.     </body>
  161. </html>