Visualizzazione dei risultati da 1 a 9 su 9

Discussione: post array

  1. #1

    post array

    ciao.
    non capisco come mandare un array ad un'altra pagina.
    ho provato con post ma mi da un errore di questo tipo:
    Warning: Illegal offset type

    probabilmente l'ho usato in maniera scorretta... nessuno sa illuminarmi please?


  2. #2
    in che senso mandare ad un altra pagina? con un form?

    con un link?

    l'array è dentro il db mysql?

  3. #3
    allora,
    ho queste variabili ipotetiche:

    $a [pippo]
    $a [pluto]
    $a [paperino]

    e voglio mandarle alla pagina "successiva" in modo che siano disponibili anche la. Il problema è che non so quanto è lungo l'array e quindi non le posso specificare singolarmente in un indirizzo.

    vorrei fare una cosa del tipo: $_POST[$a] ma la sintassi non è sicuramente corretta...

  4. #4
    Ciao,

    sono rari i casi in cui sia utile inviare via HTTP un intero array, comunque puoi risolvere la cosa in due modi

    1) con HTML, es.

    <input type="text" name="a[pippo]" id="a[pippo]" />


    <input type="text" name="a[pluto]" id="a[pippo]" />


    <input type="text" name="a[paperino]" id="a[pippo]" />

    I questo modo all'invio del form $_POST conterrà la variabile

    $_POST['a'] che sarà un array che contiene le chiavi pippo, pluto e paperino


    2) Oppure puoi serializzare l'array con la funzione serialize(), inserire il risultato in un campo hidden e successivamente applicare unserialize() a $_POST['nome_campo_hidden']

    http://freephp.html.it/articoli/view_articolo.asp?id=74
    per favore NIENTE PVT TECNICI da sconosciuti

  5. #5
    pagina1.php

    codice:
    $trasf = serialize ($a);
    pagina2.php

    codice:
    $a = unserialize($trasf);
    corretto?
    $a è l'array originale che avevo in pagina1.php?

  6. #6
    Più corretto

    $a = unserialize($_POST['trasf']);
    per favore NIENTE PVT TECNICI da sconosciuti

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    devo passare un array a due dimensioni (tre se tengo conto anche dell'array $_POST) e pensavo di fare a meno delle sessioni, visto che la pagina che lo riceve è la stessa; ho letto con interesse le vostre soluzioni per quello a una dimensione (due se tengo conto anche dell'array $_POST) e anche a me funziona correttamente; purtroppo l'array a due dimensioni non riesco a passarlo, visto che quando eseguo lo script mi visualizza una tabella vuota...
    so che c'è anche la possibilità di utilizzare le funzioni serialize e unserialize, ma prima volevo capire se era possibile risolvere il mio problema diversamente. E' impossibile passare un array a due dimensioni oppure ho fatto qualche errore nel codice? grazie

    Codice PHP:
    # ins_squadre.php / inserimento squadre
    # ns è settato ed è il numero delle squadre
    echo "<form action=\"ins_squadre.php\" method=\"post\">";
      for (
    $i=1$i<=$ns$i++)
      { 
        echo 
    "<input type=\"text\" name=squadra[$i]['nome'] id=squadra[$i]['nome'] />nominativo ";
        echo 
    "<input type=\"text\" name=squadra[$i]['citta'] id=squadra[$i]['citta'] />località
    "
    ;
      }
      echo 
    "<input type=\"hidden\" name=\"nsquadre\" value=$ns />";
      echo 
    "<input type=\"submit\" name=\"immessi\" value=\"Conferma\" />";
    echo 
    "</form>"
    Codice PHP:
    # ins_squadre.php / visualizzazione squadre inserite
    echo "<table border>";
    for (
    $i=1$i<=$ns$i++)
    {
      
    $s=$_POST['squadra'];
      
    $sq=$s[$i];
      echo 
    "<tr><td>".$sq['nome']."</td><td>".$sq['citta']."</td></tr>";
    }
    echo 
    "</table>"

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    forse però con serialize e unserialize non posso fare proprio niente, visto che posso farlo solo quando ho acquisito tutti i valori dell'array, momento che coincide purtroppo anche con la pressione del submit e il richiamo della pagina, e a quel punto non serve più

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    come posso recuperare un array bidimensionale con la variabile superglobale $_POST ?

    ah manca una riga dal listato 2 (subito dopo il commento) che non avevo trascritto, non vorrei trarvi in inganno, la variabile $ns è settata con il valore giusto (ho già verificato, quindi il ciclo lo fa, solo stampa delle variabili vuote...)

    Codice PHP:
    $ns=intval($_POST['nsquadre']); 
    forse dovrei usare le sessioni?

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.