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

    Text area + radio buttons

    Salve a tutti! Ho provato a cercare un pò ovunque ma non ho trovato nulla che si adattasse a quello che sto cercando di fare.

    In sostanza quello di cui ho bisogno è di una text area in qui inserirci del testo (molto..) e poi due radio button con la scelta si e la scelta no in modo che quando si preme su invia o submit che dir si voglia avvengano due cose diverse. Se seleziono si si viene portati alla pagina 2.php altrimenti a www.google.it. Come faccio questa cosa?

    Avevo "creato" qualcosa che allego ma mi vergogno quasi per la mia non conoscenza:

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <
    html>
    <
    head>
      <
    title>c</title>


    </
    head>


    <
    body>
    <
    form name ="frm1" method="post" action="b.php">
        <
    tbody>

          <
    tr>

            <
    td>[size="1"]<span style="font-family: Verdana;">Read
    the disclaimer
    </span>[/size]


    <
    textarea cols="40" rows="5" name="testo">bla bla bla bla bla bla bla bla bla 
    bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 
    bla bla bla bla bla bla bla bla bla bla bla bla  
    </textarea> </td>

          </
    tr>

          <
    tr>


            <
    td

    <
    input id="scelta" name="scelta" value="si" type="radio">SI
    <input id="scelta2" name="scelta2" value="no" type="radio">NO

            
    </td>

          </
    tr>

        </
    tbody>
      </
    table>

      <
    p align="center"><input value="submit" type="submit"></p>
    </
    form>



    </
    body>
    </
    html
    In questo modo però mi riporta sempre alla pagina che scelgo, quasiasi scelta io faccia.

    Grazie per le dritte!

  2. #2
    Ciao!
    Tanto per iniziare... i radio, quando "rispondono alla stessa domanda", devono avere lo stesso nome.
    Codice PHP:
    <input id="scelta" name="scelta" value="si" type="radio">SI 
    <input id="scelta" name="scelta2" value="no" type="radio">NO 
    Gli id in realtà non so se ti possono servire, a meno che tu non voglia fare verifiche in javascript quando posti.

    A questo punto verifichi il valore del radio:

    Codice PHP:
    if(!isset($_POST['scelta']))
        
    $_POST['scelta'] = 'si';
        
    //metti il tuo valore di default, se non vuoi fare altri controlli
    if($_POST['scelta'] == 'si')
        
    header("Location: quello/che/vuoi/tu");
    else
        
    header("Location: altro/url"); 
    Tieni presente, però, che facendo un redirect perdi i dati.. quindi ti conviene postare direttamente sulla pagina di salvataggio, mettendolo nel codice al posto del redirect.

  3. #3
    con php, l'unico modo e' che nel file che riceve il form (vedo: b.php) si faccia un controllo di questo tipo:

    codice:
    if($_POST['scelta']=='no') {
        header('Location: http://www.google.it/');
        exit();
    }
    else {
        // tutto ok, l'utente ha accettato: esegui qui il resto del codice
    }
    piccolo appunto: ai due radio buttons devi dare lo stesso nome, non lo stesso id! anzi, lo stesso id non devi mai darlo a due elementi della stessa pagina


    ciao
    danno

  4. #4
    Toh!pisa: visto che sei piu' veloce di me, mettiamoci d'accordo e dividiamoci i post a cui rispondere

  5. #5
    Quanti errori! Grazie ragazzi, modifico subito la pagina!

  6. #6
    Ma quindi è giusto così?
    Codice PHP:
    <form name ="frm1" method="post" action="b.php">
    <
    tbody>
    <
    tr>

            <
    td>[size="1"]<span style="font-family: Verdana;">Please read
    carefully the disclaimer
    </span>[/size]


    <
    textarea cols="40" rows="5" name="testo">bla bla bla bla bla bla bla bla bla 
    bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 
    bla bla bla bla bla bla bla bla bla bla bla bla
    </textarea
        </
    td>
        </
    tr>
        <
    tr>
        

        <
    td
    <
    input id="scelta" name="scelta" value="si" type="radio">SI
    <input id="scelta2" name="scelta" value="no" type="radio">NO
    if(!isset($_POST['scelta']))
        
    $_POST['scelta'] = 'si';
        
    //metti il tuo valore di default, se non vuoi fare altri controlli
    if($_POST['scelta'] == 'si')
        
    header("Location: b.php");
    else
        
    header("Location: [url]http://www.google.it[/url]");

            </
    td>

          </
    tr>

        </
    tbody>
      </
    table>

      <
    p align="center"><input value="submit" type="submit"></p>
    </
    form
    perchè mi chiedo: se b.php l'ho specificato già nell'opzione si, perchè lo metto anche qui action="b.php"?

  7. #7
    Appunto... quello era un esempio veloce.
    b.php lo tieni nell'action ed al posto del redirect sul 'si' metti tutto il codice che ti serve.

    Okkio però che ora stai mischiando php e html, e mi sa che il php si offenderà un po'... ti conviene tenerli il più separati possibile, anche per leggibilità del codice, altrimenti perdersi è un attimo.

  8. #8
    uhm c'e' qualche incomprensione.
    anzi a dire la verita', delle lacune enormi di php. il mio consiglio e' quello di studiarsi una guida prima di mettersi a fare tentativi con copia e incolla (perche' presumo che tu non ne abbia lette di guide, dal momento che confondi php e html).

    in ogni caso, questo e' il tuo codice da mettere nei due files.

    pagina contenente il form
    Codice PHP:
    <form name ="frm1" method="post" action="b.php"
    <
    tbody
    <
    tr

            <
    td>[size="1"]<span style="font-family: Verdana;">Please read 
    carefully the disclaimer
    </span>[/size]
     
     
    <
    textarea cols="40" rows="5" name="testo">bla bla bla bla bla bla bla bla bla 
    bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 
    bla bla bla bla bla bla bla bla bla bla bla bla 
    </textarea
        </
    td
        </
    tr
        <
    tr
        
     
        <
    td
    <
    input id="scelta" name="scelta" value="si" type="radio">SI 
    <input id="scelta2" name="scelta" value="no" type="radio">NO 
            
    </td

          </
    tr

        </
    tbody
      </
    table

      <
    p align="center"><input value="submit" type="submit"></p
    </
    form
    invece in b.php
    Codice PHP:
    if(!isset($_POST['scelta'])) 
        
    $_POST['scelta'] = 'no'// l'utente non ha scelto nulla, di default valutiamo no

    if($_POST['scelta'] == 'si') {
        
    // l'utente ha accettato: fai quello che devi (non so, salvare nel database o inviare un email)
    }
    else 
        
    header("Location: http__www_google_it"); // coreggi ovviamente il link: il forum mi faceva casini 

    ciao!
    danno

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