Problème lors de l'inclusion d'un fichier dans un autre

Résolu
cs_ines57 Messages postés 15 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 9 juin 2009 - 7 mai 2009 à 13:44
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 7 mai 2009 à 16:51
Bonjour à tous,

Voilà, pour un portail immobilier, j'ai ma page d'accueil qui permet de sélectionner une région sur une carte de France et de trouver toutes les annonces dans la région. Ma page où s'affiche les résultats s'appelle traitementregion.php

Or dans cette page, j'aimerai y inclure la partie recherche (c'est une bande juste en-dessous du header).

Je peux inclure sans problème le header, mais pas la partie recherche (listes déroulantes en ajax). En effet, j'ai des erreurs :

Warning: mysql_query(): Access denied for user: 'apache@localhost' (Using
password: NO) in
/home/httpd/vhosts/immova.fr/httpdocs/traitementregion.php on line
49

Warning: mysql_query(): A link to the server could not
be established in
/home/httpd/vhosts/immova.fr/httpdocs/traitementregion.php on line
49

Warning: mysql_fetch_array(): supplied argument is not a
valid MySQL result resource in
/home/httpd/vhosts/immova.fr/httpdocs/traitementregion.php on line
51

Je vous donne le fichier en question :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

<?php
    include_once("connexion/mysql.inc.php");
?>

<head>
    <title>Résultats de la recherche</title>
    <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>

    <link rel="stylesheet" href="styles_general.css">

    <!-- CSS adapté au navigateur. Si IE, on applique le styles_ie.css, sinon le styles_general.css -->

    <!--[if IE]>
        <link rel="stylesheet" href="styles_ie.css">
    <![endif]-->

    

    
    

    &amp;nbsp;
        
 <!-- include à placer ici --> 

        

            [dernann.php ]&amp;nbsp;
            [ajout.php ]&amp;nbsp;
            [gerer.php ]&amp;nbsp;
            [partenaires.php ]&amp;nbsp;
            [contact.php ]
        

    

<!-- page recherche.php -->

<?php 
include('recherche230409.php'); 
?>

    

<?php

  if(isset($_GET['reg'])) { 
  $requete=mysql_query("SELECT ann_titre,ann_prix,ann_description, ann_photo FROM annonce,region,departement,ville where ann_no_ville=vil_no_ville and dep_no_dept=vil_no_dept and dep_no_region=reg_no_region and reg_no_region='" . $_GET['reg'] . "'");
  
  while($donnees=mysql_fetch_array($requete))
  {
?>

    

        
        <!-- 
  include à placer ici 
 -->
            
        

            <?php echo $donnees['ann_titre']; ?>
            

                Prix : <?php echo $donnees['ann_prix']; ?> €
            

        

            
        

            <?php echo $donnees['ann_description']; ?>
        

        
        

            " width="164px" height="103px">
                

    

                
<?php
  }
  }
?>



et voici mon fichier recherche.php

<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

    <head>
    <title>Recherche</title>
    

<link rel="stylesheet" href="styles_general.css">

<!-- CSS adapté au navigateur. Si IE, on applique le styles_ie, sinon le styles_general -->

<!--[if IE]>
    <link rel="stylesheet" href="styles_ie.css">
<![endif]-->

<script type='text/javascript'>
     
/* Fonction en AJAX qui permet de savoir quel navigateur est utilisé et qui teste si le navigateur supporte le xml */
            function getXhr(){
                                var xhr = null; 
                if(window.XMLHttpRequest) // Pour les navigateurs type firefox et autres
                   xhr = new XMLHttpRequest(); 
                else if(window.ActiveXObject){ // Pour les navigateurs Internet Explorer 
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
                else { // XMLHttpRequest non supporté par le navigateur 
                   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
                   xhr = false; 
                } 
                                return xhr;
            }
    
    
/* Fonction en AJAX qui permet d'afficher la liste des départements appartenant à une région */            
            function goAfficheDept(){
            
                var xhr = getXhr();
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function()
                {
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 &amp;&amp; xhr.status 200)
                    {
                        leselect = xhr.responseText;
                        // On se sert de innerHTML pour rajouter les options à la liste
                        document.getElementById('divlistedep').innerHTML = leselect;
                    }
                }

                xhr.open("POST","ajax_departement.php",true);
    
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        
                id_region = document.getElementById('listeregion').value;
                xhr.send("id_region="+id_region);
            }
            

/* Fonction permettant d'afficher la liste des villes appartenant à un département */            
            function goAfficheVille() {
                var xhr = getXhr();
            
                xhr.onreadystatechange = function()
                {                    if(xhr.readyState 4 &amp;&amp; xhr.status 200)
                    {
                        leselect = xhr.responseText;
                        document.getElementById('divlisteville').innerHTML = leselect;
                    }
                }

                xhr.open("POST","ajax_ville.php",true);
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                id_dep = document.getElementById('listedep').value;
                xhr.send("id_dep="+id_dep);
            }
            
/* Fonction en AJAX qui permet d'afficher la liste des batiments associés à un type de recherche */            
            function goAfficheBat(){
                var xhr = getXhr();
                
                xhr.onreadystatechange = function()
                {                    if(xhr.readyState 4 &amp;&amp; xhr.status 200)
                    {
                        leselect = xhr.responseText;
                        document.getElementById('divlistebat').innerHTML = leselect;
                    }
                }
                
                xhr.open("POST","ajax_batiment.php",true);
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                id_type = document.getElementById('listetype').value;
                xhr.send("id_type="+id_type);
            }

/* Fonction en AJAX qui permet d'afficher la liste des régions d'un pays */            
            function goAfficheRegion(){
                var xhr = getXhr();
                
                xhr.onreadystatechange = function()
                {                    if(xhr.readyState 4 &amp;&amp; xhr.status 200)
                    {
                        leselect = xhr.responseText;
                        document.getElementById('divlistereg').innerHTML = leselect;
                        if (document.getElementById('listepays').value != 1)
                        {
                            document.getElementById('listeregion').value=0;
                            document.getElementById('listedep').value=0;
                            document.getElementById('listeville').value=0;
                            document.getElementById('listeregion').disabled=true;
                            document.getElementById('listedep').disabled=true;
                            document.getElementById('listeville').disabled=true;
                        }
                    }
                }

                // Ici on va voir comment faire du post
                xhr.open("POST","ajax_region.php",true);
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                // ne pas oublier de poster les arguments
                
                id_pays = document.getElementById('listepays').value;
                xhr.send("id_pays="+id_pays);
            }
            
        </script>
</head>

<?php

/* Requête SQL permettant de choisir tous les types possibles */
$rqSql1 = "SELECT typ_no_type , typ_nom_type FROM type_annonce";
$result1 = mysql_query( $rqSql1, $connect) or die( "Exécution requête impossible.");

$ld1 = "<SELECT NAME='listetype' id='listetype' style='width:200px;height:22px;' onChange='goAfficheBat();'>";
$ld1 .= "<OPTION VALUE=0 selected>Type de recherche</OPTION>";

/* On boucle sur la table */
while ( $row = mysql_fetch_array( $result1)) {
 
    $no_type = $row["typ_no_type"];
    $nom_type = $row["typ_nom_type"];
    $ld1 .= "<OPTION VALUE='$no_type'>$nom_type</OPTION>";
}
$ld1 .= "</SELECT>";

$ld2 = "
";
$ld2 .= "<SELECT NAME='listedep' id='listedep' style='width:200px;height:22px;'>";
$ld2 .= "<OPTION VALUE=0 selected>Département</OPTION>";
$ld2 .= "</SELECT>";
$ld2 .= "
";

$ld3 = "
";
$ld3 .= "<SELECT NAME='listebat' id='listebat' style='width:200px;height:22px;'>";
$ld3 .= "<OPTION VALUE=0 selected>Bâtiment</OPTION>";
$ld3 .= "</SELECT>";
$ld3 .= "
";

/* Requête SQL permettant de choisir toutes les tranches de prix */
$rqSql4 = "SELECT prix_id_prix , prix_tranche_prix FROM prix";
$result4 = mysql_query( $rqSql4, $connect) or die( "Exécution requête impossible.");

