Bonjour, j'ai un souci sur mon système de news, impossible d'ajouter ou de modifier une news, pas d'inscription dans la base de donnée.
on a 3 pages: index.php récupère les 5 dernières news et les affiches
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Bienvenue sur mon site</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h1, h3
{
text-align:center;
}
h3
{
background-color:black;
color:white;
font-size:0.9em;
margin-bottom:0px;
}
.news p
{
background-color:#CCCCCC;
margin-top:0px;
}
.news
{
width:70%;
margin:auto;
}
</style>
</head>
<body>
<h1> Bienvenue sur mon site !</h1>
<p> Voici les dernières news </p>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("news");
//ON récupère les 5 dernières news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
while ($donnees = mysql_fetch_array($retour))
{
?>
<div class="news">
<h3>
<?php echo $donnees['titre']; ?>
<em><?php echo date('d/m/Y à h\hi'); ?></em>
</h3>
<p>
<?php
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu
?>
</p>
</div>
<?php
}
?>
</body>
</html>
ensuite on a liste_news.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<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:2px solid black;
margin:auto;
}
th, td
{
border:1px solid black;
}
</style>
</head>
<body>
<h2> <a href="rediger_news.php">Ajouter une news</a></h2>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("news");
//verif 1 : veut-on poster une news?
if(isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
//verif si c'est une modif de news ou pas
if($_POST['id_news'] == 0)
{
mysql_query("INSERT INTO news VALUES ('', '" . $titre ."', '" . $contenu . "', '" . time() . "')");
}
else
{
//Protection faille sql
$_POST['$id_news'] = addslashes($_POST['id_news']);
mysql_query("UPDATE news SET titre='" . $titre . "', contenu = '". $contenu . "', where id = '". $_POST['id_news'] . "'");
}
}
//Verif 2 : veut-on supprimer une news?
if(isset($_GET['supprimer_news']))
{
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
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))
{
?>
<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'); ?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
et pour finir rediger_news.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<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>
<h3><a href="liste_news.php"> Retour vers la liste des news</a></h3>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("news");
//si on veut modifier une news
if(isset($_GET['modifier_news']))
{
$_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
//Récupération info news correpondante
$retour = mysql_query("SELECT * FROM news WHERE id='". $_GET['modifier_news'] . "'");
$donnees = mysql_fetch_array($retour);
//on place titre et contenu dans une variable simple, $id_news sert à se souvenir que c'est une modif
$titre = stripslashes($donnees['titre']);
$contenu = stripslashes($donnees['contenu']);
$id_news = $donnees['id'];
}
else // Alors c'est une création de news
{
$titre = "";
$contenu = "";
$id_news = 0;
}
?>
<form action="liste_news.php" method="post">
<p> Titre : <input type="text" name="titre" value="<?php echo $titre; ?>" /></p>
<p>
Contenu :<br />
<textarea name="contenu" >
<?php echo $contenu; ?>
</textarea>
<br />
<input type="hidden" name="id_news" value= "<?php echo $id_news; ?>" />
<input type="submit" value= "ok" />
</p>
</form>
</body>
</html>
voilà, merci d'avance pour votre aide car la je suis bloqué(je dors plus)
Afficher la suite