par
Escudo » 27 janv. 2009, 19:38
Bonsoir à tous et à toutes,
Je rencontre un gros problème avec mon t-chat que je souhaite mettre en ligne. Cependant ayant des connaissances en php je bloque à plusieurs niveaux.
Voici ce que je souhaite afficher :
Pour les membres :
Juste au dessus du t-chat :
Page précédente l Nouveau Sujet l Actualiser l Page suivante
Ensuite là on a le t-chat :
Lorsqu'il y a un nouveau sujet, un système de réponse est automatiquement crée.
Pour les modérateurs :
Juste au dessus du t-chat :
Page précédente l Nouveau Sujet l Actualiser l Page suivante
Mais ils peuvent également supprimer un sujet ou une réponse à l'aide ça : X
Pour les administrateurs :
Juste au dessus du t-chat :
Page précédente l Nouveau Sujet l Actualiser l Page suivante
Mais ils peuvent également supprimer un sujet ou une réponse à l'aide ça : X
Maintenant voici une capture d'écran d'un site de ce que je souhaite avoir à la fin :
Et voici mon code php :
Code : Tout sélectionner
<?php
include 'includes/connecter/haut.php'
?>
<?php
session_start();
$date = date('d/m/Y');
$heure = date('H:i:s');
if (!isset($_SESSION['login'])) {
exit();
}
// on inclut le fichier fonction.php
require('includes/fonctions.php');
// Ont déclare la variable
if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
{
$_POST['pseudo'] = trim($_POST['pseudo']); // Si l'utilisateur a mis des espaces, on les supprime
$_POST['message'] = trim ($_POST['message']); // Comme ça, ton système est plus performant...
if (empty($_POST['message']) OR empty($_POST['pseudo'])) // Si c'est vide !
{
echo 'Votre message ou votre pseudo est vide';
}
else
{
// D'abord, on se connecte à MySQL
$base = mysql_connect ('localhost', 'conquestworld', 'MON CODE');
mysql_select_db ('conquestworld', $base);
$message = mysql_query("SELECT message FROM minichat ORDER BY id DESC 0,0");
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
// On verifie si le message est égale
if ($message == $donnees['message'])
{
echo ' Vous ne pouvez pas poster 2 messages identiques';
exit();
}
else
{
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '".$pseudo."', '".$message."','".$date."','".$heure."')");
echo ' Le message a été envoyer.';
}
}
}
?>
<p>
<form action="t-chat.php" method="post">
<center><table border=1>
<th width=450px>
<br><br>
<?php
// Vérification pour modo
$sql = 'SELECT `rang` FROM `membres` WHERE `login` = "' . mysql_escape_string($_SESSION['login']). '"';
$res = mysql_query($sql)or die(mysql_error()); // Requête SQL
$data = mysql_fetch_assoc($res);
$rang = $data['rang'];
echo 'Pseudo : <br><input type="text" readonly="true" name="pseudo" value="'.htmlentities(trim($_SESSION['login'])).'" style="';
if ($rang == "administrateur") {
echo 'color:#ff0000';
} else if ($rang == "moderateur") {
echo 'color:#009114';
} else if ($rang == "membre") {
echo 'color:#000000';
}
echo ';" /><br><br>';
echo 'Message : <br><input type="text" name="message" id="message" style="';
if ($rang == "administrateur") {
echo 'color:#ff0000';
} else if ($rang == "moderateur") {
echo 'color:#009114';
}
else if ($rang == "membre") {
echo 'color:#000000';
}
echo ';"/><br/><br/><input type="submit" value="Envoyer" />';
?>
</font>
</form>
</th>
<th>
<a href="popup.html" target="_blanc" onclick="window.open(this.href,'popup','height=500 , width=500 , location=no ,scrollbars=1');return false;">Codes smileys</a>
</p>
</th>
</tr>
<tr>
<th width=450px>
<?php
// Maintenant on doit récupérer les 10 dernières entrées de la table
// On utilise la requête suivante pour récupérer les 10 derniers messages :
mysql_query("SELECT * FROM minichat WHERE chat.type='0' ORDER BY chat.id DESC LIMIT 0,10")or die(mysql_error());
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
$message = emoticones(stripslashes($donnees['message']));
//Une fois que le joueur a crée un post on crée une fonction répondre :
<a href="chat.php?a=message&type=1&<?php echo $donnees['id']; ?>">Répondre</a>
?>
<p><strong><u>
<?php
// Vérification pour modo
$sql = 'SELECT `rang` FROM `membres` WHERE `login` = "'. mysql_escape_string($_SESSION['login']).'"';
$res = mysql_query($sql)or die(mysql_error()); // Requête SQL
$data = mysql_fetch_assoc($res);
$rang = $data['rang'];
echo '';
if ($rang == "administrateur") {
echo '<balise style="color:#ff0000;">'. $donnees['pseudo'] .'</balise>';
} else if ($rang == "moderateur") {
echo '<balise style="color:#009114;">'. $donnees['pseudo'] .'</balise>';
}
else if ($rang == "membre") {
echo '<balise style="color:#000000;">'. $donnees['pseudo'] .'</balise>';
}
echo '';
?>
</strong></u> a dit :<br><br />
<?php
// Vérification pour modo
$sql = 'SELECT `rang` FROM `membres` WHERE `login` = "'. mysql_escape_string($_SESSION['login']).'"';
$res = mysql_query($sql)or die(mysql_error()); // Requête SQL
$data = mysql_fetch_assoc($res);
$rang = $data['rang'];
echo '';
if ($rang == "administrateur") {
echo '<balise style="color:#ff0000;">'. $message .'</balise>';
} else if ($rang == "moderateur") {
echo '<balise style="color:#009114;">'. $message .'</balise>';
}
else if ($rang == "membre") {
echo '<balise style="color:#000000;">'. $message .'</balise>';
}
echo '';
?><br />
______________<br>
le <?php echo $donnees['date']; ?> à <?php echo $donnees['heure']; ?>.<br />
__________________________________________</p>
<?php
}
// Fin de la boucle, le script est terminé !
// On se déconnecte de MySQL
mysql_close();
?>
</th>
</tr>
</table>
<br><br><br><br><br>
<?php
include 'includes/connecter/bas.php'
?>
De manière avoir cela lorsqu'on créer un sujet :
Lorsqu'on répond :
Je vous en remercie d'avance de votre aide (Oui cela fait beaucoup ^^ )
Passez une très bonne soirée.
Cordialement,
Escudo
Bonsoir à tous et à toutes,
Je rencontre un gros problème avec mon t-chat que je souhaite mettre en ligne. Cependant ayant des connaissances en php je bloque à plusieurs niveaux.
Voici ce que je souhaite afficher :
Pour les membres :
Juste au dessus du t-chat :
Page précédente l Nouveau Sujet l Actualiser l Page suivante
Ensuite là on a le t-chat :
Lorsqu'il y a un nouveau sujet, un système de réponse est automatiquement crée.
Pour les modérateurs :
Juste au dessus du t-chat :
Page précédente l Nouveau Sujet l Actualiser l Page suivante
Mais ils peuvent également supprimer un sujet ou une réponse à l'aide ça : X
Pour les administrateurs :
Juste au dessus du t-chat :
Page précédente l Nouveau Sujet l Actualiser l Page suivante
Mais ils peuvent également supprimer un sujet ou une réponse à l'aide ça : X
Maintenant voici une capture d'écran d'un site de ce que je souhaite avoir à la fin :
[img]http://img45.xooimage.com/files/2/6/d/image-2-a85bd9.png[/img]
Et voici mon code php :
[code]<?php
include 'includes/connecter/haut.php'
?>
<?php
session_start();
$date = date('d/m/Y');
$heure = date('H:i:s');
if (!isset($_SESSION['login'])) {
exit();
}
// on inclut le fichier fonction.php
require('includes/fonctions.php');
// Ont déclare la variable
if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
{
$_POST['pseudo'] = trim($_POST['pseudo']); // Si l'utilisateur a mis des espaces, on les supprime
$_POST['message'] = trim ($_POST['message']); // Comme ça, ton système est plus performant...
if (empty($_POST['message']) OR empty($_POST['pseudo'])) // Si c'est vide !
{
echo 'Votre message ou votre pseudo est vide';
}
else
{
// D'abord, on se connecte à MySQL
$base = mysql_connect ('localhost', 'conquestworld', 'MON CODE');
mysql_select_db ('conquestworld', $base);
$message = mysql_query("SELECT message FROM minichat ORDER BY id DESC 0,0");
// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
// On verifie si le message est égale
if ($message == $donnees['message'])
{
echo ' Vous ne pouvez pas poster 2 messages identiques';
exit();
}
else
{
// Ensuite on enregistre le message
mysql_query("INSERT INTO minichat VALUES('', '".$pseudo."', '".$message."','".$date."','".$heure."')");
echo ' Le message a été envoyer.';
}
}
}
?>
<p>
<form action="t-chat.php" method="post">
<center><table border=1>
<th width=450px>
<br><br>
<?php
// Vérification pour modo
$sql = 'SELECT `rang` FROM `membres` WHERE `login` = "' . mysql_escape_string($_SESSION['login']). '"';
$res = mysql_query($sql)or die(mysql_error()); // Requête SQL
$data = mysql_fetch_assoc($res);
$rang = $data['rang'];
echo 'Pseudo : <br><input type="text" readonly="true" name="pseudo" value="'.htmlentities(trim($_SESSION['login'])).'" style="';
if ($rang == "administrateur") {
echo 'color:#ff0000';
} else if ($rang == "moderateur") {
echo 'color:#009114';
} else if ($rang == "membre") {
echo 'color:#000000';
}
echo ';" /><br><br>';
echo 'Message : <br><input type="text" name="message" id="message" style="';
if ($rang == "administrateur") {
echo 'color:#ff0000';
} else if ($rang == "moderateur") {
echo 'color:#009114';
}
else if ($rang == "membre") {
echo 'color:#000000';
}
echo ';"/><br/><br/><input type="submit" value="Envoyer" />';
?>
</font>
</form>
</th>
<th>
<a href="popup.html" target="_blanc" onclick="window.open(this.href,'popup','height=500 , width=500 , location=no ,scrollbars=1');return false;">Codes smileys</a>
</p>
</th>
</tr>
<tr>
<th width=450px>
<?php
// Maintenant on doit récupérer les 10 dernières entrées de la table
// On utilise la requête suivante pour récupérer les 10 derniers messages :
mysql_query("SELECT * FROM minichat WHERE chat.type='0' ORDER BY chat.id DESC LIMIT 0,10")or die(mysql_error());
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
$message = emoticones(stripslashes($donnees['message']));
//Une fois que le joueur a crée un post on crée une fonction répondre :
<a href="chat.php?a=message&type=1&<?php echo $donnees['id']; ?>">Répondre</a>
?>
<p><strong><u>
<?php
// Vérification pour modo
$sql = 'SELECT `rang` FROM `membres` WHERE `login` = "'. mysql_escape_string($_SESSION['login']).'"';
$res = mysql_query($sql)or die(mysql_error()); // Requête SQL
$data = mysql_fetch_assoc($res);
$rang = $data['rang'];
echo '';
if ($rang == "administrateur") {
echo '<balise style="color:#ff0000;">'. $donnees['pseudo'] .'</balise>';
} else if ($rang == "moderateur") {
echo '<balise style="color:#009114;">'. $donnees['pseudo'] .'</balise>';
}
else if ($rang == "membre") {
echo '<balise style="color:#000000;">'. $donnees['pseudo'] .'</balise>';
}
echo '';
?>
</strong></u> a dit :<br><br />
<?php
// Vérification pour modo
$sql = 'SELECT `rang` FROM `membres` WHERE `login` = "'. mysql_escape_string($_SESSION['login']).'"';
$res = mysql_query($sql)or die(mysql_error()); // Requête SQL
$data = mysql_fetch_assoc($res);
$rang = $data['rang'];
echo '';
if ($rang == "administrateur") {
echo '<balise style="color:#ff0000;">'. $message .'</balise>';
} else if ($rang == "moderateur") {
echo '<balise style="color:#009114;">'. $message .'</balise>';
}
else if ($rang == "membre") {
echo '<balise style="color:#000000;">'. $message .'</balise>';
}
echo '';
?><br />
______________<br>
le <?php echo $donnees['date']; ?> à <?php echo $donnees['heure']; ?>.<br />
__________________________________________</p>
<?php
}
// Fin de la boucle, le script est terminé !
// On se déconnecte de MySQL
mysql_close();
?>
</th>
</tr>
</table>
<br><br><br><br><br>
<?php
include 'includes/connecter/bas.php'
?>[/code]
De manière avoir cela lorsqu'on créer un sujet :
[img]http://img41.xooimage.com/files/d/9/b/image-3-a85c56.png[/img]
Lorsqu'on répond :
[img]http://img41.xooimage.com/files/2/1/4/image-4-a85c6d.png[/img]
Je vous en remercie d'avance de votre aide (Oui cela fait beaucoup ^^ )
Passez une très bonne soirée.
Cordialement,
Escudo