par
macinsteph29 » 21 nov. 2013, 13:16
Bonjour,
Voilà je cherche une bonne âme pour me trouver une solution à mon problème qui je pense est super simple, mais je m'arrache le peu de cheveux qu'il me reste la dessus.
Voilà ma question :
J'ai une base de données mysql que j'ai nommé testBdd, avec une table pages avec 3 champs : id, nom, et contenu.
J'ai une page qui liste le contenu de ma base et une quatrième colonne qui contient un bouton qui m'ouvre un formulaire avec juste un champ : contenu,
et un bouton pour valider les modification.
Mon problème est de récupérer le contenu qui se trouve dans ma base de donnée, le modifier, puis valider les modifs via le submit et ma base prenne en compte les modifs.
voici le code de ma page editer.php :
<?php
// on se connecte à notre base
$bdd = new PDO('mysql:host=localhost;dbname=testBdd', 'root', 'root');
?>
<html>
<head>
<title>Modification du tél et de l'adresse de Benoît</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="bodyPage" style="display: block;">
<div id="contenu-admin">
<h2>Gestion des pages du site</h2>
<table>
<tr>
<th>id</th>
<th>Nom</th>
<th>Contenu</th>
<th>modifier</th>
</tr>
<?php
$reponse = $bdd->query("SELECT * FROM pages");
while($donnees = $reponse->fetch()) {
?>
<tr>
<td><?php echo $donnees['id'];?></td>
<td><?php echo $donnees['nom'];?></td>
<td><?php echo $donnees['contenu'];?></td>
<td><a href="index.php?page=<?php echo $donnees['id'];?>">Editer</a>
</tr>
<?php } $reponse->closeCursor(); ?>
</table>
</div>
</div>
</body>
</html>
voici le code de ma page index.php
<?php
if (!empty($_POST['contenu'])) {
extract($_POST);
$id= $_GET['page'];
$sql ='UPDATE pages SET contenu='$contenu' WHERE id="$id"';
// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base
mysql_close();
$success = 'La page à bien été modifié !!';
}else{
$error = "Erreur, il n'y a pas eu de modification!!";
}
?>
<html>
<head>
<title>Modification du tél et de l'adresse de Benoît</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php if (!empty($_GET['page'])) {
$id = $_GET['page'];
$reponse = mysql_query("SELECT * FROM pages WHERE id= '$id'");
if (mysql_num_rows($reponse) > 0 ) {
$donnees = mysql_fetch_assoc($reponse);
}else{
header('Location:editer.php');
}
}
?>
<form method="POST" action="index.php?page=<?php echo $donnees['id']; ?>">
<h2>Modifier de la page</h2>
<p>
<textarea type="text" id="content" name="contenu"><?php echo $donnees['contenu']; ?></textarea>
</p>
<p>
<input type="submit" class="btn" value="modifié">
</p>
</form>
</body>
</html>
si quelqu'un peu me filer un coup de main se serais cool.
merci