Du localhost vers l'hebergement : mysql_real_escape_string
Résolu
sifokl
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
sifokl Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
sifokl Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour tout le monde , je suis debutant en PHP , et je viens de "quasiment" terminer ma premiere application , sauf que la je rencontre qlq chose de bizarre !
jai crée un module de recherche , et il marche parfaitement en localhost , sauf que lorsque jai hebergé le site ; je lai testé et hop , il ne marche pas !
afin de debuguer , jai fais un echo pour la requete grace a la quelle on cherche ce qu'on desire , et jai remarqué que les valeurs qu'on doit extraire des champs du formulaires de recherche sont vides !
bref voila le code :
et merci infiniement de m'aider :
et ceci une partie du fichier recherche.php
Bonjour tout le monde , je suis debutant en PHP , et je viens de "quasiment" terminer ma premiere application , sauf que la je rencontre qlq chose de bizarre !
jai crée un module de recherche , et il marche parfaitement en localhost , sauf que lorsque jai hebergé le site ; je lai testé et hop , il ne marche pas !
afin de debuguer , jai fais un echo pour la requete grace a la quelle on cherche ce qu'on desire , et jai remarqué que les valeurs qu'on doit extraire des champs du formulaires de recherche sont vides !
bref voila le code :
et merci infiniement de m'aider :
<div id="search-slider" class="clearfix"> <div class="search"> <form action="recherche.php" enctype="multipart/form-data" method="post" class="fm NiceIt srch"> <h2>Je cherche un bien</h2> <br /> <h2>Situé à :</h2> <div class="selectbox clearfix"> <select name="pdt_ville_search" id="pdt_ville_search"> <option value="indefinie">indefinie</option> <option value="ville1">ville1</option> <option value="ville2">ville2</option> <option value="ville3">ville3</option> </select> </div> <h2>Dont le type est :</h2> <div class="selectbox clearfix"> <select name="pdt_type_search" id="pdt_type_search"> <option value="indefini">indefini</option> <option value="Bureau">Bureau</option> <option value="Medical">Medical</option> <option value="Residence">Residence</option> <option value="Appartement">Appartement</option> <option value="Villa">Villa</option> <option value="Local commercial">Local commercial</option> <option value="Studio">Studio</option> </select> <div class="s-select"> <span>Nombre de pieces</span> <select name="pdt_nb_piece_search" id="pdt_nb_piece_search"> <option value="indefini">indefini</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> </div> </div> <h2>Marge de Prix :</h2> <div class="layout-slider clearfix" style="width: 100%"> <span><input id="Slider1" name="price" value="5000;1500000"></span> </div> <script type="text/javascript"> jQuery("#Slider1").slider({ from: 0, to: 2000000, step: 5000, smooth: true, round: 0, dimension: " DT", skin: "round_plastic" }); </script> <div class="search-button clearfix"> <input type="submit" name="chercher" value="Chercher" class="search-property" /> </div> </form> <div class="search-shadow"></div> </div>
et ceci une partie du fichier recherche.php
<?php //recherche if (isset($_POST['chercher'])){ $pdt_ville_search = mysql_real_escape_string($_POST['pdt_ville_search']); $pdt_type_search = mysql_real_escape_string($_POST['pdt_type_search']); $pdt_nb_piece_search = mysql_real_escape_string($_POST['pdt_nb_piece_search']); $pdt_prix = mysql_real_escape_string($_POST['price']); $minmax = explode(";", $pdt_prix); $min = $minmax[0]; $max = $minmax[1]; $req_ville = '1=1'; $req_type = '2=2'; $req_nb_piece = '3=3'; if ($pdt_ville_search == 'indefinie' && $pdt_type_search == 'indefini' && $pdt_nb_piece_search == 'indefini'){ //echo "zzzzzzzzzzzzzzzzzzzzzzzzzzzz"; print("<script type=\"text/javascript\">setTimeout('location=(\"s_produits.php\")' ,1000);</script>"); exit(); } else { if($pdt_ville_search != 'indefinie'){ $req_ville = "pdt_ville = '$pdt_ville_search'"; } if($pdt_type_search != 'indefini'){ $req_type = "pdt_type = '$pdt_type_search'"; } if($pdt_nb_piece_search != 'indefini'){ $req_nb_piece = "pdt_nb_piece = '$pdt_nb_piece_search'"; } include("l_e_s_p_r_o_m_o_s/s_connect_db.php"); $requete = "SELECT * FROM t_produits WHERE (".$req_ville." AND ".$req_type." AND ".$req_nb_piece." AND (pdt_prix BETWEEN ".$min." AND ".$max."))"; echo "<h2>".$requete."</h2>"; // affiche : SELECT * FROM t_produits WHERE (pdt_ville = '' AND pdt_type = '' AND pdt_nb_piece = '' AND (pdt_prix BETWEEN AND )) $sql = mysql_query($requete); $count_ = mysql_num_rows($sql); $list = ''; if ($count_ > 0){ // suite du code pour afficher les differents entité
A voir également:
- Du localhost vers l'hebergement : mysql_real_escape_string
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Clavier qwerty vers azerty - Guide
- Vers quelle adresse web renvoie ce lien - Guide
- Il est en cours de transport vers votre site de livraison - Forum Consommation & Internet
- Mise a jour android 4.4.2 vers 5 - Forum Téléphones & tablettes Android
3 réponses
ALERTE :
je viens de changer dans recherche.php :
par :
la requete affichée par le "echo" est bonne et les resultats sont bons , je comprends vraiment pas pourquoi
pose ce genre de problemes :)
je viens de changer dans recherche.php :
$pdt_ville_search = mysql_real_escape_string($_POST['pdt_ville_search']); $pdt_type_search = mysql_real_escape_string($_POST['pdt_type_search']); $pdt_nb_piece_search = mysql_real_escape_string($_POST['pdt_nb_piece_search']); $pdt_prix = mysql_real_escape_string($_POST['price']);
par :
$pdt_ville_search = ($_POST['pdt_ville_search']); $pdt_type_search =($_POST['pdt_type_search']); $pdt_nb_piece_search =($_POST['pdt_nb_piece_search']); $pdt_prix =($_POST['price']);
la requete affichée par le "echo" est bonne et les resultats sont bons , je comprends vraiment pas pourquoi
mysql_real_escape_string()
pose ce genre de problemes :)
Bonjour
C'est tout à fait normal.
mysql_real_escape_string tient compte de la connexion à la base de données pour échapper les caractères.
On ne peut donc pas l'appeler AVANT la connexion à la base de données.
Remets tes mysql_real_escape_string où ils étaient, mais mets ta connexion à la base de données AVANT et tout rentrera dans l'ordre.
C'est tout à fait normal.
mysql_real_escape_string tient compte de la connexion à la base de données pour échapper les caractères.
On ne peut donc pas l'appeler AVANT la connexion à la base de données.
Remets tes mysql_real_escape_string où ils étaient, mais mets ta connexion à la base de données AVANT et tout rentrera dans l'ordre.