Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Tana
    Registrato dal
    Feb 2004
    residenza
    Reggio Calabria
    Messaggi
    137

    Accettare una variabile sia get che post

    Posta una pagina che deve ricevere delle variabili che possono arrivare sia tramite link (get) che tramite form (post)... Ho pensato a questo codice che in effetti funziona però mi chiedevo se ci fosse una soluzione meno triviale:

    Codice PHP:
    if (isset ($_GET['pag'])) { $pag=$_POST['pag']; } else { $pag=$_GET['pag']; } 

  2. #2
    Puoi fare così, per esempio
    Codice PHP:

    function parse_incoming_recursively( &$data$input=array())
        {
            if( 
    count$data ) ) {
                foreach( 
    $data as $k => $v )    {
                    if ( 
    is_array$v ) ) {
                        
    $input$k ] = parse_incoming_recursively$data$k ], array());
                    } else {
                        
    $input$k ] = $v;
                    }
                }
            }
            return 
    $input;
        }

    # GET first
    $input parse_incoming_recursively$_GET, array() );

    # Then overwrite with POST
    $input parse_incoming_recursively$_POST$input ); 
    In questo modo se arriva qualcosa via GET lo recuperi ed eventualmente lo sovrascrivi se arriva via POST.
    Ovviamente poi dovrai riferirti alle tue variabili come
    Codice PHP:
    $pagina $input["pag"]; 

  3. #3
    Utente di HTML.it L'avatar di Tana
    Registrato dal
    Feb 2004
    residenza
    Reggio Calabria
    Messaggi
    137
    In effetti cercavo qualcosa che snellisse più che accrescere... Però un bel contributo, grazie...

  4. #4
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    $_REQUEST

  5. #5
    Occhio che $_REQUEST prende i valori anche da $_COOKIE.

    Secondo me comunque dovresti decidere da dove ricevere i dati, o GET o POST, non tutti e due.

  6. #6
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Originariamente inviato da k.b
    Occhio che $_REQUEST prende i valori anche da $_COOKIE.

    Secondo me comunque dovresti decidere da dove ricevere i dati, o GET o POST, non tutti e due.
    E anche da $_ENV e $_SERVER

    concordo comunque sul fatto che bisogna decidersi. O meglio: request a volte torna utile, per cose potenzialmente senza problemi, tipo paginazioni, parametri vari.
    Ma ovviamente non va bene per un login, form contatti, etc.

  7. #7
    Utente di HTML.it L'avatar di Tana
    Registrato dal
    Feb 2004
    residenza
    Reggio Calabria
    Messaggi
    137
    Ok, grazie delle delucidazioni...
    Il fatto è che "pag" indica la pagina a cui si deve accedere in generale nel sito... Quindi all'index può arrivare sia come get da un link, sia eventualmente come pagina di cortesia da indicare in un form...

  8. #8
    Originariamente inviato da bubi1
    E anche da $_ENV e $_SERVER
    No, $_REQUEST contiene $_GET, $_POST e $_COOKIE.

  9. #9
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Originariamente inviato da k.b
    No, $_REQUEST contiene $_GET, $_POST e $_COOKIE.
    vero, scusate, mi sono confuso con $GLOBALS

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