[Résolu] Petite question en php
Résolu
Romyyy
Messages postés
80
Statut
Membre
-
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19182 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 !
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
-
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';
;) -
-
-
Salut.
L'erreur est dans cette ligne :if ($donnees['pseudo'] = 'Jean dupont')
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
-
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 :/ -
euh, je serais tenté de dire en début de page après le body mais pas sûr du tout !
-
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. -
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 !-
-
-
-
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. -
-