IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

undefined function: http_build_query


Sujet :

Langage PHP

  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 : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    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 : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    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 : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    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 Bibliothèques et frameworks
    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 Langage
    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