Bonjour,
Voilà mon problème, je suis entrain de réaliser un site ou il y aura un backoffice. Dans ce backoffice l'utilisateur pourra modifier le contenu de certaine page, via un formulaire qui ne comportera qu'un champ, celui pour modifier le contenu.
1- Je n'arrive pas à récupérer le contenu, et faire qu'il s'affiche dans mon textarea.
2- Je ne sais pas comment enregistrer les modifications apporté au texte, si j'arrive déjà à le récupérer.
J'espère être clair,
Merci
macinsteph, dans ton code tu ne teste pas si le bouton "Valider" a été envoyé, c'est de la que peux venir l'erreur
if(isset($_POST"modifier"])
code d'edition ....
Pour afficher le contenu dans ton textarea :
<form action="update.php" method="post>
<input type="hidden" name="page" value="presentation" >
<textarea name="contenu" value="<?php echo $mon_contenu_recuperer_depuis_bdd;?> "> </textarea>
Et pour enregistrer :
<?php
if(!empty($_POST'contenu']))
{
$contenu = $_POST'contenu'];
$page = $_POST'presentation'];
$sql = "UPDATE maTable SET content = $content WHERE page = $page";
}
Voilà, à toi de compléter avec les vérifications etc
merci pour ta réponse mais je n'y arrive pas. j'ai réussi à récupérer le texte que j'avais dans ma base de donnée.
Voici le code que j'ai utilisé :
<?php
include('inc/header.php');
if (!empty($_POST)) {
if (!empty($_POST'contenu'])) {
extract($_POST);
$nom = mysql_escape_string($nom);
$contenu = mysql_escape_string($contenu);
$id = $_GET'page'];
$sql = "UPDATE pages SET contenu='$contenu' WHERE id='$id' ";
mysql_query($sql);
$success ='La page a bien été modifié.'
}else{
$error = "Erreur. Il faut remplir le champ.";
}
}
?>
<div id="bodyPage" style="display: block;">
<div id="contenu-editer">
<h2>Modifier le contenu de la page</h2>
<?php if(!empty($_GET'page'])){
$id = $_GET'page'];
$req = mysql_query("SELECT * FROM pages WHERE id = $id");
if (mysql_num_rows() > 0) {
$data = mysql_fetch_assoc($req);
}else{
header('Location:accueil.php')
}
}
?>
<?php if(!empty($success)){ echo'<div id="success">'.$success.'</div>';} ?>
<?php if(!empty($error)){ echo'<div id="error">'.$error.'</div>';} ?>
<form method="POST" action="editer.php?page=<?php echo $data 'id']; ?>">
<p>
<label for="contenu">Contenu</label></br>
<textarea type="text" id="content" name="contenu"><?php echo $data'contenu'];?></textarea>
</p>
<p>
<input type="submit" class="btn" value="Modifier">
</p>
</form>
</div>
</div>
<?php include('inc/footer.php');?>
cette page est dans le dossier admin, pour la base de donnée il y a 3 champs : id, nom(pour le nom de la page), et contenu(le contenu existant dans mes pages, uniquement du texte).
Ma base de données c'est : dbo, et la table pages.
merci
<textarea type="text" id="content" name="contenu" value="<?php echo $data'contenu'];?>" > </textarea>
Mieux non ?
le problème est que si je fais comme tu me dis de faire il n(y a rien qui s'affiche dans le textarea...
mon problème est de chercher le bon texte le modifier, et que les modif soient effective dans la base de données.