

Achetez et vendez votre matériel multimédia d'occasion sur notre service de petites annonces informatiques gratuitesTutoriaux > PHP / MySQL > 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.
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
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é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);
?>
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>
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++; }
?>
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 pages![]()
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 PHP
Par 1
, Le 01 Mai 2005 à 13h00
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.
merci pour ce script.
Page admin : Notice: Undefined index: act in c:\easyphp1-8\www\pack-news\admin.php on line 6
$act = $_GET['act'];
bonjour,
comment changer l ordre des news ? de la plus récente à la plus ancienne.
Merci
merci pour ce script.
salut tous
Un grand merci pour ce module de script que je recherche depuis assez longtemps, il fonctionne très bien et est très pratique![]()
Merci beaucoup à la personne qui a créé ce tuto!!
Sinan bon tuto à part la mise en page qui est trop simple(je sais ce tuto est adressé aux débutant).
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...
sur le forum s'il te plait (généralement c'est "localhost")
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 !
Merci pour ce tuto ,puis sa permet de bien comprendre le système @++
Tutoriaux > PHP / MySQL > Module de News