Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150

    Passaggio di url per più parametri

    Premetto che avevo presentato il problema che sto per esporre anche in asp, ma non so più come risolverlo.

    Ho scritto una pagina per contare i click che però qui non riporto ma la sintetizzo per arrivare subito al problema. Supponiamo che il mio file si chiami contaclick.php e il codice sia il seguente:

    Codice PHP:
    <?
    $url 
    $_GET['url'];

    Header("Location: $url");
    ?>
    Se io lancio il file in questione nel seguente modo: http://www.miosito.ext/contaclick.ph.../www.pippo.ext , il tutto funziona regolarmente e lo script reindirizza a http://www.pippo.ext

    Ma se l' url di destinazione comprende anche parametri, ad esempio http://www.pippo.it/?dir=arte&sez=cultura e rimetto in atto il mio script con

    http://www.miosito.ext/contaclick.ph...te&sez=cultura

    l' url di destinazione non è corretto, ossia si "mangia" un parametro e reindirizza a http://www.pippo.it/?dir=arte ( e tagliando fuori &sez=cultura )

    Come fosso fare affichè ciò non accada?

    Io devo linkare i link del mio sito da monitore nel seguente modo:

    http://www.miosito.ext/contaclick.ph...ame=nomescelto

    in cui da esso devo recuparare, attraverso lo script:

    $_GET['url'] ( in questo caso vale http://www.sitoesterno.com/?par1=val1&par2=val2 )
    $_GET['name] ( in questo caso vale nomescelto )


    e dopo tutte le varie elaborazioni reindirizzare a B]http://www.sitoesterno.com/?par1=val1&par2=val2 [/B]

    Preciso che non so a priori ( essendo link esterni al mio sito ) se l' url di destinazione conterrà anche parametri e se li conterrà, non so come si chiameranno e quanti saranno

    C' è soluzione?

    In sostanza si tratta di separare i parametri che appartengono all' url da quelli che servono allo script ma io non ho idea su come fare....

  2. #2
    Potresi fare una cosa del genere...

    Codice PHP:
    <?php
    $url 
    substr($_SERVER['PHP_SELF'], strpos($_SERVER['PHP_SELF'], "url"));

    header("Location: " $url);
    ?>
    Forse non è proprio il massimo ma dovrebbe andare...


  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Così mi restituisce il nome del file ( contaclick.php )..... :master:

  4. #4
    Nel file contaclick.php fai un print_r dell'array $_SERVER e vedi cosa ti serve (QUERY_STRING ad esempio)

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Originariamente inviato da cubalibre810
    Nel file contaclick.php fai un print_r dell'array $_SERVER e vedi cosa ti serve (QUERY_STRING ad esempio)
    Non so cosa significa quello che mi hai scritto...
    Ma un foreach può essere utilie? Io però non so come fare

  6. #6
    contaclick.php
    Codice PHP:
    <?php
    print "<pre>";
    print_r($_SERVER);
    ?>
    poi richiami il file con i parametri che dicevi prima e vedi se c'è qualche elemento che ti torna utile, presumo QUERY_STRING, che in una pagina recuperi con $_SERVER['QUERY_STRING']

  7. #7
    Originariamente inviato da greystone
    Così mi restituisce il nome del file ( contaclick.php )..... :master:
    Si può darsi, non mi ricordavo se PHP_SELF restituiva anche le varibili passate ia URL oltre al nome della pagina...

    Codice PHP:
    <?php

    $url 
    $_SERVER['QUERY_STRING'];


    header("Location: " $url);
    ?>
    A questo punto dovrebbe basta anche solo questo... $_SERVER['QUERY_STRING'] recupera la parte dell'URL dopo il punto interrogativo...


  8. #8
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Grazie per l'aiuto.

    Per cubalibre810 :

    - Ho lanciato:

    Codice PHP:
    <?php 
    print "<pre>"
    print_r($_SERVER); 
    ?>
    e facendo appunto http://www.miodominio.com/contaclick...val2&name=test

    tra i vari risultati mi dà:

    Codice PHP:
    [QUERY_STRING] => url=http://www.sitoext.ext/?par1=val1&par2=val2&name=test 
    e quindi mi fornisce l' intera stringa dopo contaclick.php? ... Però così ho solo una stringa. Da questa stringa come faccio a recuperare i valori dei parametri url e name su sui deve lavorarci il mio script ?

    E se faccio come mi ha indicato TheMastion :

    Codice PHP:
    <?php 
    $url 
    $_SERVER['QUERY_STRING'];

    header("Location: " $url);
    ?>
    lo script non fa altro che reindirizzarmi alla pagina

    Codice PHP:
    http://www.miodominio.com/url=http://www.sitoext.ext/?par1=val1&par2=val2&name=test 
    ovviamente pagina inesistente....

  9. #9
    Originariamente inviato da greystone
    e quindi mi fornisce l' intera stringa dopo contaclick.php? ... Però così ho solo una stringa. Da questa stringa come faccio a recuperare i valori dei parametri url e name su sui deve lavorarci il mio script ?
    Espressioni regolari ad esempio, oppure fai un explode(), vedi un pò te

  10. #10
    Appunto, praticamente quello che ti ho detto io era l'applicazione di quello che ha detto cubalibre... Quindi come ti ho già detto QUERY_STRING restituisce la parte dell'URL dopo il punto interrogativo... A questo punto fai così e a sto punto dovrebbe andare...

    Codice PHP:
    <?php
    $url 
    substr($_SERVER['QUERY_STRING'], 4);

    header ("Location: " $url);
    ?>
    Praticamente togli da tutta la parte dopo il punto interrogativo i primi 4 caratteri e cioè url=...


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.