Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête recherche de mot dans une table HTML

utiliser du PHP pour faire un site HTML

    3 décembre 2020 à 14:08:42

    Bonjour, j'ai besoin d'aide pour un devoir dans ma formation,

    J'ai besoin de faire un site html basique ou j'entre un jour dans une barre de recherche (exemple : lundi)

    Et par la suite j'obtiens le menu du jour avec un descriptif qui est présent dans ma base de donnée.

    Je ne comprends pas pourquoi ça ne fonctionne pas voici mes code php et html :

    affichage-cantine.php

    <html>
    <head>
      <title>Insertion des donn&eacute;es</title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      
              
      <style type="text/css">
          body {
    	    background-color: #699;
          }
      </style>
    </head>
    <body>
      
      <?php
    
    $Base="projet_scolaire";
    $Serveur="localhost";
    $Utilisateur="root";
    $MotDePasse="";
    
    //phpinfo();
    // on se connecte à MySQL et on sélectionne la base
    $conn = mysqli_connect($Serveur, $Utilisateur, $MotDePasse, $Base);
    
    //connexion au serveur où se trouve la base de données
    //$LienBase=mysql_connect($Serveur,$Utilisateur,$MotDePasse);
    
    //s�lection de la base de données au niveau du serveur
    //$retour=mysql_select_db($Base,$LienBase);
    
    //affichage d'un message d'erreur si la connexion a été refusée
    //if(!$retour)
    if (mysqli_connect_errno()) { 
      echo "Connexion à la base impossible" ;
    }
    
    //Ecriture de la requête 
    
    $cantine = $_REQUEST["cantine"];
    $Requete ="Select descriptif from cantine where nom_repas like '$mot'" 
    
    
    
    //Envoi de la requête
    $Reponse = mysqli_query($conn, $Requete);
    if (!$Reponse) {
        die('Requête invalide : ' . mysql_error());
    }
    
    echo "Nom: ".$cantine."<br/>";
    
    //Traitement ligne par ligne de la réponse
    while ($donnees = mysqli_fetch_array($Reponse) )
    {
    //Affichage des lignes de données, champ par champ
    
    
    echo "Repas du jour: ".$donnees['descriptif']."<br/>";
    
    echo'<br/><br/><br/>';
    }
    ?>
    </body>
    </html>


    Et ensuite mon html :

    <html>
    <head>
              <title>Formulaire</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
    <!--
      body {
    	background-color: #699;
    }
    -->
    </style></head>
    <body>
    <form action="affichage-cantine.php" method="post">
        <table width="65%">
            <tr>
              <td><p><b>Les menus</b></p>
              <p>&nbsp;</p></td>
            </tr>
            <tr>
                <td height="46">
              <p><b>Quel jour ? (lundi,mardi,jeudi,vendredi) :</b></p></td>
              <td><input type="text" name="nom_repas" size="50" id="cantine" /></td>
          </tr>
        </table>
        <br/>
        <input type="submit" /><br>
    </form>
    </body>
    </html>
    
    


    Pouvez vous m'aider et me dire d'ou pourrait venir le problème svp ?

    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2020 à 14:12:18

      name="nom_repas" vs $_REQUEST["cantine"] (c'est le name qui compte, pas l'id)

      Tu n'aurais pas une notice undefined index cantine ? Ah mais encore faut-il développer avec toutes les erreurs PHP (error_reporting = E_ALL) affichées (display_errors = on).

      • tu as une injection SQL via $mot/$_REQUEST["cantine"]
      • pourquoi utiliser $_REQUEST si c'est du ($_)POST ?
      • on teste l'existence des variables avant de les utiliser, ça aurait permis de voir l'erreur
      • le LIKE ne sert à rien si ce n'est pas l'utilisateur qui saisit les caractères joker %/_
      • ton mysql_error est faux et risque de faire planter ton code, ce devrait être un mysqli_error (avec la connexion en paramètre) mais ...
      • ... on n'utilise pas or die pour gérer les erreurs mysqli mais un mysqli_report

      -
      Edité par julp 3 décembre 2020 à 15:01:57

      • Partager sur Facebook
      • Partager sur Twitter
        3 décembre 2020 à 14:24:12

        Bonjour, merci pour votre réponse rapide, le truc c'est que notre prof nous donne un fichier déjà formulé et nous devons modifier les champs pour que ça correspondent a notre BDD, je vais essayer de regarder les problèmes que vous avez relevé

        -
        Edité par AloeVera2 3 décembre 2020 à 14:28:04

        • Partager sur Facebook
        • Partager sur Twitter

        Requête recherche de mot dans une table HTML

        × 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