Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Passare variabili con Get

    Ciao a tutti, ho un problema legato al passaggio dei valori attraverso Get.
    I valori passati sono Marca e Modello nella formula:
    http://www.lampada-videoproiettore.i...modello=XR-10S
    Il problema si crea quanto passo valori che contengono caratteri speciali come il marchio A+K

    Come potrei risolvere? Grazie!

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Codice PHP:
    [url="index.php?var=<?= urlencode('A+K');?>"]link[/url]

  3. #3

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    che errore ti da?

    l'output dell'esempio dovrebbe essere questo

    index.php?var=A%2BK

    tu invece cosa ottieni?

  5. #5
    si esatto, ottengo proprio quello...
    attraverso la tua funzione non dovrei ottenere questo?

    index.php?var=A+K

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    %2B è il codice che in una query string dovrebbe sostituire il + .... quando tu scrivi nella barra degli indirizzi

    index.php?var=A%2BK

    nella pagina index.php la variabile $_GET['var'] avrà il valore 'A+K'.

    se non sbalio è questo che volevi ottenere? o no?


  7. #7
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,647
    Originariamente inviato da ratlook
    si esatto, ottengo proprio quello...
    attraverso la tua funzione non dovrei ottenere questo?

    index.php?var=A+K
    Premesso che l'apertura di php con <? è sconsigliato in quanto alcuni server non sono supportati gli short-tag, ma la notazione completa, ovvero <?php,


    Alcuni caratteri non sono utilizzabili nella barra degli indirizzi, per ovvie reagioni.
    Devi usare l'accoppiata urlencode per rendere la stringa utilizzabile nella barra degli indirizzi, e urldecode nella pagina di ricezione della variabile.

    Quindi nella pagina del link avrai:
    Codice PHP:
    [url="index.php?var=<?php echo urlencode('A+K'); ?>"]link[/url]
    Nella pagina di ricezione (index.php nell'esempio) avrai:
    [php]
    Quindi nella pagina del link avrai:
    Codice PHP:
    <?php echo urldecode($_GET['var']); ?>

  8. #8
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Scusa Ranma2, l'uso di urldecode non è indispensabile in questo caso, se tu provi a fare questo:

    Codice PHP:
    <?php
    echo $_GET['var'];
    ?>
    e porvi a richiamare la pagina mettendo come url
    index.php?var=A%2BK

    noterai che stampa correttamente A+K

    e oltre a questo è fortemente sconsigliato usare urldecode con le variabili $_GET, proprio perchè queste sono già decodificate, quindi il risultato potrebbe essere non corretto, proprio nel nostro esempio infatti darebbe come output 'A K'

    ..... per gli short-tag sorry, hai ragione, è che sono abituato a lavorare con i miei server e quindi li uso sempre.


  9. #9
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,647
    Vero, fatto confusione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.