[Résolu] Petite question en php

Résolu
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai fait un mini-chat en php et j'aimerais que quand le pseudo jean dupont (par exemple) soit choisis, la phrase se colore en rouge.

Or, j'ai essayé et tout se colore en rouge mais n'importe quel pseudo est remplacé par Jean Dupont ! Vous comprendrez peut-etre mieux si je vous donne mon code ! Le voici :

<form action="minichat_post.php" method="post">
<p>
<label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" /><br />
<label for="message">Message</label> : <input type="text" name="message" id="message" /><br />

<input type="submit" value="Envoyer" />
</p>
</form>


<?php
// Connexion à la base de données
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=roomsbase', 'root', '', $pdo_options);

// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT pseudo, message FROM minichat ORDER BY ID DESC LIMIT 0, 10');

// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
if ($donnees['pseudo'] = 'Jean dupont')
{
echo '<font color="#FF0000"><p><strong>' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p></font>';
}
else
{
echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
}
}

$reponse->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

?>
</body>
</html>

Merci d'avance de votre aide !


A voir également:

10 réponses

n0wak Messages postés 192 Date d'inscription   Statut Membre Dernière intervention   19
 
bonjour,

lorsque tu met $dd['truc'] = 'bidule'; tu remplaces la valeur existante par bidule, pour une comparaison il faut le double égal

$donnees['pseudo'] == 'Jean dupont';

;)
1
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
 
Personne ?
0
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
 
:/
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.

L'erreur est dans cette ligne :
if ($donnees['pseudo'] = 'Jean dupont')
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci ! Mais comment corriger ? ^^
0
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
 
MERCI ! :)
0
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
 
Et tant qu'on y est un <embed src="XXXX.mp3" autostart="true" loop="false" hidden="true"></embed>

Doit se situer ou dans la page html pour que ca bug le moins ? Car la ça ralentit tout :/
0
n0wak Messages postés 192 Date d'inscription   Statut Membre Dernière intervention   19
 
euh, je serais tenté de dire en début de page après le body mais pas sûr du tout !
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Je te déconseille de lancer automatiquement la musique, et ne pas proposer de bouton pour la stopper.
C'est très gênant quand on écoute déjà la sienne, par exemple.
Et on a pas tous les mêmes goûts.
En plus, elle recommence à chaque message posté.

Je te conseille plutôt de le mettre à la fin.

Par contre, il vaut mieux utiliser AJAX.
Ça permet d'éviter à devoir recharger la page à chaque fois.
0
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
 
Bon allez vu que vous aimez mes questions , comment écrire ceci ?
$mot_de_passe = $_POST['mot_de_passe'];
Pour que l'égalité soit respectée ?
Parce que si je mets des apostrophes devant et derriere le $_post ca va pas le faire..

Une idée ?
Merci d'avance !
0
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
 
?
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Pourquoi mettre des apostrophes autour du nom d'une variable ?
Et tu as l'air de confondre l'assignation et les conditions.
L'opérateur "=" sert à attribuer une valeur à une variable
Et "==" est un comparateur, à utiliser dans les conditions.
0
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
 
Enfaites j'aimerais pouvoir utiliser ceci :
$password = $_POST['mot_de_passe'];
$_SESSION['$password'] = 'XXXXXX';
Mais j'ai un vilain Notice: Undefined index: mot_de_passe in C:\wamp\www\modifier2.php on line 3 qui est la premiere des deux ci-jointes
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
C'est qu'il n'y a aucun champ ayant "mot_de_passe" comme nom (attribut name).

Quant à la seconde ligne, pourquoi utilises-tu une variable comme clé ?
Surtout qu'entre guillemets simples, elle n'est pas remplacée par sa valeur.

Je te conseille de relire sérieusement le tutoriel sur le Siteduzero.com
Ça peut t'em***der mais il vaut mieux, tu confonds tout.
0
Romyyy Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
 
Pour ce qui est de relire les tutos je le ferais ;)
Mais enfaites j'ai séparé ceci en 2 lignes parce que je pensais que le faire en une était impossible pour cause d'apostrophes donc je me suis trompée. Donc en une ligne c'est possible ? Et j'ai vérifié mon champ s'appelle bien mot_de_passe_ ...
0