trasferire dati selezionati da una select box

pierantonio

Nuovo Utente
5 Apr 2012
7
0
0
Padova
Salve a tutti,

e possibile copiare i dati richiamati da un database tramite una select box, in una casella di testo ma su un'altra pagina? si puo fare in php o devo usare javascript?.

qualcuno ha uno script del genere cosi provo a studiarlo e capirci qualcosa?

grazie
 
Potresti passarli in sessione. Nella pagina di invio del form (quella di conferma, insomma):
PHP:
<?php
session_start();

if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $name    = isset($_POST['name'])    ? trim($_POST['name'])    : '';
    $surname = isset($_POST['surname']) ? trim($_POST['surname']) : '';
    // ...

    $_SESSION['data'] = array(
        'name'    => $name,
        'surname' => $surname,
        // ...
    );

    echo <<<EOF
<h1>Riepilogo dati</h1>

<p>Nome: {$name}</p>
<p>Cognome: {$surname}</p>

<form action="final.php" method="post">
    <input type="submit" value="Conferma informazioni" />
</form>
EOF;
} else {
    echo <<<EOF
<form action="{$_SERVER['PHP_SELF']}" method="post">
    <p>
        <label>Nome:</label>
        <input type="text" name="name" />
    </p>

    <p>
        <label>Cognome:</label>
        <input type="text" name="surname" />
    </p>

    <input type="submit" value="Invia dati" />
</form>
EOF;
}
?>
E nella pagina di conferma:
PHP:
<?php
session_start();

// l'utente non arriva dalla pagina di conferma
if (!isset($_SESSION['data'])) {
    header('Location: form.php');
    exit();
}

// qui fai quello che devi fare con i dati (es. inserimento nel database)
// ...
?>

Se ti stai chiedendo perché ho usato le sessioni invece di campi nascosti o in sola lettura, è perché questi ultimi possono comunque essere manipolati tramite Javascript o plugin per il browser (es. Firebug).

Inoltre potevi fare tutto nella stessa pagina PHP, usando due bottoni di invio con nomi diversi, ma il codice poi diventa leggermente più complicato. Se ci vuoi provare fammi sapere e ti mostro come.
 

Discussioni simili