1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2007
    Messages : 47
    Points : 25
    Points
    25

    Par défaut undefined function: http_build_query

    bonjour a tous,

    je suis en train de faire mon site et qqun d'ici d'ailleur m'avait gentiment aidé.
    mais j'ai recopié ce qu'il m'a donné sans vraiment le comprendre, tout marchait bien sur mon ordi en test et quand j'ai mis ca sur OVH ils disent :
    Fatal error: Call to undefined function: http_build_query() in /home.10.21/professil/www/resultat.php on line 47

    qqun peut il m'aider???

    voila le code : la ligne 47 est la ligne marquée ligne posant probleme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    <?php
    define('NB_PAR_PAGE', 20);
     
    $departement = $_REQUEST['departement']; /* Ugly hack */
    $poste = $_REQUEST['choixposte']; /* Ugly hack */
    $db = mysql_connect('serveur', 'professilbase', '');
    mysql_select_db('professilbase', $db);
     
    $page = isset($_GET['page']) ? intval($_GET['page']) : 1;
    /* Ugly hack */
    unset($_REQUEST['page']);
    $request = http_build_query($_REQUEST);           // LIGNE POSANT PROBLEME
    $sql_d = sprintf("
        SELECT SQL_CALC_FOUND_ROWS * FROM annonces_entreprise
            WHERE annonce_dept ='%s' AND annonce_poste ='%s'
            ORDER BY id_annonce DESC
            LIMIT %d, %d",
        mysql_real_escape_string($departement), mysql_real_escape_string($poste), ($page - 1) * NB_PAR_PAGE, NB_PAR_PAGE);
     
    $req_d = mysql_query($sql_d) or die('Erreur SQL !<br>' . $sql_d . '<br>' . mysql_error());
     
    $req_n = mysql_query('SELECT FOUND_ROWS()');
    $res_n = mysql_fetch_row($req_n);
     
    if ($res_n[0] > 0)
    {
        $derniere_page = ceil($res_n[0] / NB_PAR_PAGE);
     
        echo '<table>'."\n";
        echo '<caption> Département : ' . $departement . '</caption>';
        echo '<tr>';
     
        echo '<th><b><center>Entreprise</center></b></th>';
        echo '<th><b><center>Poste</center></b></th>';
        echo '<th><b><center>Ville</center></b></th>';
        echo '<th><b><center>Détail</center></b></th>';
        echo '</tr>' . "\n";
        echo '<tr><td>';
     
        while($res_d = mysql_fetch_assoc($req_d)) 
        {
            echo '<tr>';
            echo '<td><b>' . $res_d['nom_entreprise'] . '</b></td>';
            echo '<td><b>' . $res_d['annonce_poste'] . '</b></td>';
            echo '<td><b>' . $res_d['ville_entreprise'] . '</b></td>'; 
            echo '<td><b>' . $res_d['lien_annonce'] . '</b></td>'; 
            echo '</tr><br>' . "\n";
        }
        echo '</table>' . "\n";
        echo '</td></tr>';
        echo '</table>';
     
        if ($page > 1) {
            printf('<a href="%s?page=%d&amp;%s">Page précédente</a>', basename(__FILE__), $page - 1, $request);
        }
        for ($i = 1; $i <= $derniere_page; $i++) {
            if ($i == $page) {
                echo '<b>' . $i . '</b>';
            } else {
                printf('<a href="%s?page=%d&amp;%s">%d</a>', basename(__FILE__), $i, $request, $i);
            }
        }
        if ($page < $derniere_page) {
            printf('<a href="%s?page=%d&amp;%s">Page suivante</a>', basename(__FILE__), $page + 1, $request);
        }
     
    } else {
        echo "Aucun résultat pour cette recherche";
    }
    mysql_close(); 
    ?>

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 138
    Points : 1 502
    Points
    1 502

    Par défaut

    ta fonction http_build_query ne semble pas etre déclaré dans ton site. IL faut que tu trouves le code de cette fonction et que tu l'intégres dans ton code.

    En gros , php cherche une fonction qui n'existe pas / n'est pas trouvé sur ta page.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2007
    Messages : 47
    Points : 25
    Points
    25

    Par défaut

    je comprends pas pourquoi ca marchait bien sur mon ordi et pas en ligne?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 138
    Points : 1 502
    Points
    1 502

    Par défaut

    http_build_query fait partie de PECL, donc peut etre que PECL n'est pas installé chez ton hébergeur (cette fonction est généralement disponible sur php5 et + il me semble).

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : octobre 2002
    Messages : 1 138
    Points : 1 502
    Points
    1 502

    Par défaut

    Ceci dit, tu peux facilement faire un équivalent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    if (!function_exists('http_build_query')) {
    function http_build_query($data, $prefix='', $sep='', $key='') {
        $ret = array();
        foreach ((array)$data as $k => $v) {
            if (is_int($k) && $prefix != null) $k = urlencode($prefix . $k);
            if (!empty($key)) $k = $key.'['.urlencode($k).']';
     
            if (is_array($v) || is_object($v))
                array_push($ret, http_build_query($v, '', $sep, $k));
            else    array_push($ret, $k.'='.urlencode($v));
        }
     
        if (empty($sep)) $sep = ini_get('arg_separator.output');
        return implode($sep, $ret);
    }}
    ?>
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function http_build_query($a,$b='',$c=0){
    if (!is_array($a)) return false;
    foreach ((array)$a as $k=>$v){
    if ($c) $k=$b."[".$k."]"; elseif (is_int($k)) $k=$b.$k;
    if (is_array($v)||is_object($v)) {$r[]=http_build_query($v,$k,1);continue;}
    $r[]=$k."=".urlencode($v);
    }
    return implode("&",$r);
    }

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2007
    Messages : 47
    Points : 25
    Points
    25

    Par défaut

    GGGGGGGGGGGenial ca marche pourtant j'ai php5 mais tu m'enleve une bonne épine du pied.

    Je n'ai pas tout compris dans ton code mais je promet de m'y pencher sérieusement...

    un gros gros merci a toi,,, encore une fois génial ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT] Call to undefined function xslt_create
    Par rudy207 dans le forum XSL & XSLT
    Réponses: 4
    Dernier message: 30/04/2009, 17h27
  2. [SGBD] Call to undefined function mysql_connect()
    Par monphp dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 29/01/2006, 21h33
  3. Réponses: 11
    Dernier message: 08/12/2005, 16h54
  4. Call to undefined function mysql_pconnect()
    Par shirya dans le forum Installation
    Réponses: 2
    Dernier message: 03/11/2005, 21h55
  5. undefined function: file_get_contents()
    Par camyo dans le forum Fichiers
    Réponses: 2
    Dernier message: 30/11/2004, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo