Form html con più pagine di elaborazione php

di il
1 risposte

Form html con più pagine di elaborazione php

Buongiorno,
ho creato un form html che, tramite php mi genera dei file (html, .doc, .odt).
Di seguito il codice per il modulo :
<form method="post" action="elabora.php">Modulo di prova<br><textarea name="roberto" rows="7" cols="70"></textarea><br><input type="submit" value="Invia"> <input type="reset" value="cancella"></form>
ho tre pagine elabora.php :
1] inserisce il contenuto della textarea in una pagina html
2] inserisce il contenuto della textarea in un documento di word
3] inserisce il contenuto della textarea in un file odt

La pagina di elaborazione è la seguente (metto la prima che è per la elaborazione di un file html) :
<?php
$write_file = fopen("roberto.html","w+");
$roberto=$_POST['roberto'];
fwrite($write_file,$roberto);
fclose($write_file);
?>
Tutto funziona correttamente ma voglio che il form html abbia 3 pulsanti submit, ad ognuno dei quali corrisponderà una pagina di elaborazione in modo che sia il soggetto che compila il form a decidere il tipo di file da creare.
Ad esempio :
al submit 1 sarà legata la pagina di elaborazione che genera file html
al submit 2 sarà legata la pagina di elaborazione che genera file doc
al submit 3 sarà legata la pagina di elaborazione che genera file odt
Come devo modificare lo script?
Ringrazio in anticipo,
Roberto

1 Risposte

  • Re: Form html con più pagine di elaborazione php

    Ciao,
    io ho avuto un problema simile e ho risolto con una soluzione definita "sporca" che sarebbe quella di creare un form unico con 3 pulsanti submit e come action una pagina di controllo.
    I 3 pulsanti avranno lo stesso name (es. name="btnsub") mentre, ovviamente come value metti 3 valori diversi (es. value="uno", value="due", value="tre").
    Nella pagina di controllo scriverai una cosa tipo:

    if($_POST['btnsub'] == "uno") {
    header("location:pagina1.php");
    } else if($_POST['btnsub'] == "due") {
    header("location:pagina2.php");
    } else if($_POST['btnsub'] == "tre") {
    header("location:pagina3.php");
    }
Devi accedere o registrarti per scrivere nel forum
1 risposte