[PHP] - Besoin d'aide pour un chat en php.

Suivre ce topic
Ce topic est suivi par : Personne...
Ce topic a été résolu
Profil introuvable

Profil introuvable Le 24 août 2016 à 20:18 (Édité le 25 janvier 2019 à 17:52)

Bonjour a tous j'ai crée un site web ou j'ai intégrer une petite page en php dans le quel se trouve un chat J'ai ducoup suivis le tutou de prim seulement une fois ajouter a mon site en hébergement bas sa a pas fonctionner comme prévus. Je me suis bine connecter au phpmyadmin depuis le panel de mon hébèrgeur seulement le code ne fonctionne pas je voie apparaitre le chat mais quand j'envoie un message il n'apparait n'y dans dans ma base de donnée ni sur le site pourtant c'est le même code merci de vos futur réponsses!

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

Balatharas Le 24 août 2016 à 20:39

Tu es sur que, dans l'insertion dans la base de données, le nom de la table et des colonnes est correct ?
Profil introuvable

Profil introuvable Le 24 août 2016 à 20:44

Oui je suis pose sinon cela m'afficherais une erreur non ?
Balatharas

Balatharas Le 24 août 2016 à 20:47

Non, vérifie bien
Profil introuvable

Profil introuvable Le 24 août 2016 à 20:48

D'accord mais comment savoir qu'une erreur est faite ?
Profil introuvable

Profil introuvable Le 24 août 2016 à 20:56

Balatharas

Balatharas Le 24 août 2016 à 21:15

Bah ça par contre je crois que tu ne peux pas savoir :/
Profil introuvable

Profil introuvable Le 24 août 2016 à 21:21

Ah...
TheOldNoob

TheOldNoob Le 24 août 2016 à 23:33

Salut les amis 😀


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

Profil introuvable Le 24 août 2016 à 23:51

Très propre je l'utilliserais a l'avenir. En ce qui concèrne de vérifier mon pseudo et mon message je sais pas dutout commenf aire
Profil introuvable

Profil introuvable Le 25 août 2016 à 17:04 (Édité le 25 août 2016 à 18:07)

Je vien de corriger le problème et il venait bien du code j'avais par mégarde ouvert uyne form par dessus une autres et c'est ce qui a causer toute c'est erreur. Maintenent j'ai un nouveaux problème l'orsque j'envoie un message il s'affiche mais quand je reload il revien encore une fois et sans arret je sais pas pourquoi j'ia revérifier mon code pourtant tout me parrait bon...
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

TheOldNoob Le 25 août 2016 à 18:02

Heu, tu nous met tout les accés a ta bdd? c'est gentil, mais c'est dangeureux...
édite ton post pour évité les gens mal intentionné
Profil introuvable

Profil introuvable Le 25 août 2016 à 18:08

Zut!(sans vouloir dire de gros mot) j'oublie tout le temps... Merci ne tout cas de me l'avoir dit. Mias tu ne saurais pas comment regler mon problème ?
TheOldNoob

TheOldNoob Le 25 août 2016 à 18:47

bah en fait, j'arrive sur la page de ton hebergeur, donc je vois pas l'erreur 😋
TheOldNoob

TheOldNoob Le 25 août 2016 à 18:53

ahhh, j'ai mal lu ton probleme
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

Profil introuvable Le 25 août 2016 à 19:18

Merci beaucoup je m'excuse d'avoir réouvert un nouveau topic a ce sujet... Mais comme celui que tu as aidez et bien sa ma bien aidez aussi! 😄 ^^
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte