Problème de double insertion dans la base de donnée
Fermé
sabrina_mef
Messages postés
16
Date d'inscription
vendredi 8 mai 2015
Statut
Membre
Dernière intervention
2 juillet 2015
-
31 mai 2015 à 23:49
AmiarZAk Messages postés 2 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 3 juin 2015 - 3 juin 2015 à 01:17
AmiarZAk Messages postés 2 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 3 juin 2015 - 3 juin 2015 à 01:17
A voir également:
- Problème de double insertion dans la base de donnée
- Double ecran - Guide
- Whatsapp double sim - Guide
- Formules excel de base - Guide
- Base de registre - Guide
- Insertion liste déroulante excel - Guide
3 réponses
AmiarZAk
Messages postés
2
Date d'inscription
lundi 1 juin 2015
Statut
Membre
Dernière intervention
3 juin 2015
1 juin 2015 à 05:58
1 juin 2015 à 05:58
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>
sabrina_mef
Messages postés
16
Date d'inscription
vendredi 8 mai 2015
Statut
Membre
Dernière intervention
2 juillet 2015
1 juin 2015 à 15:46
1 juin 2015 à 15:46
malgré que j'ai changé le script, le problème n'a pas résolu :/
ce problème juste sur ma machine, par ce que j'ai exécuté le même script sur une autre machine, le résultat d'insertion est correcte
ce problème juste sur ma machine, par ce que j'ai exécuté le même script sur une autre machine, le résultat d'insertion est correcte
AmiarZAk
Messages postés
2
Date d'inscription
lundi 1 juin 2015
Statut
Membre
Dernière intervention
3 juin 2015
3 juin 2015 à 01:17
3 juin 2015 à 01:17
Alors vaut mieux d'installer une version de WampServeur La plus récente, peut être ça va résoudre votre problème, de ma part j'ai installer la version wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12- , bon courage.