Eléphanteau du PHP |
31 Messages
22 déc. 2005, 19:41
Excusez-moi pour le double poste , mais j'ai compris pourquoi le contenu des news ne s'affiche pas. En faîte, dans la BDD tout s'écrit correctement ,
seulement , le CHAMP "CONTENU" est tourjours vide , donc rien ne s'enregistre. C'est pour ça qu'il y'a pas de contenu. Maintenant il faut trouver la bonne erreur dans mes scripts ^^.
Voici rediger_news.php ( c'est là oû on poste les news )
<?php $bbcode = "TRUE"; include ("../inc/haut.php"); ?>
<head>
<title>Rédiger une news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h3, form
{
text-align:center;
}
</style>
</head>
<body>
<h3><a href="liste_news.php">Retour à la liste des news</a></h3>
<?php
mysql_connect("***", "***", "***");
mysql_select_db("***");
if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
{
// On récupère les infos de la correspondante
$retour = mysql_query('SELECT * FROM news WHERE id=' . $_GET['modifier_news']);
$donnees = mysql_fetch_array($retour);
// On place le titre et le contenu dans des variables simples
$titre = $donnees['titre'];
$contenu = $donnees['contenu'];
$id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
else // C'est qu'on rédige une nouvelle news
{
// Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
$titre = '';
$contenu = '';
$id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
<form id="news" method="post" action="liste_news.php">
<p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
<input type="button" value="gras" style="font-weight:bold" onclick="storeCaret('gras')" />
<input type="button" value="italic" style="font-style:italic" onclick="storeCaret('italic')" />
<input type="button" value="souligner" style="text-decoration:underline" onclick="storeCaret('souligner')" />
<input type="button" value="centrer" onclick="storeCaret('centrer')" />
<input type="button" value="url" style="width:30px;" onclick="storeCaret('url')" />
<input type="button" value="image" onclick="storeCaret('image')" /><br />
<select name="couleur" onchange="bbcode_couleur()">
<option value="">Choisir une couleur</option>
<option style="color: red;" value="rouge">Rouge</option>
<option style="color: blue;" value="bleu">Bleu</option>
<option style="color: green;" value="vert">Vert</option>
<option style="color: black;" value="noir">Noir</option>
<option style="color: olive;" value="olive">Olive</option>
<option style="color: maroon;" value="marron">Marron</option>
</select >
<select name="taille" onchange="bbcode_taille()">
<option value="">Taille du texte</option>
<?php
$taille = 8;
while ($taille != 38)
{
echo '<option value="' . $taille . '">' . $taille . '</option>';
$taille++;
$taille++;
}
?>
</select ><br />
<form id="news">
<p>
Contenu :<br />
<textarea name="contenu" id="newst"rows="5" cols="50"></textarea>
<?php echo $contenu; ?>
</textarea><br />
<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
<input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>
<? include ("../inc/bas.php"); ?>
Et voici , liste news.php ( c'est la page qui traite les news postée etc...)
<?php $bbcode = "TRUE"; include ("../inc/haut.php"); ?>
<head>
<title>Liste des news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h2, th, td
{
text-align:center;
}
table
{
border-collapse:collapse;
border:0.5px solid black;
margin:auto;
}
th, td
{
border:.0.5px solid black;
}
</style>
</head>
<body>
<h2><a href="rediger_news.php">Ajouter une news</a></h2>
<?php
mysql_connect("***", "***", "***");
mysql_select_db("***");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
$contenu =avant_postage(addslashes($_POST['contenu']));
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");
}
else
{
// C'est une modification, on met juste à jour le titre et le contenu
mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id=" . $_POST['id_news']);
}
}
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
mysql_query('DELETE FROM news WHERE id=' . $_GET['supprimer_news']);
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Date</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
</body>
</html>
<? include ("../inc/bas.php"); ?>
Voilà , pourtant j'ai essayer de trouver l'erreur de l'enregistrement pour le cotenu news dans la BDD , mais sans succès

.