Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème entre ma BDD et mon script

    6 avril 2020 à 14:22:12

    Bonjour,

    je suis actuellement le cours sur le php et mysql et j'ai un problème avec le tp du Minichat.

    j'ai mes deux pages de code minichat.php et minichat_post.php le problème est que lorsque j'essaie de mettre un message sur le chat on dirait que les infos que je rentre dans le formulaire ne sont pas envoyés ou ne sont pas reconnu par ma BDD j'ai peut être pensé à un problème d'encryptage mais je ne connais vraiment pas les différents types et ce qu'il faut en faire c'est pourquoi je préfère vous le demander ici. Je met en dessous les codes de mes deux pages, j'imagine qu'ils vous manquera quelques infos mais ne sachant pas lesquelles j'attend que vous me le demandiez.

    merci d'avance

       minichat.php :

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>Mini-chat</title>
    	</head>
    	<style>
    	form
    	{
    		text-align:center;
    	}
    	</style>
    	<body>
    
    	<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
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    }
    
    catch (exeception $e)
    {
    		die('Erreur : '.$e->getMessage());
    }
    
    
    $reponse = $bdd->query('SELECT pseudo, message FROM minichat ORDER BY id DESC LIMIT 0, 10');
    
    while ($donnees = $reponse->fetch())
    {
    	echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . '</strong> dit :' . htmlspecialchars($donnees['message']) . '</p>';
    }
    
    $reponse->closecursor();
    
    ?>	
    
    	</body>
    </html>

     minichat_post.php :

    <?php
    
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    }
    
    catch(Exception $e)
    {
    		die('Erreur : '.$e->getmessage());
    }
    
    $req = $bdd->prepare('INSERT INTO minichat (pseudo, message) VALUES(?, ?)');
    $req->execute(array($_POST['pseudo'], $_POST['message']));
    
    header('location: minichat.php');
    ?>




    -
    Edité par MathiasR.D 6 avril 2020 à 17:04:04

    • Partager sur Facebook
    • Partager sur Twitter
      6 avril 2020 à 16:37:41

      Bonjour,

      La première chose à faire, avant même que nous regardions ton code, c'est d'activer l'affichage des erreurs PHP (error_reporting) et PDO (ERRMODE).

      Mais déjà l'input name="Message" et plus loin $_POST['message'] ...

      Déplacement vers un forum plus approprié

      Le sujet est déplacé de la section Base de données vers la section PHP

      -
      Edité par Benzouye 6 avril 2020 à 16:39:35

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        6 avril 2020 à 17:06:30

        voila c'est fait mais par contre pour la modification $_post['message'] je ne vois pas ce que tu veux que je fasse :/ 

        on me signale bien qu'il y a un problème a la ligne 14 de minichat_post.php et on me dit que le champs 'message' ne peut être vide. alors qu'il n'est pas vide j'avais déjà pré-rempli trois messages de personnes différentes dans phpmyadmin  avant que je remplisse la case message lorsque j'essaie d'envoyer qqch sur le chat depuis localhost

         

        -
        Edité par MathiasR.D 6 avril 2020 à 17:16:17

        • Partager sur Facebook
        • Partager sur Twitter
          6 avril 2020 à 17:55:18

          Bonsoir,

          Quelle est cette erreur lors de l'insertion? englobe ta requête dans le try / catch le faire que pour la connexion ne sert pas à grand chose.

          • Partager sur Facebook
          • Partager sur Twitter
          Merci de signaler votre sujet résolu, cela nous évite des pages de lecture inutile pour arriver au bout de 15 réponses sur la dernière qui dit "merci problème résolut!"
            6 avril 2020 à 18:47:46

            Bonjour,

            Par contre c'est contraire au règles de modifier le code du 1er message après qu'on t'est demander de modifier le code.

            On répond avec le code modifier sinon ça n'a plus de sens.

            • Partager sur Facebook
            • Partager sur Twitter

            problème entre ma BDD et mon script

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown