• User

    Passaggio array input

    Ciao a tutti!
    Sto realizzando un applicazione lato server, mi trovo a dover passare tramite un bottone un array ad un altra pagina, questo è il mio codice che non è funzionante!

    
    $vettore = array();
    $vettore[0] = '$matricola';
    $vettore[1] = '$idstalla';
    ....
    <form method="post" action="visite.php">
    ....
    
    <button type="submit" name="matricola" value='<?php print(serialize($vettore))?>'>Carica</button>
    
    

    e questo nella pagina ricevente:

    $matricola = $vettore[0];
    $idstalla = $vettore[1];
    

    Potete aiutarmi?
    Dove sbaglio?
    Grazie in anticipo!


  • User Attivo

    A mio avviso la soluzione al problema è che non è stata richiamata la funzione unserialize() nella pagina che li riceverà a monte di qualsiasi manipolazione su quell'array.


  • User

    @MenteLibera said:

    A mio avviso la soluzione al problema è che non è stata richiamata la funzione unserialize() nella pagina che li riceverà a monte di qualsiasi manipolazione su quell'array.
    si scusa, in effetti ho sbagliato riportando il codice, quello della pagina ricevente è il seguente:

    $vettore = unserialize(stripslashes($_POST['vettore']));    $matricola = $vettore[0];
        $idstalla = $vettore[1];
    

    quindi l'errore non era dato da quello.
    Grazie per la risposta!


  • User Attivo

    Ho l'impressione che potrebbero esserci un paio di cose che ancora non quadrano:

    • Quando dicevo "la funzione unserialize() nella pagina che li riceverà a monte di qualsiasi manipolazione su quell'array" intendevo che per prima cosa è necessario fare:
      [PHP]$vettore = unserialize($_POST['vettore']);[/PHP]
      poi tutto il resto.
    • Vedo che hai fatto uso della funzione stripslashes(), non mi sembra che sia sintatticamente corretta quell'invocazione. Per approfondimenti rimando alla documentazione: php.net/manual/en/function.stripslashes.php

    Buon lavoro.