Pages :
(reprise du message précédent)

C'est encore moi Smiley ravi !

J'ai modifié le script, le formulaire renvoie à une page de mise à jour qui récupère les infos et fais l'update.

Donc sur la première page j'ai :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Bo&icirc;te &agrave; Musique | Interface de gestion</title>
</head>

<body>
<h1 align="center">Interface de gestion du site Bo&icirc;te &agrave; Musique</h1>
<form name="admin" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<select name="choix">
<option name="admin">Index</option>
<option name="admin">Agence</option>
<option name="admin">Admin</option>
<option name="admin">Admin</option>
</select>
<input type="submit" name="Envoyer" Value="Envoyer" />
</form>

<?php
if(isset($_POST["choix"])){
$bidule=$_POST["choix"];
if($bidule == "Index"){
$page="index";
}
if($bidule == "Agence"){
$page="agence";
}
//Connexion à la base de données
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('bamsecond') or die(mysql_error());

//Requêtes à la base de données
$req=mysql_query("SELECT * FROM page WHERE nom_page = '" .$page. "'") or die(mysql_error());
$res=mysql_fetch_array($req);

$contenu_page=$res["contenu"];
$nom_page=$res["nom_page"];
//On affiche le contenu de la table dans un textarea pour modifier le texte
echo '<form name="edition" method="post" action="maj.php">';
echo '<div align="center"><textarea name ="contenu" cols="100" rows="25">'.$contenu_page.'</textarea><div>';
echo '<input type="submit" name="edition" value="Editer" >';
echo '<input type="hidden" name="page" value="'.$nom_page.'" />';
echo '</form>';
}
?>
</body>
</html>


et sur maj.php :

<?php
//On récupère les variable du contenu et du nom de la page
$contenu=$_POST["contenu"];
$page=$_POST["page"];

//Connexion à la base de données
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('bamsecond') or die(mysql_error());

//Requête que la base de données
$update=mysql_query('UPDATE page SET contenu ="' .$contenu. '" WHERE nom_page= "' .$page. '" ') or die(mysql_error());
echo "Le texte a bien &eacute;t&eacute; mise &agrave; jour!";

?>


Et là le mysql_error me sauve (presque) la vie! J'ai l'erreur suivante
a écrit :
Erreur de syntaxe près de 'title="Boîte à Musique">Boîte à Musique ZOU. " WHERE nom_pag' à la ligne 1


Et visiblement encore une fois, c'est le nom de page qui est ennuyeux...

On y est presque je crois Smiley lol (ps : j'ai testé la requete directement dans SQl en entrant en dur $contenu et $nom_page et ça marche, donc la requête est bonne!)
J'ai remarqué que je pouvais updater la page si je n'avais pas de code HTML à l'intérieur, juste du texte quoi! Donc en soi ca marche mais comment faire pour que ca prenne aussi le code html?

PS : l'erreur renvoyée est celle citée précédemment Smiley smile
Re',

essayes en remplaçant
$contenu=$_POST["contenu"];
par
$contenu=[url=http://fr.php.net/manual/fr/function.htmlspecialchars.php]htmlspecialchars[/url]($_POST["contenu"]);

A+ Smiley cligne
Pages :