Partage
  • Partager sur Facebook
  • Partager sur Twitter

Message erreur apostrophe

    16 juillet 2019 à 9:07:20

    Bonjour tout le monde,

    Voilà j'ai un petit script qui est ni plus ni moins qu'un moteur de recherche pour récupérer les infos d'une bdd.

    Tout marche nickel.

    Vous savez en France beaucoup de ville commence par saint quelquechose.

    du coup j'aimerais faire en sorte qu'à la saisie que lorsque on tape st ou saint on affiche quand même le résultat.

    J'ai également un soucis, si quelqu'un saisie l'apostrophe dans le input, exemple: saint martin d'hères j'ai un message d'erreur.

    <?php  
     $connect = mysqli_connect("localhost", "root", "", "plateforme");  
     if(isset($_POST["query"]))  
     {  
          $output = '';  
          $query = "SELECT Nom_commune, Code_postal,slug_commune FROM villes_de_france WHERE Nom_commune LIKE '%".$_POST["query"]."%' LIMIT 0,5";  
          $result = mysqli_query($connect, $query);  
          $output = '<ul class="list-unstyled liste-villes">';  
          if(mysqli_num_rows($result) > 0)  
          {  
               while($row = mysqli_fetch_array($result))  
               {  
                    $output .= '<li>'.$row["Nom_commune"].'</li>';  
               }  
          }  
          else  
          {  
               $output .= '<li>Ville inexistante</li>';  
          }  
          $output .= '</ul>';  
          echo $output;  
     }  
     ?>  
    <input type="text" name="ville" id="country" class="form-control" placeholder="Exemple: Lyon"/> 
    									<div id="countryList"></div> 
    									</div>
    							
    									 <script>  
    									 $(document).ready(function(){  
    										  $('#country').keyup(function(){  
    											   var query = $(this).val();  
    											   if(query != '')  
    											   {  
    													$.ajax({  
    														 url:"search.php",  
    														 method:"POST",  
    														 data:{query:query},  
    														 success:function(data)  
    														 {  
    															  $('#countryList').fadeIn();  
    															  $('#countryList').html(data);  
    														 }  
    													});  
    											   }  
    										  });  
    										  $(document).on('click', 'li', function(){  
    											   $('#country').val($(this).text());  
    											   $('#countryList').fadeOut();  
    										  });  
    									 });  
    									 </script> 




    -
    Edité par blinz 16 juillet 2019 à 9:11:49

    • Partager sur Facebook
    • Partager sur Twitter
      16 juillet 2019 à 10:40:38

      Ce qui est normal et le mieux c'est que tu regarde ce que vaut la requête quand tu y mets un apostrophe. Tu devrais comprendre pourquoi il y a une erreur.

      Maintenant le mieux c'est de préparer la requête SQL car cela évite ce type d'erreur et te protège contre d'éventuelles failles de sécurité par injection SQL.

      • Partager sur Facebook
      • Partager sur Twitter
        17 juillet 2019 à 20:18:56

        Sinon pour te permettre d'intégrer des apostrophes dans un contenu tu peut utiliser la fonction PHP addslashes.

        • Partager sur Facebook
        • Partager sur Twitter

        Message erreur apostrophe

        × 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