Achetez et vendez votre matériel multimédia d'occasion sur notre service de petites annonces informatiques gratuites

Module de News

Tutoriaux > PHP / MySQL > Module de News

Module de News
Comment créer un module de news avec ajout via un formulaire

Dans ce tutorial, nous admettrons que vous possédez les bases du HTML, du php et que vous savez vous servir d'un éditeur Wysiwyg. Nous n'étudierons pas la mise en page du script. De plus, la page admin ne sera pas protéger par un système de session ou de mot de passe.

Création de la table MySQL

Tout d'abord, il va falloir créer la table MySQL dont nous allons nous servir pour notre module.
Je ne reviendrais pas sur la construction de cette table, pour en savoir plus, rendez-vous ICI pour plus d'informations.

Nous allons créer une table avec 5 champs : id int(3), titre varchar(120), texte text, source varchar(120), date int(11). Le champ id sera en auto_increment.
Vous pouvez télécharger le fichier .sql ICI

Structure du module

Bien, maintenant nous allons créer les pages php en question ...
Notre module va s'organiser autour de 4 pages php :
- sql.php page permettant de se connecter à la bdb MySQL
- ajout.php formulaire pour ajouter notre news
- news.php pour visualiser toutes nos news
- admin.php pour modifier ou supprimer nos news

Création de la page de connexion SQL

Créer une nouvelle page php que vous nommerez sql.php
Copier/coller le code ci-dessous dans votre page sql.php, sauvegardez.

<?
// Serveur
$serveur = "votre-serveur";
// Login
$login = "votre-login";
// Mot de passe
$mdp = "votre-mdp";
// Base de donnée
$bdd = "votre-table";
$connexion = mysql_connect($serveur,$login,$mdp);
$db = mysql_select_db($bdd, $connexion);
?>



Création du formulaire d'ajout de la news

Nous allons créer un formulaire PHP/HTML avec vérification du remplissage du champ. Créez une nouvelle page php que vous nommerez ajout.php
Copiez/collez le code ci-dessous dans votre page ajout.php, sauvegardez.

<?
// Include de la connexion sql
include('sql.php') ;
?>
<u>Ajouter une news</u>
<?
/// Début formulaire ///
$act = $_GET['act'];
if ($act == 'sub')
{
// Variables //
$date = time();
// Variables du formulaire déjà remplies
$titre = isset($_POST['titre']) ? $_POST['titre'] : '';
$titre = get_magic_quotes_gpc() ? stripslashes($titre) : $titre;
$source = isset($_POST['source']) ? $_POST['source'] : '';
$source = get_magic_quotes_gpc() ? stripslashes($source) : $source;
$texte = isset($_POST['texte']) ? $_POST['texte'] : '';
$texte = get_magic_quotes_gpc() ? stripslashes($texte) : $texte;
// Vérification des variables !
if (empty($titre)) { echo("<center>Vous n'avez pas mis de titre pour votre news !</center><hr>"); }
if (empty($texte)) { echo("<center>Vous n'avez pas mis de texte pour votre news !</center><hr>"); }
// Ajout de la news en fonction des vérification
if ($titre != "" and $texte != "")
{
$result = mysql_query("insert into news values ('','$titre','$texte','$source','$date')",$connexion);
echo("<center>Votre news a été ajoutée avvec succès !</center><hr>");
}
}
?>
<form method="post" name="form" action="ajout.php?act=sub">
<table cellSpacing="1" border="0" width="550">
<tr></tr><td align="center" colspan="2">* : champ OBLIGATOIRE</td></tr>
<tr><td>* <u>Titre de votre news :</u><br>(120 caractères maximum)</td><td><input name="titre" value="" size="55" maxlength="120"></td></tr>
<tr><td><u>Votre source :</u><br>(120 caractères maximum)</td><td><input name="source" value="" size="55" maxlength="120"></td></tr>
<tr><td colspan="2" align="center">* <u>Votre texte :</u><br><textarea name="texte" rows="10" cols="50"></textarea></td></tr>
<tr><td align="center" colspan="2"><input type="submit" name="Submit" value="Envoyer votre news"></td></tr>
</table>
</form>



Création de la page permettant de visualiser toutes les news

Nous allons créer une page PHP/HTML pour visualiser toutes nos news. Créer une nouvelle page php que vous nommerez news.php
Copier/coller le code ci-dessous dans votre page news.php, sauvegardez.

<?
// Include de la connexion sql
include('sql.php') ;
// Requete sql pour récupérer les news
$requete_news = mysql_query("SELECT * FROM news ORDER BY id DESC",$connexion);
$news = mysql_num_rows($requete_news);
?>
<u>Toutes les news du site</u>
<br><br>
<?
$i = 0;
while ($i < $news) {
// Variables date
$date = mysql_result($requete_news,$i,"date");
$annee = date("Y", $date);
$mois = date("m", $date);
$jour = date("d", $date);
$heure = date("H", $date);
$minute = date("i", $date);
$date = $jour."/".$mois."/".$annee." à ".$heure."h".$minute;
// Autres variables
$titre = mysql_result($requete_news,$i,"titre");
$source = mysql_result($requete_news,$i,"source");
$texte = mysql_result($requete_news,$i,"texte");
// Affichage de la news //
// Titre
echo '<table border="0" bgcolor="#000000" width="550"><tr><td width="50%" colspan="2" bgcolor="#FFFFFF"><center>'.$titre.'</center></td></tr>';
// Date
echo '<tr><td width="50%" bgcolor="#FFFFFF">News ajoutée le '.$date.'</td>';
// Source
echo '<td width="50%" bgcolor="#FFFFFF"><center><u>Source :</u> '.$source.'<center></td></tr>';
// Texte
echo '<tr><td colspan ="2" bgcolor="#FFFFFF">'.nl2br($texte).'</td></tr></table><br>';
$i++; }
?>



