Mikuri
Admin
Age : 33
Date d'inscription : 20/02/2007
Nombre de messages : 2015
Localisation : Québec
|
Sujet: Rosenoire Jeu 10 Jan - 16:16 |
|
|
Module News en PHP
.htaccess
- Code:
-
AuthName "Panneau admin" AuthType Basic AuthUserFile "/admin/.htpasswd" Require valid-user .htpasswd
- Code:
-
Mikuri:$1$owk0Q7Uq$oAY3DnYVarkuu22EiN03M1 index.html
- Code:
-
<?php mysql_connect("localhost", "sdz", "mot_de_passe"); mysql_select_db("coursphp"); // 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>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em> </h3> <p> <?php // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />) $contenu = nl2br(stripslashes($donnees['contenu'])); echo $contenu; ?> </p> </div> <?php } // Fin de la boucle des news ?> liste_news.php
- Code:
-
<!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", "sdz", "mot_de_passe"); mysql_select_db("coursphp"); //----------------------------------------------------- // 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']); // 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 { // On protège la variable "id_news" pour éviter une faille SQL $_POST['id_news'] = addslashes($_POST['id_news']); // 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 // On protège la variable "id_news" pour éviter une faille SQL $_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)) // 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> rediger_news.php
- Code:
-
<!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> </head> <body> <h3><a href="liste_news.php">Retour à la liste des news</a></h3> <?php mysql_connect("localhost", "sdz", "mot_de_passe"); mysql_select_db("coursphp"); if (isset($_GET['modifier_news'])) // Si on demande de modifier une news { // On protège la variable "modifier_news" pour éviter une faille SQL $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news'])); // On récupère les infos de la news 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 = stripslashes($donnees['titre']); $contenu = stripslashes($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 action="liste_news.php" method="post"> <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p> <p> Contenu :<br /> <textarea name="contenu" cols="50" rows="10"> <?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> Modifications possibles : Rajouter le champs ''pseudo''. Système de pagination et d'archives pour les anciennes news. Commentaires de news ( optionnel ).
Crypter son password |
|
Mikuri
Admin
Age : 33
Date d'inscription : 20/02/2007
Nombre de messages : 2015
Localisation : Québec
|
Sujet: Re: Rosenoire Mer 13 Fév - 20:39 |
|
|
|
|