En continuant mon chat php
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
si quelqu'un peu m'aider. un enorme merci
<?php
$connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
mysql_select_db("rencontre",$connexion) OR die("pb selection base");
$req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,40";
$result = mysql_query($req, $connexion);
$req2 = "SELECT sexe FROM chat ORDER BY ID DESC LIMIT 0,40";
$sexe = mysql_query($req2, $connexion);
$sexe2 = mysql_fetch_array($sexe);
$message='message';
if($sexe2='Masuculin')
{$message='<FONT COLOR="#FF0000">';
}
while ($val = mysql_fetch_array($result))
{
echo "<b>". $val['pseudo']."</b> : ".$val['message']."<BR>";
echo "$sexe2 <br>";
}
?>
34 réponses
- 1
- 2
Affichage du pseudonyme et du message en fonction du sexe enregistré dans la base pose problème, les messages s'affichent sans couleur alors que le sexe est bien sauvegardé. Des corrections mentionnées dans le code PHP incluent d'utiliser la comparaison '==' au lieu de l'affectation '=' dans les tests, et d'appliquer la couleur conditionnellement pour chaque ligne du résultat. D'autres propositions consistent à récupérer la valeur 'sexe' directement lors du parcours des résultats (val['sexe']), puis à choisir le code couleur avant d'afficher chaque message. En pratique, l'utilisation d'un seul foreach sur $result et l'application d'un balisage couleur conditionnel par ligne évite les erreurs et assure un affichage clair et cohérent.
-
C'est pas plutôt:
if($sexe2=='Masuculin') (faire attention entre comparaison et affectation).... -
ca change rien
par contre j'ai remarqué quand changeant la ligne
echo "<b>". $val['pseudo']."</b> : ".$val['message']."<BR>";
par
echo "<b>". $val['pseudo']."</b> : ".$val[$message]."<BR>";
les message apparraissent en rouge mais tout les message (meme si le sexe et feminin -
Arth !! Grosse Erreuree !
-
Sans parler de la faute d'orthographe :-)
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
laquelle j'ai pas fait gaffe ?
-
"Masuculin" :-)
-
Tu connais pas ?!!
olala le gars !! bouh y connais pas c'que ca veut dire !!!
moi non plus... :) -
bon desoler tite faute de frappe (on va dire ca)
mais ca ne s'affiche pas en couleur. :-(
j'ai bien mis les deux egales pourtant
et $sexe2 me retourne array lorsque je fait echo "$sexe2" -
-
Voui, il faut faire :
if( $sexe2['sexe'] == "masuculin" ) { .. } ;) -
Tu as quoi comme table ?
Tu enregistre ou le sexe des personne de ton chat ?
-
dans la table chat
mais ici mais msg sont en rouge (les pseudo en noir) donc impecable sauf lorsque c'est des femme il faudrais que ca soit en noir du fait que j'ai rien definie.
je vais coler tout mon code comme ca vous verrez a quoi ca ressemble (dans la table chat j'ai id pseudo msg et sexe)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bienvenu dans le chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if (isset($_POST['pseudo']) && isset($_POST['message']))
{
if ($_POST['pseudo'] !=null && $_POST['message'] !=null)
{
$connexion=mysql_connect("localhost","root","");
$testbase=mysql_select_db("rencontre");
$pseudo=htmlentities($_POST['pseudo'],ENT_QUOTES);
$msg=htmlentities($_POST['message'],ENT_QUOTES);
$sexe=htmlentities($_POST['cmbsexe']);
$req="INSERT INTO chat (pseudo,message,sexe) VALUES('$pseudo','$msg','$sexe')";
$result=mysql_query($req);
mysql_close();
}
else
{
echo "PSEUDO manquant ou probléme d'ajout";
}
}
?>
<form name="form1" id="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%" height="24"> PSEUDO </td>
<td widht="82%">
<input name="pseudo" type="text" id="pseudo" /></td>
</tr>
<tr>
<td> Message </td>
<td><input name="message" type="text" id="message" size="100" /></td>
</tr>
<tr>
<td>Sexe:</td>
<td><select name="cmbsexe" id="cmbsexe">
<option>Masculin</option>
<option selected>Femninin</option>
<option>Anonyme</option>
</select></td>
</tr>
</table>
<p>
<input type="submit" name="cmdok" value="Ajouter?"/>
</p>
</form>
<?php
$connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
mysql_select_db("rencontre",$connexion) OR die("pb selection base");
$req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,40";
$result = mysql_query($req, $connexion);
$req2 = "SELECT sexe FROM chat ORDER BY ID DESC LIMIT 0,40";
$sexe = mysql_query($req2, $connexion);
$sexe2 = mysql_fetch_array($sexe);
$message='message';
if( $sexe2['sexe'] = "Masculin" )
{$message='<FONT COLOR="#FF0000">';
}
while ($val = mysql_fetch_array($result))
{
echo "<b>". $val['pseudo']."</b> : ".$message.$val['message']."</font><BR>";
//echo "<b>". $val['pseudo']."</b> : ".$val[$message]."<BR>";
echo "$sexe2 <br>";
}
?>
</body>
</html> -
le probleme je pense vient du fait que tout mes enregistrement se mete en masculin automatiquement
-
Oui mais tu as refait la même faute !
il faut mettre ' == ' et non ' = ' dans :if( $sexe2['sexe'] = "Masculin" ) {$message='<FONT COLOR="#FF0000">'; }
Sinon ton test est toujours vrai, et donc masculin ou féminin, il te le met en rouge.
-
-
-
Bon, donne moi le nom du champ qsui renseigne le sexe dans ta base de donnée.
-
un champs sexe de type varchar 10
et dans mon formulaire une liste deroulante avec masculin feminin et anonyme -
Bon ben met juste :
if( $sexe2 == "Masculin" ) {
$message = "<FONT COLOR=\"#FF0000\">";
}
Met il faut mettre les double égal sinon, il se passe la chose suivante :
$sexe2 = "Masculin" : tu dit que ta variable $sexe2 vaut "masculin" : ce qui est fait et qui est toujours vrai, donc suite à cela, ton message prend la valeur "<FONT COLOR=\"#FF0000\">" dans tous les cas, ce que tu ne veut pas ! -
ok j'ai compris pour les double=; mais bon ca marche pas; je reflechirrais a ca plus demain. j'arrive pas a lui faire comprendre quand l'enregistrement vaut masculine et quand il vaut autre chose
MERCI
et surement a plus tard ;-)
- 1
- 2