[PHP] - Besoin d'aide pour un chat en php.
- Accueil
- Forum
- Programmation
- PHP
- [PHP] - Besoin d'aide pour un chat en php.
Profil introuvable Le 24 août 2016 à 20:18 (Édité le 25 janvier 2019 à 17:52)
page en php
<?php
session_start();
$bdd = new PDO('mysql:host=mysql.hostinger.fr;dbname=ma base de donnée','sql user','MDP');
if (isset($_POST['pseudo']) AND isset($_POST['message']) AND !empty($_POST['pseudo']) AND !empty($_POST['message']))
{
$message = htmlspecialchars($_POST['message']);
$pseudo = htmlspecialchars($_POST['pseudo']);
$insertmsg = $bdd->prepare('INSERT INTO chat(pseudo, message) VALUES(?, ?)');
$insertmsg->execute(array($pseudo, $message));
}
?>
<html>
<head>
<meta charset="utf-8" />
<title>Chat.</title>
</head>
<body>
<form>
<h2>Chat</h2>
<form method="post" action="">
<input type="text" placeholder="PSEUDO" name="pseudo" value="<?php if (isset($pseudo))
{
echo "$pseudo";
} ?>" />
<br>
<textarea type="text" placeholder="MESSAGE" name="message"></textarea>
<input type="submit" value="Envoyer"/>
</form>
<?php
$allmsg = $bdd->query('SELECT * FROM chat ORDER BY id DESC LIMIT 0, 5');
while ($msg = $allmsg->fetch())
{
?>
<b><?php echo $msg['pseudo']; ?>:</b> <?php echo $msg['message']; ?> <br />
<?php
}
?>
</body>
</html>
Balatharas Le 24 août 2016 à 20:39 (Édité le 1 janvier 1970 à 01:00)
Profil introuvable Le 24 août 2016 à 20:44 (Édité le 1 janvier 1970 à 01:00)
Profil introuvable Le 24 août 2016 à 20:48 (Édité le 1 janvier 1970 à 01:00)
Balatharas Le 24 août 2016 à 21:15 (Édité le 1 janvier 1970 à 01:00)
TheOldNoob Le 24 août 2016 à 23:33 (Édité le 1 janvier 1970 à 01:00)
Alors, il y a moyen de savoir d'ou viens l'erreur, mais, il faut avoir préparer son code correctement.
La dans ton code, tu lui dit juste : VAZY ENFONCE DANS MA BDD.
C'est assez violant, et du coup, si le code a pas envie, tu sais pas pourquoi.
Par contre, si avant, tu lui dit :
Verifi que Pseudo soir correct, si c'est pas le cas, affiche moi une erreur
Verifi que Message soir correct, si c'est pas le cas, affiche moi une erreur
Compte les erreurs, puis affiche les mois
Si erreur = 0 alors insert dans la bdd
Ensuite, pour ton problème, je pense qu'il viens de ta connexion a ta bdd, je pense pas que mysql.histinger.fr soit la bonne adresse, en générale les hebergeur donne une adresse du genre 92.216.117.258
et sinon, poour ta connexion utilise se genre de code, qui est plus claire a comprendre 😀
<?php
//Informations de connexion à la bdd
$sqlHost = 'localhost';
$sqlUser = 'root';
$sqlPassword = '';
$dbName = 'mabd';
$pdo = new PDO('mysql:host='.$sqlHost.';dbname='.$dbName.';charset=utf8',$sqlUser,$sqlPassword) or die($pdo->errorInfo());
?>
Profil introuvable Le 24 août 2016 à 23:51 (Édité le 1 janvier 1970 à 01:00)
Profil introuvable Le 25 août 2016 à 17:04 (Édité le 25 août 2016 à 18:07)
Lien : http://www.arizona.esy.es/site.php
Code utilliser:
<?php
$sqlHost = 'mysql.hostinger.fr';
$sqlUser = 'u182950414_web';
$sqlPassword = 'MDP';
$dbName = 'u182950414_zbeub';
$bdd = new PDO('mysql:host='.$sqlHost.';dbname='.$dbName.';charset=utf8',$sqlUser,$sqlPassword) or die($bdd->errorInfo());
if (isset($_POST['pseudo']) AND isset($_POST['message']) AND !empty($_POST['pseudo']) AND !empty($_POST['message']))
{
$message = htmlspecialchars($_POST['message']);
$pseudo = htmlspecialchars($_POST['pseudo']);
$insertmsg = $bdd->prepare('INSERT INTO chat(pseudo, message) VALUES(?, ?)');
$insertmsg->execute(array($pseudo, $message));
}
?>
<html>
<head>
<meta charset="utf-8" />
<title>Chat.</title>
</head>
<body>
<h2>Chat</h2>
<form method="post" action="">
<input type="text" placeholder="PSEUDO" name="pseudo" value="<?php if (isset($pseudo))
{
echo "$pseudo";
} ?>" />
<br />
<textarea type="text" placeholder="MESSAGE" name="message"></textarea><br />
<input type="submit" value="Envoyer" />
</form>
<?php
$allmsg = $bdd->query('SELECT * FROM chat ORDER BY id DESC LIMIT 0, 5');
while ($msg = $allmsg->fetch())
{
?>
<b><?php echo $msg['pseudo']; ?>:</b><?php echo $msg['message']; ?> <br />
<?php
}
?>
</body>
</html>
TheOldNoob Le 25 août 2016 à 18:02 (Édité le 1 janvier 1970 à 01:00)
édite ton post pour évité les gens mal intentionné
Profil introuvable Le 25 août 2016 à 18:08 (Édité le 1 janvier 1970 à 01:00)
TheOldNoob Le 25 août 2016 à 18:47 (Édité le 1 janvier 1970 à 01:00)
TheOldNoob Le 25 août 2016 à 18:53 (Édité le 1 janvier 1970 à 01:00)
C'est effectivement le probleme de se tutoriel fait par Boris, mais c'est un bon tutoriel pour débuté
Ton problème vien du fait que tu garde en mémoire le POST, du coup, quand tu reload, forcement ton message se relance. C'est tout a fait normal.
J'ai déjà aidé pour se même probleme et résolut tout ça, je t'invite donc a lire se topic : https://www.primfx.com/forum/programmation/php/actualisation-chat-amp-double-message-567
Profil introuvable Le 25 août 2016 à 19:18 (Édité le 1 janvier 1970 à 01:00)