A voir également:
- Problème de double insertion dans la base de donnée
- Double ecran - Guide
- Whatsapp double sim - Guide
- Base de registre - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Formules mathématiques de base - Télécharger - Études & Formations
3 réponses
Bonjour,
J'ai exécuté votre script sur ma machine, le résultat d'insertion est correcte :
Essayez juste d'écrire vos requêtes d'une façon a respecter la structure des requêtes préparées avec MySQLi afin d'assurer la meilleure sécurité en évitant les injections SQL.
voici votre scripte après l'avoir améliorer :
J'ai exécuté votre script sur ma machine, le résultat d'insertion est correcte :

Essayez juste d'écrire vos requêtes d'une façon a respecter la structure des requêtes préparées avec MySQLi afin d'assurer la meilleure sécurité en évitant les injections SQL.
voici votre scripte après l'avoir améliorer :
<?php // tester l'existance des variables if(isset($_POST['sujet']) and isset($_POST['encadreur'])and isset($_POST['proprietaire']) and isset($_POST['proprietaire']) and isset($_POST['domaine']) and isset($_POST['annee']) and isset($_POST['unite']) and isset($_POST['resume']) and isset($_POST['piecejointe'])) { // tester si les variables ne sont pas vides if (!empty($_POST['sujet']) and !empty($_POST['encadreur']) and !empty($_POST['proprietaire']) and !empty($_POST['proprietaire']) and !empty($_POST['domaine']) and !empty($_POST['annee']) and !empty($_POST['unite']) and !empty($_POST['resume']) and !empty($_POST['piecejointe'])) { $servername = "localhost"; $username = "root"; $password = ""; $dbname = "mabase"; // Filtrage des inputs (sécurisé les entrée afin d'éviter les injection SQL) $sujet = htmlspecialchars(addcslashes($_POST['sujet'], '\'')); $encadreur = htmlspecialchars(addcslashes($_POST['encadreur'], '\'')); $proprietaire = htmlspecialchars(addcslashes($_POST['proprietaire'], '\'')); $domaine = htmlspecialchars(addcslashes($_POST['domaine'], '\'')); $annee = htmlspecialchars(addcslashes($_POST['annee'], '\'')); $unite = htmlspecialchars(addcslashes($_POST['unite'], '\'')); $resume = htmlspecialchars(addcslashes($_POST['resume'], '\'')); $piecejointe = htmlspecialchars(addcslashes($_POST['piecejointe'], '\'')); // On utilise des requêtes prépéarées avec MySQLi pour assurer la sécurité de la base de donnée en évitant les injections SQL $link = mysqli_connect($servername, $username, $password, $dbname); echo "<h1> Connexion OK</h1>"; if(($stmt = mysqli_prepare($link, "INSERT INTO rapport_tmp VALUES(NULL,?,?,?,?,?,?,?,?)")) ) // NULL pour REF de type INT qui est un identificateur , on met NULL quand on insert pas de valeur a une colonne { echo "<h1> mysqli_prepare OK</h1>"; mysqli_stmt_bind_param($stmt, "sssssssb", $sujet, $encadreur, $proprietaire, $domaine, $annee, $unite, $resume, $piecejointe); // isssssssb : désigne le type des variable a inséré i : entier , s : string, b : blob echo "<h1> mysqli_stmt_bind_param OK</h1>"; mysqli_stmt_execute($stmt); echo "<h1> Insertion Reussit</h1>"; mysqli_stmt_close($stmt); }else {echo "<h1> Probleme d Insertion </h1>";} mysqli_close($link); } } ?> <html> <body> <div align="center"> <form action="" method="POST"> <table width="90%"> <tr><td bgcolor="#C2E2DA"><label>Sujet<span style="color:#FF0000"> *</span></label></td> <td><input name="sujet" type="text" value="" required="required"/></td> <tr><td bgcolor="#C2E2DA"><label>Encadreur<span style="color:#FF0000"> *</span></label></td> <td><input name="encadreur" type="text" value="" required="required"/></td></tr> <tr><td bgcolor="#C2E2DA"><label>Proprietaire<span style="color:#FF0000"> *</span></label></td> <td><input name="proprietaire" type="text" value="" required="required" /></td></tr> <tr><td bgcolor="#C2E2DA"><label>Domaine<span style="color:#FF0000"> *</span></label></td> <td><select name='domaine' required="required"> <option selected='selected'>domaine d'étude</option> <option value='Informatique'>Informatique</option> <option value='Gestion et Economie'>Gestion et Economie</option> <option value='Science'>Science</option> <option value='Mathématique'>Mathématique</option> <option value='Technique'>Technique</option> <option value='Juridique'>Juridique</option> </select></td></tr> <tr><td bgcolor="#C2E2DA"><label>Année universitaire<span style="color:#FF0000"> *</span></label></td> <td><select name="annee" required="required"> <option selected="selected" >selectionner l'année</option> <option value="2008-2009">2008-2009</option> <option value="2009-2010">2009-2010</option> <option value="2010-2011">2010-2011</option> <option value="2011-2012">2011-2012</option> <option value="2012-2013">2012-2013</option> <option value="2013-2014">2013-2014</option> <option value="2014-2015">2014-2015</option> </select></td></tr> <tr><td bgcolor="#C2E2DA"><label>Unité de recherche<span style="color:#FF0000"> *</span></label></td> <td><select name='unite'> <option selected='selected'>quelle établissement</option> <option value='ISGG' required="required">ISGG</option> <option value='FSEG'>FSEG</option> <option value='ISLG'>ISLG</option> <option value='ISIMG'>ISIMG</option> <option value='ENIG'>ENIG</option> <option value='H2O'>H2O</option> <option value='ISSAT'>ISSAT</option> </select></td></tr> <tr><td bgcolor="#C2E2DA"><label>Resumé<span style="color:#FF0000"> *</span></label></td> <td><textarea cols="50" name="resume" rows="5" required="required"></textarea></td></tr> <tr><td bgcolor="#C2E2DA"><label>Piéce Jointe<span style="color:#FF0000"> *</span></label></td> <td><fieldset><input type="file" name="piecejointe" required="required"></fieldset></td></tr> <tr><td bgcolor="#C2E2DA"></td><td><div align="right"><input type="submit" value="partagez"></div> </td></tr> </table> </form></div> </body> </html>