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

    Recupero dati da form di tipo RADIO

    salve a tutti, sto facendo uno script php in materia di autenticazione dove ad autenticarsi ci sono 2 profili: l'utente registrato e l'artista visto che è un autenticazione riguardante musica.
    Visto che ad autenticarsi saranno 2 attori allora ho pensato di mettere una form di tipo RADIO con selezione esclusiva. Nel momento che si pulsa il bottone mi ricavo l'informazione se è un utente registrato o se un attore.
    Quinti il codice html solo è:
    codice:
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
              Username:<input size="20" name="username" type="text">
              Password:<input type="password" name="passwd"size="20" >
              <input type="radio" name="tipo" value="artista" > Artista
    
              <input type="radio" name="tipo" value="registrato" > Registrato
              <input type="hidden" name="op" value="login" />
              <input type="submit" value="Entra" />
    Per quanto riguarda il codice PHP per capire che è un artista o un utente registrato é:
    codice:
    if ($_POST['username']!='' && $_POST['passwd']!=''  && isset($_POST['registrato']))
    {$username = $_POST['username'];
     $passwd   = $_POST['passwd'];
     $registrado = $_POST['registrato']; ->e il resto del codice}
    else if($_POST['username']!='' && $_POST['passwd']!=''   &&  isset($_POST['artista'])){
          $username = $_POST['username'];
          $passwd   = $_POST['passwd'];
          $artista = $_POST['artista']; ->e il resto del codice
    else "ERRORE"}
    Domanda: quando selezione uno delle 2 alternative nella pagina di login e clicco su "Entra" non mi fa andare avanti e mi riporta su "ERRORE". Questo perchè non ho ben chiaro come si possono bene estrapolare i dati da radio e non ho trovato documentazione adeguata. Qualcuno mi può aiutare ?
    Grazie a tutti per l'interesse

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    "artista" e "registrato" sono i possibili valori che arrivano, per leggerli devi usare il nome del campo radio

    $_POST['tipo']

  3. #3
    Ciao, ero un pò assente ieri perchè non mi funzionava il server, comunque la situazione è che ora ho scritto nel codice:

    codice:
    if ($_POST['username']!='' && $_POST['passwd']!='') {
    	    if($_POST['tipo']='registrato'){
    		$username = $_POST['username'];
    		$passwd   = $_POST['passwd'];
                         ->resto del codice che esegue la verifica di username e password
    }
    if ($_POST['username']!='' && $_POST['passwd']!='') {
    	    if($_POST['tipo']='artista'){
    		$username = $_POST['username'];
    		$passwd   = $_POST['passwd'];
                         ->resto del codice che esegue la verifica di username e password
    }
    E la parte del radiobox è:
    codice:
    <input type="radio" name="tipo" value="artista" > Artista
    
    <input type="radio" name="tipo" value="registrado" > Registrado
    dove per prelevare la selezione del campo registrato o artista uso l'opzione $_POST['tipo']='usuario' . Il fatto è che quando NON premo il bottone del login la condizione: if($_POST['tipo']='usuario') è sempre verificata.In poche parole questa condizione if è come se non esistesse. Dove sta l'errore secondo voi? perchè non riesco praticamente a fare la selezione dei 2 tipi di profili.

    Grazie sempre per le vostre risposte.

  4. #4
    Ho scritto nell'ultima parte della risposta precedente $_POST['tipo']='usuario' in realtà volevo scrivere $_POST['tipo']='registrato'....

  5. #5
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Hai una assegnazione involontaria nell'istruzione if.

    L'operatore di uguaglianza è == e non =.

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.