Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
9Activity
0 of .
Results for:
No results containing your search query
P. 1
11 Comment Faire Une Messagerie Interne en Php

11 Comment Faire Une Messagerie Interne en Php

Ratings: (0)|Views: 420 |Likes:
Published by SANGARE SOULEYMANE

More info:

Published by: SANGARE SOULEYMANE on Jun 04, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/03/2013

pdf

text

original

 
Voici un petit comment faire une
messagerie interne
basée sur le comment faire unespace membre.En effet, car qui dit messagerie interne, dit forcément espace membre :)Je me vois mal envoyer des messages à personne.Pour la suite de ce comment faire, je vous suggère donc de récupérer d'une part, les pages PHP, et d'autre part, la tableSQL de cet espace membre.Nous allons apporter quelques modifications à ces pages PHP tout en ajoutant de nouvelles pages PHP.Les premières modifications que nous allons apporter aux pages du comment faire un espace membre concernent lespages
index.php
et
inscription.php
.En effet, pour plus de simplicité afin de gérer notre messagerie interne, et en fait, pour mieux reconnaître le membreconnecté à l'espace membre, nous allons utiliser son
id
(qu'il a dans la table membre) plutôt que son login poureffectuer divers opérationsOn aura alors le code suivant pour la page
index.php
:
index.php
 <?phpif (isset($_POST['connexion']) &&$_POST['connexion'] == 'Connexion') {  if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) &&  !empty($_POST['pass']))) { $base=mysql_connect('serveur', 'login', 'password');  mysql_select_db('nom_base',$base); $sql= 'SELECT id FROM membre WHERE login="'.mysql_escape_string($_POST['login']). '" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"'; $req=mysql_query($sql)ordie('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb=mysql_num_rows($req);  if ($nb==1) { $data=mysql_fetch_array($req); session_start();$_SESSION['login'] =$_POST['login'];  // on enregistre en plus l'id du membre dans une variable de session$_SESSION['id'] =$data['id']; mysql_free_result($req); mysql_close();header('Location: membre.php');  exit(); } elseif ($nb==0) { $erreur= 'Compte non reconnu.';  } else { $erreur= 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; }mysql_free_result($req); mysql_close(); } else { $erreur= 'Au moins un des champs est vide.';  }}?><html>
© 2002 - 2009 lephpfacile.com - Page 1/9 
 
<head><title>Accueil</title></head><body>Connexion à l'espace membre :<br /><form action="index.php" method="post">Login : <input type="text" name="login" value="<?phpif (isset($_POST['login'])) echo  stripslashes(htmlentities(trim($_POST['login'])));?>"><br /> Mot de passe : <input type="password" name="pass" value="<?phpif (isset($_POST['pass']) ) echostripslashes(htmlentities(trim($_POST['pass'])));?>"><br /> <input type="submit" name="connexion" value="Connexion"></form><a href="inscription.php">Vous inscrire</a><?phpif (isset($erreur)) echo '<br /><br />',$erreur; ?></body></html>
Peu de commentaires à faire sur cette page, puisque nous avons en fait simplement ajouter une variable de sessioncontenant l'
id
du membre qui se connecte.Ensuite, cette modification doit également se répercuter sur la page
inscription.php
, puisque si le visiteur s'inscritproprement, il est directement reconnu comme membre et il est directement redirigé vers l'espace membre.Il faut donc également que les nouveaux inscris possèdent leur
id
en variable de session.On aura alors le code suivant pour la page
inscription.php
:
inscription.php
 <?phpif (isset($_POST['inscription']) &&$_POST['inscription'] == 'Inscription') {  if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) &&  !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST[ 'pass_confirm']))) {  if ($_POST['pass']!= $_POST['pass_confirm']) { $erreur= 'Les 2 mots de passe sont différents.';  } else { $base=mysql_connect('serveur', 'login', 'password');  mysql_select_db('nom_base',$base); $sql= 'SELECT id FROM membre WHERE login="'.mysql_escape_string($_POST['login' ]).'"';$req=mysql_query($sql)ordie('Erreur SQL !<br />'.$sql.'<br />'.mysql_error( ));$nb=mysql_num_rows($req);  if ($nb==0) { $sql= 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login'] ).'", "'.md5(mysql_escape_string($_POST['pass'])).'")'; mysql_query($sql)ordie('Erreur SQL !'.$sql.'<br />'.mysql_error());  // on récupère l'id de notre nouveau membre$id=mysql_insert_id(); session_start();$_SESSION['login'] =$_POST['login'];  // on stocke cet id dans une variable de session$_SESSION['id'] =$id; header('Location: membre.php');  exit();
© 2002 - 2009 lephpfacile.com - Page 2/9 
 
 } else { $erreur= 'Un membre possède déjà ce login.';  } } } else { $erreur= 'Au moins un des champs est vide.';  }}?><html><head><title>Inscription</title></head><body>Inscription à l'espace membre :<br /><form action="inscription.php" method="post">Login : <input type="text" name="login" value="<?phpif (isset($_POST['login'])) echo  stripslashes(htmlentities(trim($_POST['login'])));?>"><br /> Mot de passe : <input type="password" name="pass" value="<?phpif (isset($_POST['pass']) ) echostripslashes(htmlentities(trim($_POST['pass'])));?>"><br /> Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?phpif (isset($_POST['pass_confirm'])) echostripslashes(htmlentities(trim($_POST[ 'pass_confirm'])));?>"><br /> <input type="submit" name="inscription" value="Inscription"></form><?phpif (isset($erreur)) echo '<br />',$erreur; ?></body></html>
Voila une bonne chose de faite :)Concentrons maintenant sur le développement de notre messagerie interne, et réfléchissons à nos besoins (en termede table SQL et de page PHP) pour amener à bien notre projet.
Qu'est ce qu'un message ?
Un message, c'est tout simplement :- deux utilisateurs A et B (A étant l'auteur du message qui écrit à B étant le destinataire du message).- un titre- une date d'émission- le message en lui-même :)D'après cette petite réflexion, on peut décider de la structure de notre
table SQL
stockant les messages de notremessagerie interne.Personnellement, je vous propose cette table :
 table messages
CREATE TABLE messages (id int(11) NOT NULL auto_increment,id_expediteur int(11) NOT NULL default '0',id_destinataire int(11) NOT NULL default '0',date datetime NOT NULL default '0000-00-00 00:00:00',titre text NOT NULL,message text NOT NULL,PRIMARY KEY (id)) TYPE=MyISAM;
© 2002 - 2009 lephpfacile.com - Page 3/9 

Activity (9)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
Manuella Riche liked this
Riadh Harizi liked this
Abiyou Kouassi liked this
erick78810 liked this
rachid4488 liked this
rachid4488 liked this
haggarfils liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->