Form html con più pagine di elaborazione php

di Anonimizzato9226 il
1 risposte
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

  • 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