Insertion à repétion dans la BD

ulrish Messages postés 18 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 25 septembre 2017 - 10 janv. 2017 à 18:08
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 - 10 janv. 2017 à 18:30
Bonjour à tous,
S'il vous plait, j'ai un petit code d'insertion de données dans ma Base de donnée. Le problème c'est que lorsque j'éssaye d'actualiser ma page, mes données sont de nouveau insérer, résultat j'ai des doublons, des triplons et des quatriplons dans ma BD.
J'ai grandement espoir que nombre d'entre vous ont déjà eu à faire face à ce problème et évidement ont trouvé des solutions et j'aimerais que les partagiez avec moi. Je joins ici le bout de code que j'utilise pour mes insertion dans la BD
Merci

<?php
//-----------------------------------------------------
// V�rification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
require_once("connect.php");
$jour = date("d");
$mois = date("m");
$annee = date("Y");
$time="$jour/$mois/$annee";
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
$auteur = addslashes($_POST['Auteur']);
$image = "uploads/bgbogolan.jpg";
//-------------------------------------------------------------------------
if (!empty($_FILES["fileToUpload"])){ include ('upload.php'); $image = $target_file;}
//-------------------------------------------------------------------------
// On v�rifie si c'est une modification de news ou pas
if ($_POST['id_enseignement'] == 0)
{
// Ce n'est pas une modification, on cr�e une nouvelle entr�e dans la table
$sql =("INSERT INTO enseignement (titre, contenu, times, Auteur, image) VALUES('" . $titre . "','" . $contenu . "','" . $time . "','" . $auteur . "','" . $image . "')");
mysqli_query ($con, $sql) or die ('Erreur SQL !'.mysql_error());
$titre = 0;
echo "Ajout reussit!!!! Maintenant ajouter une photo";
}
else
{
// C'est une modification, on met juste � jour le titre et le content
mysqli_query($con, "UPDATE enseignement SET titre='" . $titre . "', contenu='" . $contenu . "', times='" . $time . "', Auteur='" . $auteur . "', , image='" . $image . "' WHERE id=" . $_POST['id_enseignement']);
echo "Mise � jour reussit vous pouvez aussi mettre � jour la photo";
}
}

1 réponse

jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
10 janv. 2017 à 18:30
Bonjour,

Tu peux le gérer en utilisant un système de "token" (regarde sur le net .. il y a des centaines d'exemples...).

Une autre possibilité est de placer ce code de traitement dans un autre fichier que celui qui contient ton formulaire.

Une dernière (c'est ma préférée) c'est d'utiliser de l'AJAX plutôt que de passer par du submit de formulaire.

0
Rejoignez-nous