Création de la page d'administration

Nous allons créer une page PHP/HTML pour modifier et supprimer toutes nos news. Créer une nouvelle page php que vous nommerez admin.php
Copier/coller le code ci-dessous dans votre page admin.php, sauvegardez.

<?
// On include la conexion à la base de donnée
include('sql.php');
/// ACTION ///
$act = $_GET['act'];
if ($act == 'sub') {
// Modification
if ($_POST['submit'] == "Modifier") {
$id = $_POST['id'];
$titre = $_POST['titre'];
$source = $_POST['source'];
$texte = $_POST['texte'];
$query = "UPDATE news SET titre='$titre',source='$source',texte='$texte' WHERE id=$id";
mysql_query($query,$connexion);
}
// Supression
if ($_POST['submit'] == "Supprimer") {
$id = $_POST['id'];
$result1 = mysql_query("delete from news where id="".$id.""", $connexion);
}
}
// Requetes
$resultat_sql = mysql_query("SELECT * FROM news",$connexion);
$nombreligne = mysql_num_rows($resultat_sql);
?>
<table width="80%" border="1" align="center" cellspacing="0" bordercolor="#777777">
<tr><td width="33%">Titre</td><td width="33%">Source</td><td width="33%">Texte</td></tr>
<?
// Affichage des news
$i = 0;
while ($i<$nombreligne)
{
// Variable de la news
$id = mysql_result($resultat_sql,$i,"id");
$titre = mysql_result($resultat_sql,$i,"titre");
$source = mysql_result($resultat_sql,$i,"source");
$texte = mysql_result($resultat_sql,$i,"texte");
// Affichage en ligne
echo '<form method="post" name="form" action="admin.php?act=sub"><tr><td width="33%">
<input name="id" value="'.$id.'" type="hidden">
<input name="titre" size="60" value="'.$titre.'"></td>
<td width="33%"><input name="source" size="60" value="'.$source.'"></td>
<td width="33%"><textarea name="texte" rows="5" cols="10">'.$texte.'</textarea></td></tr>
<tr><td><input type="submit" value="Modifier" name="submit"><input type="submit" value="Supprimer" name="submit"></td></tr>
</form>';
$i++; }
?>
</table>



Et voilà, notre module est terminé, à vous de tester, d'améliorer et d'inclure le module dans vos pagesClin d'oeil

Vous pouvez télécharger le pack complet (fichier PHP + sql) en cliquant ICI
Et visualiser le résultat ICI

J'espère que ce tuto vous en aura appris un peu plus sur le PHPContent

Par 1 , Le 01 Mai 2005 à 13h00
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.

Retour à PHP / MySQL

Ajouter un commentaire

Votre pseudo (sera publié). Inscrivez vous pour garder une trace de vos participations.

Tapez votre commentaire dans le cadre ci-dessous.

Code de vérification :
Code de vérification
Recopiez le code :

Lectures recommandées

Commentaires sur cet article

didier - Le 17 Septembre 2011 à 12h37

bonjour,
comment changer l ordre des news ? de la plus récente à la plus ancienne.
Merci

hicham - Le 26 Mars 2011 à 04h10

merci pour ce script.

hicham - Le 26 Mars 2011 à 04h04

salut tous

Orkaz - Le 25 Septembre 2010 à 21h15

Un grand merci pour ce module de script que je recherche depuis assez longtemps, il fonctionne très bien et est très pratiqueSourire

cédric - Le 10 Août 2010 à 02h17

Merci beaucoup à la personne qui a créé ce tuto!!

Fm41 - Le 28 Mars 2006 à 13h16

Sinan bon tuto à part la mise en page qui est trop simple(je sais ce tuto est adressé aux débutant).

Fm41 - Le 28 Mars 2006 à 12h02

Je comprends pas ma page.sql me dit accès refusé a ma base de données pourtant j'ai mis se qu'il fallait...

Arcus - Le 26 Janvier 2006 à 20h55

sur le forum s'il te plait (généralement c'est "localhost")

CardinalJo - Le 26 Janvier 2006 à 18h23

Bonjour,
Super tuto bien expliqué !!
J'ai juste un petit problème...
Dans sql.php, il faut mettre quoi pour $serveur = "votre-serveur";
Je trouve ou ce nom ? c'est l'adresse du site ? c'est quoi ?
Merci d'avance !

X3O - Le 25 Septembre 2005 à 14h05

Merci pour ce tuto ,puis sa permet de bien comprendre le système @++

Tutoriaux > PHP / MySQL > Module de News