[Résolu] Petite question en php

Résolu/Fermé
Romyyy Messages postés 78 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 - Modifié par Romyyy le 25/03/2011 à 00:06
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 - 24 mars 2011 à 22:59
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 !


10 réponses

n0wak Messages postés 192 Date d'inscription lundi 28 juillet 2008 Statut Membre Dernière intervention 25 septembre 2013 19
22 mars 2011 à 22:37
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 mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
22 mars 2011 à 22:13
Personne ?
0
Romyyy Messages postés 78 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
22 mars 2011 à 22:24
:/
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
22 mars 2011 à 22:25
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 mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
22 mars 2011 à 22:35
Merci ! Mais comment corriger ? ^^
0
Romyyy Messages postés 78 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
22 mars 2011 à 22:39
MERCI ! :)
0
Romyyy Messages postés 78 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
22 mars 2011 à 22:46
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 lundi 28 juillet 2008 Statut Membre Dernière intervention 25 septembre 2013 19
22 mars 2011 à 22:52
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 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
22 mars 2011 à 23:24
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 mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
23 mars 2011 à 19:46
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 mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
23 mars 2011 à 19:58
?
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
23 mars 2011 à 20:04
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 mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
23 mars 2011 à 20:15
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 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
23 mars 2011 à 20:17
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 mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
23 mars 2011 à 20:22
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