Visualizzazione risultati 1 fino 9 di 9

Discussione: Form con 2 action... possibile?

  1. #1
    Guest

    Predefinito Form con 2 action... possibile?

    Ragazzi ho un form che ha un action.. eccolo qui:

    Codice PHP:
    <form action="scrivi.php">

    <
    table border="0">

    <
    tr>
    <
    td> <font color="white"> Nome: </font> </td>
    <
    td> <input type="text" size="36" name="nome" maxlength="30" /> </td>
    </
    tr>

    <
    tr>
    <
    td> <font color="white"> Cognome: </font> </td>
    <
    td> <input type="text" size="36" name="cognome" maxlength="30" /> </td>
    </
    tr>


    <
    td> <input type="submit" value="Invia Mail" /> <input type="reset" value="Cancella" />
    </
    td>
    </
    tr>
    </
    table></form>
    A questo form volevo aggiungere, sempre se possibile, un'altro action simile a

    Codice:
    <form action="scrivi.php">
    con action sulla pagina ciao.php, come questo:

    Codice:
    <form action="ciao.php">
    ma tutte sullo stesso form!

    Inoltre approfitto per chiedervi un'altra cosa:
    In ciao.php volevo mettere una "funzione PHP" che permetta di aggiungere a una pagina, creata automaticamente o già esistente, determinati dati scritti nel form precedente. In parole povere:

    Oltre a seguire l'action su scrivi.php il form segue anche un nuovo action chiamato ciao.php che permette di scrivere in una pagina, il contenuto di un form.
    Ma che nella seconda volta che si compila il form, non si crei una nuova pagina, ma continui a scrivere sulla stessa precedente.

    Eccovi cosa pensavo ma che, molto probabilmente, è sbagliato.

    Il file ciao.php:
    Codice PHP:
    <?php
    $nome
    = @$_GET['nome'];
    $cognome = @$_GET['cognome'];
    if (
    $nome != '' AND $cognome !='') {
    $nomefile = 'Richieste;
    $fp = fopen($nomefile, '
    a+') or die('Errore');
    fwrite($fp, '
    Nome: ' . $nome . '<br> Cognome: ' . $cognome . '<br>FINE') or die('Errore nella scrittura del file');
    }


    Grazie di ogni eventuale aiuto!
    Ultima modifica di lasvegasmusic : 02-10-2008 alle ore 17.45.31

  2. #2
    Guest

    Predefinito

    Potresti mettere tutto dentro ad un file php a cui punterà il form (l'action) e creare due submit con nome diverso.
    Dentro al file php intercetterai quale dei due submit è stato premuto e agirai di conseguenza.


    Ciao!

  3. #3
    Guest

    Predefinito

    Potresti mettere tutto dentro ad un file php a cui punterà il form (l'action) e creare due submit con nome diverso.
    Dentro al file php intercetterai quale dei due submit è stato premuto e agirai di conseguenza.


    Ciao!
    Con due submit diversi, l'utente è obbligato a cliccare entrambi i bottoni per mettere in funzione entrambi gli action?

  4. #4
    Guest

    Predefinito

    Bè, la logica vorrebbe che un'azione corrisponda ad una conseguenza, non a due!


    Ciao!

  5. #5
    Guest

    Predefinito

    Bè, la logica vorrebbe che un'azione corrisponda ad una conseguenza, non a due!


    Ciao
    :-)
    Dici che non sarebbe la stessa cosa se facessi così:
    Codice PHP:
    <form action="scrivi.php" action="ciao.php">
    ?

  6. #6
    Guest

    Predefinito

    tu che dici?


    ciao!

  7. #7
    Guest

    Predefinito

    mmm... NO? :-S

  8. #8
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Tecnicamente non è possibile inviare i dati contemporaneamente a due script PHP, soprattutto perché la sintassi di HTML non te lo consente (puoi scrivere un solo attributo ACTION, l'altro viene ignorato o sovrascritto).

    Quello che non è chiaro dal tuo post è se quegli script li devi eseguire ENTRAMBI o IN ALTERNATIVA tra loro. Nel secondo caso va bene la soluzione che ti ha proposto debug: due pulsanti submit con nomi ("name") ed etichette ("value") diversi, tra i dati del form trovi il pulsante che è stato premuto (nell'elenco delle variabili di get/post ci sarà una sola accoppiata name=value corrispondente al pulsante premuto) ed esegui l'azione di conseguenza.

    Se invece devi eseguire entrambi gli script, non puoi far altro che unire i due file. Se non ci sono strutture strane ti dovrebbe bastare copiare meccanicamente il contenuto dell'uno in coda all'altro...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  9. #9
    Guest

    Predefinito

    Al massimo, se proprio non vuoi unire i file potresti fare un redirect con header(); da scrivi.php a ciao.php passando a ciao.php i dati tramite GET:

    Codice PHP:
    header("Location: ciao.php?var1=".$_POST['var1']."&var2=".$_POST['var2']);
    Ma appoggio la soluzione proposta da dementialsite.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •