Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    inviare variabile php a due form diversi

    Buongiorno a Tutti, sono nuovo di questo forum e mi sto accostando alla programmazione in PHP.
    Il problema che mi sto ponendo � il seguente: in una pagina web sto inserendo un form che, attraverso il metodo POST, passa il valore di una variabile

    <form method="post" action="myfile.php">
    <?php
    echo '<select name="myvalue">';
    $q1 = mysql_query("SELECT val1, val2 FROM table");
    while($temp = mysql_fetch_row($q1))
    {echo "<option value=\"{$temp[0]}\">{$temp[1]}</option>";}

    echo '</select>';
    ?>
    <input type="submit" value="Cerca">
    </form>

    Il codice manda 'myvalue' (che viene letto interrogando un db) al file 'myfile.php' che lo riceve attraverso il metodo 'post' ($val=$_POST["myvalue"]). E tutto funziona regolarmente: viene interrogato il database secondo dei criteri definiti in 'myfile.php'.
    Il problema � il seguente: vorrei che, accanto al pulsante "Cerca" (che produce i risultati di un'interrogazione del db) fosse presente un altro pulsante che produca un file in Excel utilizzando il valore di 'myvalue' preso dalla query precedente.
    Devo creare un nuovo metodo <form method="post" action="myfileEXCEL.php"> reinserendo la query precedente o c'� un metodo che consente di abbreviare il codice?
    Grazie per l'aiuto

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Con il solo HTML, un form può avere un solo action, quindi il pulsante submit invierà i dati solo allo script lì definito.
    Se vuoi mantenere un solo form ed aggiungere un pulsante che esegua un'altra operazione con i dati che vi si inseriscono, devi gestire il tutto tramite Javascript.

    A spanne: premendo il pulsante chiami una funzione JS che recupera il valore selezionato nel form ed invia una chiamata AJAX allo script che dovrà generare il file excel.
    Il dato con AJAX lo invierai col metodo post o get (a te la scelta) e lo script PHP si comporterà esattamente come se ricevesse i dati da un form.

    Per informazioni sull'invio di dati tramite AJAX chiedi nella sezione Javascript, oppure cerca su internet degli esempi, ne troverai un'infinità.
    Ultima modifica di Alhazred; 19-04-2017 a 19:14

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Con il solo HTML, un form può avere un solo action, quindi il pulsante submit invierà i dati solo allo script lì definito.
    Se vuoi mantenere un solo form ed aggiungere un pulsante che esegua un'altra operazione con i dati che vi si inseriscono, devi gestire il tutto tramite Javascript.

    A spanne: premento il pulsante chiami una funzione JS che recupera il valore selezionato nel form ed invia una chiamata AJAX allo script che dovrà generare il file excel.
    Il dato con AJAX lo invierai col metodo post o get (a te la scelta) e lo script PHP si comporterà esattamente come se ricevesse i dati da un form.

    Per informazioni sull'invio di dati tramite AJAX chiedi nella sezione Javascript, oppure cerca su internet degli esempi, ne troverai un'infinità.
    Ti ringrazio molto, sei stato chiaro ed esauriente. Provvederò con js

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 © 2024 vBulletin Solutions, Inc. All rights reserved.