Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: array in un get

  1. #1

    array in un get

    salve,
    avrei questo quesito da porvi:

    è possibile inviare un array tramite metodo get? (naturalmente da php nn da html)

    cioè esiste una cosa tipo page.php?var=ARRAY e ARRAY e un array che gli passo io?

    Grazie mille.

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  2. #2

    Re: array in un get

    Originariamente inviato da Mix
    salve,
    avrei questo quesito da porvi:

    è possibile inviare un array tramite metodo get? (naturalmente da php nn da html)

    cioè esiste una cosa tipo page.php?var=ARRAY e ARRAY e un array che gli passo io?

    Grazie mille.
    beh per la get nn c'è bisogno di passarlo da indirizzo
    kmq lo hai gia provato a passare??

  3. #3
    si, ho provato, vi passo i due codici di esempio così inquadrate il problema.

    Codice PHP:
    <?php
    echo $_GET['ar']['test'];
    ?>
    Codice PHP:
    <?php
    $ar 
    = array(
    test => 'lol',
    baw  => 'mwe'
    );
    $htm file_get_contents'http://www.freedigiland.net/mf/in.php?ar='.$ar );
    echo 
    $htm."_".$ar;
    ?>
    quello che ottengo chiamando il secondo è una A.

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  4. #4
    Originariamente inviato da Mix
    si, ho provato, vi passo i due codici di esempio così inquadrate il problema.

    Codice PHP:
    <?php
    echo $_GET['ar']['test'];
    ?>
    Codice PHP:
    <?php
    $ar 
    = array(
    test => 'lol',
    baw  => 'mwe'
    );
    $htm file_get_contents'http://www.freedigiland.net/mf/in.php?ar='.$ar );
    echo 
    $htm."_".$ar;
    ?>
    quello che ottengo chiamando il secondo è una A.
    Stai facendo due errori in uno:

    1) non puoi fare

    echo $questoarray;

    Perchè ti stamperà solo una scritta che dice "Array"; se vuoi stampare ogni elemento di un array devi dire:

    foreach($questoarray as $elemento):
    echo $elemento;
    endforeach;

    2) se vuoi passare un array sulla get, devi sia serializzarlo sia codificarlo per la url:

    pippo.php?array=<?=urlencode(serialize($questoarra y));?>

    e poi per riceverlo:

    $questoarray=unserialize(urldecode($_GET["array"]));


    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    Originariamente inviato da Shores
    Stai facendo due errori in uno:

    1) non puoi fare

    echo $questoarray;

    Perchè ti stamperà solo una scritta che dice "Array"; se vuoi stampare ogni elemento di un array devi dire:

    foreach($questoarray as $elemento):
    echo $elemento;
    endforeach;

    2) se vuoi passare un array sulla get, devi sia serializzarlo sia codificarlo per la url:

    pippo.php?array=<?=urlencode(serialize($questoarra y));?>

    e poi per riceverlo:

    $questoarray=unserialize(urldecode($_GET["array"]));


    Ciao!
    beh ti ringrazio pure io visto che nn lo sapevo
    ciao ciao

  6. #6
    salve raga, io ho provato, il passaggio di codifica avviene perfettamente e anche l'invio, ma ho dei problemi nella ricezione, nel senso che una volta che l'ho deserializzato nn mi rimane niente........
    mi sapete dire il xè?

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  7. #7
    Posta la url della pagina e il codice con cui leggi l'array...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    in.php
    Codice PHP:
    <?php
    print unserialize($_GET['ar']);
    $arr unserialize(urldecode($_GET['ar']));
    foreach(
    $arr as $elemento):
    echo 
    $elemento;
    endforeach;
    ?>
    out.php
    Codice PHP:
    <?php
    $ar 
    = array(
    test => 'lol',
    baw  => 'mwe'
    );
    $htm file_get_contents'http://www.freedigiland.net/mf/in.php?ar='.urlencode(serialize($ar)));
    echo 
    $htm."_".urlencode(serialize($ar));
    ?>
    out invia un array a in, se volete provarli questo è l'indirizzo out.php

    dovrebbe venire stampato
    Arraylolmwe__a%3A2%3A%7Bs%3A4%3A%22test%22%3Bs%3A3 %3A%22lol%22%3Bs%3A3%3A%22baw%22%3Bs%3A3%3A%22mwe% 22%3B%7D
    e invece ho
    Warning: Invalid argument supplied for foreach() in /var/www/diwe0068/mf/in.php on line 4
    _a%3A2%3A%7Bs%3A4%3A%22test%22%3Bs%3A3%3A%22lol%22 %3Bs%3A3%3A%22baw%22%3Bs%3A3%3A%22mwe%22%3B%7D

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  9. #9
    in.php
    Codice PHP:
    <?php
    $arr 
    unserialize(urldecode($_GET['ar']));
    foreach(
    $arr as $elemento):
    echo 
    $elemento."
    "
    ;
    endforeach;
    ?>
    out.php
    Codice PHP:
    <?php
    $ar 
    = array(
    test => 'lol',
    baw  => 'mwe'
    );
    echo 
    "<a href=\"in.php?ar=".urlencode(serialize($ar))."\">Clicca qui<A/>";
    ?>
    Così dovresti ottenere quello che volevi, ma secondo me non hai le idee molto chiare: la $_GET contiene i parametri che passi sulla url con cui carichi la pagina in.php, per cui se non crei un link che punti a in.php con dentro dei parametri, nulla viene passato...

    In ogni caso, tieni presente di ricordare che non è una buona idea passare sulla GET parametri sofisticati o cose che potrebbero essere sfruttate per hackerare il tuo sito: sulla get andrebbero passati solo codici, numerici o non, che vengano SEMPRE prima di tutto verificati per appartenere ad una precisa lista, e rifiutati se non vi appartengono.

    In più, ho l'impressione che tu non abbia capito che usando la file_get_contents tu vai a leggere il contenuto di un file come se fosse una semplice stringa di testo, e NESSUN CODICE PHP DEL FILE CHE VAI A LEGGERE VIENE MAI ESEGUITO. Se vuoi che il codice dell'altro file venga eseguito, devi usare la include, che esegue il codice dell'altro file per poi riprendere con la riga successiva del file in cui è inserita la include stessa; in questo caso, però, tutte le variabili che avevi definito nelle righe prima della include sono AUTOMATICAMENTE disponibili nel file incluso, senza bisogno di fare nessun passaggio di dati di nessun genere.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  10. #10
    il problema è il seguente, io devo passare ad una pagina di un mio sito dei dai post e coockie presenti dul mio secondo sito, in partica devo creare una falsa pagina che ti fà sembrare che la pagina index.php sia sul sito 2 e nn sull'1. Per questo tentavo di inviare i dati tramite get xè è l'unico modo con cui riesco a passarli. Se hai un altra soluzione? io ti avviso che èuna cosa a livello php, l'html nn centra quindi niente link.....

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

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.