$ld4 = "<SELECT NAME='listeprix' id='listeprix' style='width:200px;height:22px;'>";
$ld4 .= "<OPTION VALUE=0 selected>Budget</OPTION>";
// On boucle sur la table
while ( $row = mysql_fetch_array( $result4)) {
    $id_prix = $row["prix_id_prix"];
    $tranche_prix = $row["prix_tranche_prix"];
    $ld4 .= "<OPTION VALUE='$id_prix'>$tranche_prix</OPTION>";
}
$ld4 .= "</SELECT>";

/* Requête SQL permettant de choisir tous les pays */
$rqSql5 = "SELECT pays_no_pays , pays_nom_pays FROM pays";
$result5 = mysql_query( $rqSql5, $connect) or die( "Exécution requête impossible.");

$ld5 = "<SELECT NAME='listepays' id='listepays' style='width:200px;height:22px;' onChange='goAfficheRegion();'>";
$ld5 .= "<OPTION VALUE=0 selected>Pays</OPTION>";

while ( $row = mysql_fetch_array( $result5)) {
    $no_pays = $row["pays_no_pays"];
    $nom_pays = $row["pays_nom_pays"];
    $ld5 .= "<OPTION VALUE='$no_pays'>$nom_pays</OPTION>";
}
$ld5 .= "</SELECT>";

/* Requête SQL permettant de choisir toutes les régions */
$rqSql6 = "SELECT reg_no_region , reg_nom_region FROM region";
$result6 = mysql_query( $rqSql6, $connect) or die( "Exécution requête impossible.");

$ld6 = "
";
$ld6 .= "<SELECT NAME='listeregion' id='listeregion' style='width:200px;height:22px; 'onChange='goAfficheDept();'>";
$ld6 .= "<OPTION VALUE=0 selected>Région</OPTION>";
$ld6 .= "</SELECT>";
$ld6 .= "
";

$ld7 = "
";
$ld7 .= "<SELECT NAME='listeville' id='listeville' style='width:200px;height:22px;' onChange='goAfficheVille();'>";
$ld7 .= "<OPTION VALUE=0 selected>Ville</OPTION>";
$ld7 .= "</SELECT>";
$ld7 .="
";

mysql_close();
?>

<script>

function motCleReset()
{
    if (document.getElementById("mot").value=="Mots clé, référence, ...") 
    {
        document.getElementById("mot").value="";
    }
}

</script>

<form method="post" action="traitement.php" name="recherche">

,

<?php
/* Liste déroulante du type de recherche */
print $ld1;
?>,

<?php
/* Liste déroulante du type de bien */
print $ld3;
?>,

<?php
/* Liste déroulante du budget */
print $ld4;
?>,

----

<?php
/* Liste déroulante du pays */
print $ld5;
?>,

<?php
/* Liste déroulante de la région */
print $ld6;
?>,

<?php
/* Liste déroulante du département */
print $ld2;
?>,

<?php
/* Liste déroulante de la ville */
print $ld7;
?>

</form>

</html>

 


Merci de votre aide

3 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
7 mai 2009 à 16:27
Salut,

Comme le dit l'erreur l'accès à la base de données n'est pas possible car le login n'est pas bon.
En fait c'est parce que tu fais un mysql_close dans ton fichier recherche. Il n'y a donc plus de ressource de connexion pour la suite de ton script traitementregion.php.
Par ailleurs il ne faut pas que tu ai des balises <html><head> etc ... dans recherche.php

Au passage, lorsque tu as une erreur qui te donne un numéro de ligne ça serait une bonne idée que tu surlignes celle ci pour que l'on puisse l'identifier rapidement et sans erreur. Même chose pour la démarcation des codes de tes 2 fichiers.

Cordialement,

Kohntark -
3
cs_ines57 Messages postés 15 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 9 juin 2009
7 mai 2009 à 16:47
Merci beaucoup, j'ai pas pensé une seconde à ce mysql_close, la preuve, je l'avais oublié dans traitementregion.php

Ok je prends note je ferais mieux la prochaine fois :)
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
7 mai 2009 à 16:51
bon courage

Kohntark -
0
Rejoignez-nous