1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
<?php
include 'dunum_connexion_db.php';
//Initialisation des variables pour ne pas utiliser les ELSE
$id_auteur="";$annee="";$reference="";
//Récupération des données du formulaire
if(isset($_POST['id_auteur'])) {$id_auteur=$_POST['id_auteur'];}
if(isset($_POST['annee'])) { $annee=$_POST['annee'];}
if(isset($_POST['reference'])) { $reference=$_POST['reference'];}
// On vérifie si les champs sont vides
if(empty($id_auteur) OR empty($annee) OR empty($reference)){//il vaut mieux remplacer les OR par || .....
echo '<font color="red">Attention, un champ ne peut pas être vide !</font>';
exit();//au cas ou l'un des variables est vide "", on quitte le script.
}
// Aucun champ n'est vide, on peut enregistrer dans la table biblio
//NE JAMAIS PASSER LES VARIABLES EN BRUT DANS LA REQUÊTE, IL FAUT LA PRÉPARER!
else {
//Le ID_Auteur dans bibliographie ne sert à rien vu que tu l'insères dans la table ien_auteur_biblio, non ? donc tu peux le supprimer de la table bibliographie
$insertion = $connexion->prepare ("INSERT INTO `bibliographie`(ID_Biblio,`Annee_Biblio`, `Reference`) VALUES(Null,?,?)");
$insertion->execute([$annee,$reference]);
$lastIdBiblio=$connexion->lastInsertId();
if($lastIdBiblio>0){//si l'insértion dans bibliographie s'est bien déroulée, on continue
//insertion dans la table de liens auteur_biblio
//préparation de la requête EN DEHORS du foreach (c'est lintérêt des requêtes préparées!)
$insertion_lien = $connexion->prepare ("INSERT INTO `lien_auteur_biblio`(ID_Biblio,`ID_Auteur`) VALUES(?,?)");
foreach ($id_auteur as $row=>$value){
$insertion_lien->execute([$lastIdBiblio,$value]);
}
}
else echo "Erreur dinsertion dans bibliographie !";
}
echo "<p>Votre référence a bien été insérée. Vous allez être redirigés vers la liste bibliographique"."<br>"; |
Partager