Accueil Forum Tutoriaux Contactez nous
Aidoforum.com  •  Forum  •  Chat  •  Annuaire  •  Demander de l'aide  •  Tutoriaux  •  Rechercher  •  Lexique informatique  •  Traducteur SMS


Il y a actuellement 305 tutoriaux sur Aidoforum. Toute reproduction, partielle ou complète, est interdite.

Retour aux tutoriaux.

Ajoutez vos propres tutoriaux sur Aidoforum !
PHP / MySQL -> Module de News


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.

Etape 1 : 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

Etape intermédiaire : Structure du module

Bien, maintenant nous allons créer les pages php en question ...
Notre module ça 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

Etape 2 : 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);
?>



Etape 3 : 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éer une nouvelle page php que vous nommerez ajout.php
Copier/coller 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>



Etape 4 : 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++; }
?>



Etape 5 : 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 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 :D

Par K20, le 01 Mai 2005 à 13h00


Commentaire de X3O le 25 Septembre 2005 à 14h05

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


Commentaire de 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 !


Commentaire de Arcus le 26 Janvier 2006 à 20h55

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


Commentaire de 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...


Commentaire de 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).




/!\ Vous devez être inscrit pour pouvoir commenter ce tutoriel, ou demander du support. /!\
Soutenez Aidoforum
Ordinateur portable - Réduction informatique - Créer son site - Entraide Informatique - The Site Oueb - Photoshop - Pc Dossier - The Gimp - Informatruc - Templarts : kits graphiques - Annuaire photoshop - Voyage en Chine - Tout Pour Le PC - Webmaster - Communauté informatique - Smtechnologie - Sospc-en-ligne - Action-PC - Annuaire - AC-Astuces - Services - PC-Dimension - Portail Php - Astuces Windows - fond ecran et photo - Hotel video - Actualité informatique - Séjours - Forum de Science - Devenir Webmaster - Liens - Plan du site