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

    Contact box (php e html) : Campo richiesto

    Ciao a tutti!
    sono alle prime armi e sto creando il mio primo sito web personale.
    sono riuscita a creare la mia contact box con l'aiuto di diversi tutorial (con HTML e PHP). Mi sono però bloccata in un punto.
    ho messo "Required" per tutti i campi obbligatori, ma non riesco a mettere l'obbligo nel checkbox o dropdown, e mi serve "obbligare" chi mi scrive ad accettare il trattamento dei dati personali.


    Questo è il mio dropdown che non funziona come per gli altri campi (negli altri, appena faccio "invia" esce la scritta "compila questo campo", senza cambiare pagina, compare solo una finestra):

    <p class="datipersonali">Consenso al trattamento dei dati personali (richiesto):
    <select name="datipersonali" size="1" required="Acconsento">
    <option value="Non Acconsento">Non Acconsento</option>
    <option value="Acconsento">Acconsento</option>
    </select>
    </p>



    Questo è il checkbox
    <p class="checkbox">
    <input type="checkbox" name="checkbox" value="si"/> Accetto il trattamento dei dati personali<br/><br/>
    </p>
    ho poi aggiunto in php questo (questo è un copia-incolla, non ho idea di cosa possa voler dire, non conosco ancora questo linguaggio)

    $checkbox= isset($_POST['checkbox']) ? $_POST['checkbox'] : 'no';


    Cosa sto sbagliando? a me basta che ne funzioni uno dei due!

    ciao ciao!!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Ti serve precisamente il costrutto if-else con il controllo sulla tua variabile $checkbox.

    In modo che se la tua variabile $checkbox ha valore 'si' allora viene eseguito il blocco di codice che ti serve, se la variabile assume valore 'no' allora devi eseguire un altro blocco di codice che magari fa tornare indietro.

  3. #3
    Grazie! ma non c'è il modo di non cambiare pagina? perché se metto che torna indietro magari si cancellano i dati e devono riscrivere tutto, per gli altri campi spunta solo una finestrella e vorrei farla spuntare anche qui.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Puoi creare una funzione con Javascript che magari ti abilita il tasto INVIO solo se i termini sono stati accettati.

  5. #5
    Punto primo:
    Puoi usare l'attributo required anche per i checkbox

    codice:
    <input type="checkbox" name="checkbox" value="si" required>

    Punto secondo:
    Se vuoi usare l'attributo required sui tag select, una delle option deve avere un value nullo.
    Spiego con un esempio:

    La select seguente supererà sempre la validazione che fai tramite required perché entrambe le sue option contengono un value.
    codice:
    <select name="datipersonali" required>
     <option value="Non Acconsento">Non Acconsento</option>
     <option value="Acconsento">Acconsento</option>
    </select>

    Mentre sulla select seguente l'attributo required impedirà l'invio del form se è selezionata la prima option.
    codice:
    <select name="datipersonali" required>
     <option value="">Non Acconsento</option>
     <option value="Acconsento">Acconsento</option>
    </select>
    Nota il value "vuoto" sulla prima option

Tag per questa discussione

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.