Discussion: [Tutoriel][PHP]Creer un Minichat avec date et heure message + IP.
Bonjour, bonsoir,
Bon ce tutoriel peut paraître simple et "inutile", mais beaucoup de personne peuvent se servir de ce tuto pour leur site.
Je vais essayer de bien expliquer et de bien détailler pour vous faire comprendre tout^^.
Le tuto sera relativement simple, pas avec des codes ultra compliqué... A noté que ce script requiert un niveau moyen.
Bon commençons.
Quesqu'on veut faire ? Et bien pardi ! Un minichat avec la date et l'heure du message bien sur...
Tout d'abord il faut savoir ici qu'on aura besoin de PHP et de SQL.
Si vous avez une base de données a disposition alors très bien je vais faire comme si ^^
Il faut d'abord créer tout sa :
Une table qui s'appellera => Minichat
Et il faut bien entendu les champs dans cette table :
-Id => Ce champs servira pour numéroté tout les messages de votre minichat.
-Pseudo => Ce champs servira pour savoir qui a créer un message sur votre minichat.
-Message => Ce champs servira pour inscrire ce que votre membre aura écrit.
-IP => Ce champs servira pour inscrire l'ip de votre membre.
-Timestamp => Pour connaitre l'heure et la date de l'envoie du message.
Ces 5 champs suffiront pour ce qu'on veut faire.
Le code exact ici :
CREATE TABLE `Minichat` (
`Id` int(11) NOT NULL auto_increment,
`Pseudo` varchar(255) NOT NULL,
`Message` text NOT NULL,
`IP` varchar(25) NOT NULL,
`Timestamp` bigint(20) NOT NULL,
KEY `id` (`id`)
)
Maintenant que notre table est prête pour accueillir les données de notre minichat, il est temps de le créer via php maintenant.
Pour que le pseudo du membre s'affiche il faut avoir au préalable créer une SESSION qui reconnaissent le membre n'importe tout sur votre site.
Bon maintenant commençons a coder.
Alors il faut d'abord commencer par la variable qui va nous servir a appeler la SESSION qui contient le pseudo du membre qui va poster.
<?php
$pseudo = $_SESSION['Pseudo'];
?>
Ceci va faire afficher le pseudo quand le membre va poster. MAIS ATTENTION, pour que sa fonctionne il faut avoir au préalable créer la SESSION qui contient le pseudo, sa c'est a vous d'arranger sa comme vous voulez.
Maintenant voila la suite du code que je vais vous décortiqué.
if (isset($pseudo) AND isset($_POST['message'])) // Si les variables existent
{ // On ouvre le premier IF
if ($pseudo != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer[/color]
{ // On ouvre le deuxième IF
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
// On utilise la variable $message pour que cette variable contiennent le message que le membre va écrire.
$ip = $_SERVER['REMOTE_ADDR'];
// Pour prendre l'ip du membre pour l'inséré ensuite dans votre table Minichat
// Ensuite on enregistre le message via cette requête d'insertion
mysql_query("INSERT INTO Minichat(Pseudo,Message, IP, Timestamp,alliance) VALUES('".$pseudo."', '".$message."', " . time() . ")");
} // On referme le premier IF
} // On referme le Deuxième IF
J'ai mis les commentaires pour vous aider.
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
Ceci est super important pour la sécurité de votre site, a ne pas prendre a la légère.
Maintenant que la partie insertion est faite. il faut créer le formulaire.
<div align="center"> // On ouvre un DIV center pour centrer votre minichat (si vous le voulez)
<form action="minichat.php" method="post"> // Le form action lui sert pour que quand vous cliquerez sur envoyer il l'enverra sur la page minichat.php que vous aurez créer
<p>// On ouvre cette balise pour le CSS
Rafraichissement automatique tout les 50 secondes.<br>
Message : <input type="text" name="message"/>
<br><br>
<META HTTP-EQUIV="Refresh" CONTENT="50;URL='minichat.php'"> // Si vous voulez que votre chat se rafraîchisse automatiquement toute les 50 secondes par exemple suffit de modifié la valeur ici => CONTENT="50
<input type="submit" value="Envoyer"/> // Le bouton envoyer qui vous servira pour introduire les informations dans la BDD
<input type="submit" value="Rafraichir" href="minichat.php"/> // Un bouton rafraîchir si vous voulez pas attendre 50 secondes..
</p> // On ferme la balises P
</form> // On ferme le form
</div> // Et on ferme le DIV pour centré.
Bien alors maintenant qu'on a créer le formulaire, il reste bien entendu a faire afficher le contenu de votre table Minichat.
<?php echo $donnees['Pseudo']; ?> : // Ceci va afficher le pseudo du membre qui a poster.
<?php echo stripslashes ($donnees['Message']); ?> // Ceci va afficher le message que le membre aura écrit (A noté ceci : stripslashes ) Ceci sert a éviter les problèmes du genre : d/'habitude... Avec sa il n'y a rien juste avant l'apostrophe.
<h6> // on ouvre une balise de taille pour la taille de votre date et heure.
<?php echo date('d/m/Y', $donnees['Timestamp'] ) . ' a ' . date('H:i:s', $donnees['Timestamp'] ).'';?>[color=blue]// Sa va donc marqué la date et l'heure.
</h6>// On ferme la balise de taille
Et voila votre minichat doit normalement fonctionner.
Il faut bien entendu avoir créer et je le repète une SESSION qui contient le pseudo du membre après s'être inscrit sur votre site.
Si il y a des erreurs, envoyer un mp, mais normalement, sa devrait fonctionner au poil.
Voila pour mon premier tutos de ma vie, puisqu'en j'en avait jamais fait avant lol
J'espère que c'est clair.
A bientôt pour un autre tutoriel.
PS : Pour afficher l'ip vous l'afficher ou vous voulez sur votre page avec un <?php echo ($donnees['IP']); ?>
Si vous voulez le mettre dans une autre page, faite une requête SELECT et selectionné l'ip et faite un écho ensuite comme ci dessus.
Voila un petit +1 dans ma réputation et un petit merci na jamais tué personne 
Dernière édition par jecth (17/12/08 00:16:24)

Bonne et heureuse année 2009 !