Bonjour,
Après de nombreux poste dans différent forum je viens ici en espérant qu'un bonne âme puisse m'aider à comprendre.
J'ai créé un site qui a un back-office qui me permet(normalement) de modifier le contenu de 2 pages de mon site, juste le contenu!! Mais voilà j'ai suivis de nombreux tuto concernant la récupération de données dans une base de données, l'affichage dans un champ textarea, et ce qui pose problème la validation des modifications par une requête UPDATE. Mais voilà tout fonctionne jusqu'à la modification des données :
La récupération sous forme d'un tableau rangé par ID, Nom(de la page pour indication), et Contenu; un bouton pour éditer le contenu dans un formulaire et un autre bouton pour valider les motifs.
Mais voilà quand je valide les motifs il me dit que c'est validé mais pas de changement dans la base.
Je vous met le code des trois pages :
page listing.php - qui fonctionne :
La page modifier.php qui me récupère le contenu en fonction de l'ID
et la page qui s'occupe du traitement modifier2.php :
Si une personne pouvais vérifier le code des 3 pages et me faire les corrections se serait formidable!!
Merci
Après de nombreux poste dans différent forum je viens ici en espérant qu'un bonne âme puisse m'aider à comprendre.
J'ai créé un site qui a un back-office qui me permet(normalement) de modifier le contenu de 2 pages de mon site, juste le contenu!! Mais voilà j'ai suivis de nombreux tuto concernant la récupération de données dans une base de données, l'affichage dans un champ textarea, et ce qui pose problème la validation des modifications par une requête UPDATE. Mais voilà tout fonctionne jusqu'à la modification des données :
La récupération sous forme d'un tableau rangé par ID, Nom(de la page pour indication), et Contenu; un bouton pour éditer le contenu dans un formulaire et un autre bouton pour valider les motifs.
Mais voilà quand je valide les motifs il me dit que c'est validé mais pas de changement dans la base.
Je vous met le code des trois pages :
page listing.php - qui fonctionne :
<?php
//inclusion du fichier de connexion.php pour se connecter à la base de données
include ("connexion.php");
?>
<html>
<head>
<title>modification</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h2>listing du contenu des pages Menus et Aujourd'hui </h2>
<table>
<tr>
<th>id</th>
<th>Nom</th>
<th>Contenu</th>
<th>modifier</th>
</tr>
<?php
//on prépare la requête : on sélectionne tous les éléments de la table content
$req_content = $mysqli->prepare("SELECT * FROM pages");
//on exécute la requête
$req_content->execute();
//on enregistre le résultat pour pouvoir l'utiliser avec la procédure num_rows
$req_content->store_result();
//on associe les résultats à des variables
$req_content->bind_result($id,$nom,$contenu);
//on compte le nombre de ligne
$total = $req_content->num_rows;
//la procédure fetch va récupérer les valeurs et les associer aux variables de bind_result
while ($req_content->fetch()) {
?>
<tr>
<td><?php echo $id;?></td>
<td><?php echo $nom;?></td>
<td><?php echo $contenu;?></td>
<td><a href='modifier.php?id=<?php echo $id;?>' >Modifier</a>
</tr>
<?php } ?>
</table>
<?php $mysqli->close(); ?>
</body>
</html>
La page modifier.php qui me récupère le contenu en fonction de l'ID
<?php
include("connexion.php");
//onrécupère la variable qui contient l'enregistrement a modifier
$id = isset($_GET['id'])?$_GET['id']: "";
//on lit la base de donnéees pour savoir quel est le contenu à modifier
$req_content = $mysqli->prepare("SELECT * FROM pages WHERE id=?");
//on indique le paramètre de la recherche (l'id du contenu à modifier)
$req_content->bind_param("i",$id);
$req_content->execute();
$req_content->bind_result($id,$nom,$contenu);
//on affecte les valeurs aux variables
$req_content->fetch();
//on affiche le formulaire
?>
<form name="form1" id="form1" methode="post" action="modifier2.php">
<p>Contenu : <br />
<textarea name="contenu" ><?php echo $contenu; ?></textarea>
<input name="id" type="hidden" id="id" value="<?php echo $id; ?>">
<br />
<input type="submit" name="submit" id="btn" value="Modifier">
</p>
</form>
et la page qui s'occupe du traitement modifier2.php :
<?php
//connexion à la base de données
include('connexion.php');
// récupération des variables du formulaire
$id=isset($_POST['id'])?$_POST['id'] : "";
$nom=isset($_POST['nom'])?$_POST['nom'] : "";
$contenu=isset($_POST['contenu'])?$_POST['contenu'] : "";
// Protection des données
$nom = $mysqli->real_escape_string(strip_tags($nom));
$contenu = $mysqli->real_escape_string(strip_tags($contenu));
//enregistrement dans la base de données
$req_sauve = $mysqli->query("UPDATE pages SET contenu='" .$contenu. "' WHERE id='".$id."' " )or die(mysql_error());
//execution de la requete
$req_sauve->execute();
if($req_sauve)
{
echo "Le contenu a bien été modifier";
}
else{
echo "Oups ! Problème !";
}
?>
Si une personne pouvais vérifier le code des 3 pages et me faire les corrections se serait formidable!!
Merci