Du localhost vers l'hebergement : mysql_real_escape_string

Résolu/Fermé
sifokl Messages postés 24 Date d'inscription samedi 24 mars 2012 Statut Membre Dernière intervention 20 novembre 2015 - 11 juil. 2013 à 14:19
sifokl Messages postés 24 Date d'inscription samedi 24 mars 2012 Statut Membre Dernière intervention 20 novembre 2015 - 26 juil. 2013 à 05:16
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 :

<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: "&nbsp;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é


3 réponses

sifokl Messages postés 24 Date d'inscription samedi 24 mars 2012 Statut Membre Dernière intervention 20 novembre 2015 1
11 juil. 2013 à 14:29
ALERTE :
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 :)
0
Utilisateur anonyme
11 juil. 2013 à 15:41
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.
0
sifokl Messages postés 24 Date d'inscription samedi 24 mars 2012 Statut Membre Dernière intervention 20 novembre 2015 1
26 juil. 2013 à 05:16
Merci beaucoup , vous m'avez sauvé la vie (desolé pour le retard) , je vais immediatement signaler que le sujet est resolu en esperant qu'il aidera d'autres debutants :)
0