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

    [php] forum per la registrazione dei dati e php che controlla

    devo fare un esercizio per un corso
    questo è il testo dell'esercitazione:

    realizzare una form di registrazione per un ipotetico evento culturale, in cui siano richieste le seguenti informazioni:

    nome, cognome, email, indirizzo, città, cap, telefono fisso, cellulare, iscrizione alla newsletter e permesso di trattare i dati ai fini della legge sulla privacy.

    nome, cognome, email e cellulare sono campi obbligatori, quindi da controllare se sono stati immessi dati e se i dati sono congrui (es. la stringa di email deve contenere un carattere @);

    anche il permesso ai fini privacy è obbligatorio.

    Realizzare una form in html e una pagina in php che controlli i dati messi in ingresso e reagisca di conseguenza, ciclando in caso di errori fino alla corretta registrazione.


    io ho fatto questo form, non ho idea di come cominciare invece a fare lapagina php che controlli i dati

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <table width="100%" height="393" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="17%" height="84"></td>
    <td width="50%"><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">modulo
    di registrazione per la partecipazione al (ipotetico evento culturale)</font></td>
    <td width="33%"></td>
    </tr>
    <tr>
    <td></td>
    <td valign="top"><TABLE class=FORM_cornice cellSpacing=4 cellPadding=0 width="99%"
    align=center border=0><TBODY><TR align=middle>
    <FORM ACTION="2768559_registra.php" method="post" >
    <TD class=FORM_testo colSpan=2></TD>
    </TR>
    <TR>
    <TD height="35" colSpan=2 class=FORM_testo><font color="#FF0066">dati
    registrazione nuovo utente</font>
    </TD>
    </TR>
    <TR>
    <TD height="20" align=right class=FORM_testo><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">*nome:</font></TD>
    <TD width="50%"><INPUT class=FORM_campo_120 maxLength=100 name=nome></TD>
    </TR>
    <TR>
    <TD class=FORM_testo align=right><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">*c</font><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">ognome
    </font></TD>
    <TD><INPUT class=FORM_campo_160 maxLength=150 size=30
    name=cognome></TD>
    </TR>
    <TR>
    <TD class=FORM_testo align=right><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">indirizzo:</font></TD>
    <TD><INPUT class=FORM_campo_160 maxLength=150 size=30
    name=indirizzo></TD>
    </TR>
    <TR>
    <TD class=FORM_testo align=right><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">CAP:</font></TD>
    <TD><INPUT class=FORM_campo_50 maxLength=10 size=8 name=cap></TD>
    </TR>
    <TR>
    <TD class=FORM_testo align=right><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">citt&agrave;:</font></TD>
    <TD><INPUT class=FORM_campo_160 maxLength=150 size=30
    name=città></TD>
    </TR>
    <TR>
    <TD class=FORM_testo align=right><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">provincia:</font></TD>
    <TD>

    <SELECT
    size=1 name=provincia>
    <OPTION value=AG selected>Agrigento</OPTION>
    <OPTION value=AL>Alessandria</OPTION>
    <OPTION
    value=AN>Ancona</OPTION>
    <OPTION value=AO>Aosta</OPTION>
    <OPTION
    value=AR>Arezzo</OPTION>
    <OPTION value=AP>Ascoli Piceno</OPTION>
    <OPTION value=AT>Asti</OPTION>
    <OPTION value=AV>Avellino</OPTION>
    <OPTION value=BA>Bari</OPTION>
    <OPTION value=BL>Belluno</OPTION>
    <OPTION value=BN>Benevento</OPTION>
    <OPTION
    value=BG>Bergamo</OPTION>
    <OPTION value=BI>Biella</OPTION>
    <OPTION
    value=BO>Bologna</OPTION>
    <OPTION value=BZ>Bolzano</OPTION>
    <OPTION value=BS>Brescia</OPTION>
    <OPTION
    value=BR>Brindisi</OPTION>
    <OPTION value=CA>Cagliari</OPTION>
    <OPTION value=CL>Caltanissetta</OPTION>
    <OPTION
    value=CB>Campobasso</OPTION>
    <OPTION value=CE>Caserta</OPTION>
    <OPTION value=CT>Catania</OPTION>
    <OPTION
    value=CZ>Catanzaro</OPTION>
    <OPTION value=CH>Chieti</OPTION>
    <OPTION value=CO>Como</OPTION>
    <OPTION value=CS>Cosenza</OPTION>
    <OPTION value=CR>Cremona</OPTION>
    <OPTION
    value=KR>Crotone</OPTION>
    <OPTION value=CN>Cuneo</OPTION>
    <OPTION
    value=EN>Enna</OPTION>
    <OPTION value=FE>Ferrara</OPTION>
    <OPTION
    value=FI>Firenze</OPTION>
    <OPTION value=FG>Foggia</OPTION>
    <OPTION
    value=FO>Forlì-Cesena</OPTION>
    <OPTION value=FR>Frosinone</OPTION>
    <OPTION value=GE>Genova</OPTION>
    <OPTION value=GO>Gorizia</OPTION>
    <OPTION value=GR>Grosseto</OPTION>
    <OPTION
    value=IM>Imperia</OPTION>
    <OPTION value=IS>Isernia</OPTION>
    <OPTION value=AQ>L'Aquila</OPTION>
    <OPTION value=SP>La Spezia</OPTION>
    <OPTION value=LT>Latina</OPTION>
    <OPTION
    value=LE>Lecce</OPTION>
    <OPTION value=LC>Lecco</OPTION>
    <OPTION
    value=LI>Livorno</OPTION>
    <OPTION value=LO>Lodi</OPTION>
    <OPTION
    value=LU>Lucca</OPTION>
    <OPTION value=MC>Macerata</OPTION>
    <OPTION
    value=MN>Mantova</OPTION>
    <OPTION value=MS>Massa-Carrara</OPTION>
    <OPTION value=MT>Matera</OPTION>
    <OPTION value=ME>Messina</OPTION>
    <OPTION value=MI>Milano</OPTION>
    <OPTION value=MO>Modena</OPTION>
    <OPTION value=NA>Napoli</OPTION>
    <OPTION value=NO>Novara</OPTION>
    <OPTION value=NU>Nuoro</OPTION>
    <OPTION value=OR>Oristano</OPTION>
    <OPTION value=PD>Padova</OPTION>
    <OPTION value=PA>Palermo</OPTION>
    <OPTION value=PR>Parma</OPTION>
    <OPTION value=PV>Pavia</OPTION>
    <OPTION value=PG>Perugia</OPTION>
    <OPTION value=PS>Pesaro e Urbino</OPTION>
    <OPTION value=PE>Pescara</OPTION>
    <OPTION
    value=PC>Piacenza</OPTION>
    <OPTION value=PI>Pisa</OPTION>
    <OPTION
    value=PT>Pistoia</OPTION>
    <OPTION value=PN>Pordenone</OPTION>
    <OPTION value=PZ>Potenza</OPTION>
    <OPTION value=PO>Prato</OPTION>
    <OPTION value=RG>Ragusa</OPTION>
    <OPTION value=RA>Ravenna</OPTION>
    <OPTION value=RC>Reggio Calabria</OPTION>
    <OPTION value=RE>Reggio Emilia</OPTION>
    <OPTION value=RI>Rieti</OPTION>
    <OPTION
    value=RN>Rimini</OPTION>
    <OPTION value=RM>Roma</OPTION>
    <OPTION
    value=RO>Rovigo</OPTION>
    <OPTION value=SA>Salerno</OPTION>
    <OPTION
    value=SS>Sassari</OPTION>
    <OPTION value=SV>Savona</OPTION>
    <OPTION
    value=SI>Siena</OPTION>
    <OPTION value=SR>Siracusa</OPTION>
    <OPTION
    value=SO>Sondrio</OPTION>
    <OPTION value=TA>Taranto</OPTION>
    <OPTION value=TE>Teramo</OPTION>
    <OPTION value=TR>Terni</OPTION>
    <OPTION value=TO>Torino</OPTION>
    <OPTION value=TP>Trapani</OPTION>
    <OPTION value=TN>Trento</OPTION>
    <OPTION value=TV>Treviso</OPTION>
    <OPTION value=TS>Trieste</OPTION>
    <OPTION value=UD>Udine</OPTION>
    <OPTION value=VA>Varese</OPTION>
    <OPTION value=VE>Venezia</OPTION>
    <OPTION value=VB>Verbania</OPTION>
    <OPTION
    value=VC>Vercelli</OPTION>
    <OPTION value=VR>Verona</OPTION>
    <OPTION value=VV>Vibo Valentia</OPTION>
    <OPTION
    value=VI>Vicenza</OPTION>
    <OPTION value=VT>Viterbo</OPTION>
    </SELECT> </TD>
    </TR>
    <TR>
    <TD class=FORM_testo align=right><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">*e-mail</font></TD>
    <TD><INPUT class=FORM_campo_120 maxLength=20 name=e-mail></TD>
    </TR>
    <TR>
    <TD class=FORM_testo align=right><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">*telefono:</font></TD>
    <TD><INPUT class=FORM_campo_120 maxLength=20 name=telefono></TD>
    </TR>
    <TR>
    <TD class=FORM_testo align=right><font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">cellulare:</font></TD>
    <TD><INPUT class=FORM_campo_120 maxLength=20 name=cellulare></TD>
    </TR>
    <TR>
    <TD class=FORM_testo colSpan=2></TD>
    </TR>
    <TR>
    <TD class=FORM_testo colSpan=2><font color="#FF0066">iscrizione alla
    newsletter</font>
    </TD>
    </TR>
    <TR>
    <TD colspan="2" align=right><div align="center"> <font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <INPUT type=radio CHECKED value=M name=si>
    si
    <INPUT type=radio value=no name=no>
    no</font></div></TD>
    </TR>
    <TR>
    <TD class=FORM_testo colSpan=2><font size="2" face="Verdana, Arial, Helvetica, sans-serif"></font></TD>
    </TR>
    <TR>
    <TD colspan="2" class=FORM_testo> <font color="#FF0066" size="2" face="Verdana, Arial, Helvetica, sans-serif">trattamento
    dei dati ai fini della privacy</font></TD>
    </TR>
    <TR>
    <TD align=middle width="100%" colSpan=2><TEXTAREA name=Contratto cols=60 rows=12>INFORMATIVA TRATTAMENTO DATI PERSONALI testo
    </TEXTAREA>
    </TD>
    </TR>
    <TR>
    <TD align=middle width="100%" colSpan=2> <CENTER>
    <TABLE cellSpacing=1 cellPadding=1 border=0>
    <TBODY>
    <TR>
    <TD align=middle><FONT color="#FF0066" size=+0>Accetto
    </FONT></TD>
    <TD align=middle><FONT color="#FF0066" size=+0>Non accetto</FONT></TD>
    </TR>
    <TR>
    <TD align=middle><INPUT id=IDContratto type=radio CHECKED
    value=1 name=privacy_si></TD>
    <TD align=middle><INPUT type=radio value=0
    name=privacy_no></TD>
    </TR>
    </TBODY>
    </TABLE>
    <CENTER>
    </CENTER>
    </CENTER></TD>
    </TR>
    <SCRIPT language=javascript>
    function ControlloContratto()
    {
    if(document.getElementById("IDContratto").checked == true)
    {
    return true;
    }
    else
    {
    location.href = 'default.asp';
    return false;
    }
    }
    </SCRIPT>
    <TR>

    <TD align=middle width="100%" colSpan=2><INPUT class=isciviti onclick="return ControlloContratto()" type=submit value=iscriviti name=B1></TD>
    </TR>
    <TR>
    <TD class=FORM_testo colSpan=2></TD>
    </TR></TBODY>
    </TABLE></td>
    <td></td>
    </tr>
    <tr>
    <td height="197"></td>
    <td></td>
    <td></td>
    </tr>
    </table>
    </body>
    </html>
    *silvia*

  2. #2
    prendi un qualsiasi manuale php, leggi l'immancabile parte relativa ai form e all'elaborazione dei dati ricevuti, chiedi quando hai problemi + specifici


  3. #3
    A domanda generica risposta generica...
    Prima di tutto considera che tutto ciò che mandi a php attraverso un form, viene inserito in un array chiamato $_POST (nel caso tu utilizzi il metodo GET, questo array si chiamerà $_GET). Ogni campo input che tu definisci attraverso l'attributo name sarà presente in questo array come una chiave associativa tipo:
    $_POST[nome]
    $_POST[cognome]
    ecc..............
    a queste chiavi sarà associato il valore digitato dall'utente, o un valore pre impostato nel form attraverso l'attributo value.

    Puoi subito verificare questo linkando il tuo form ad uno script php contenete come unica istruzione quella di stampare il contenuto dell'array post:

    <?PHP
    print_r($_POST);
    ?>

    una volta fatto questo, puoi iniziare il lavoro di autenticazione del form....
    A questo punto tieni conto che il lavoro consiste principalmente nell'utilizzo di una serie di cicli di controllo if applicati a variabili di tipo testo
    es:
    Codice PHP:
    // verifica se il campo nome è vuoto 
    // o è minore di 3 lettere:
    // il nome + breve che mi viene 
    // in mente è ugo.... ;-)   

    if ((trim($_POST['nome']) == "") or (strlen($_POST['nome']) < "3"))
     {
      echo 
    "devi inserire un nome decente
    "
    ;
     } 

    dunque il consiglio è quello di andarsi a vedere le funzioni relative alle stringhe nella documentazione php...relative alle stringhe di caratteri... tra le quali ti consiglio di utilizzare in primo luogo:
    • trim(): elimina gli spazi bianchi tra l'inizio e la fine di una stringa di testo
    • strlen(): restituisce la lunghezza di una stringa
    • substr(): restituisce parte di una stringa
    • ecc.....


    considera inoltre che per affinare il lavoro di validazione di un form, come per qualsiasi operazione di ricerca-sostituzione-enumerazione di stringhe di testo, possono rivelarsi molto utili le espressioni regolari. Sottolineo possono perche non sono necessariamente indispensabili per svolgere operazioni semplici ma possono diventarlo qualora tu voglia avvalerti di criteri di validazione particolarmente specifici da richiederne l'uso.Dunque usare con cautela, possono produrre
    esaurimenti nervosi e perdita di capelli.

    Per il resto, saluti e buono smanettamento!
    PS: I like your helloKitty....

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.