Visualizzazione risultati 1 fino 4 di 4

Discussione: Campo a scelta multipla

  1. #1
    Guest

    Lightbulb Campo a scelta multipla

    Salve...nella mia pagina di registrazione ho inserito cam campo per il sesso a scelta mutlipla ovvero: mashi o femmina..ma come posso fare in modo che esso venga memorizzato nel database (per poi richiamrlo)...che campo devo creare?

    la mia pagina e questa:

    Codice PHP:
    <?
    //include header.php
    include('../site/header.php');
    //collegamento dal database
    require_once('../site/config.php');
    //controlla se l'utente è già loggato
    if($_SESSION['logged_in'] == 1)
    {
    //reindirizzamento alla home page : edita il parametro con il tuo indirizzo
    header('Location: http://www.zomer.altervista.org/home.php
    }
    //l'
    utente non è loggato
    else {
    //il modulo non è stato ancora inviato
    if(isset($HTTP_POST_VARS['submit']))
    {
    //controlla dati relativi al nome
    if(empty($_POST['nome']))
    {
    die(
    'Attenzione : il campo nome è vuoto');
    }
    //array di caratteri non ammessi
    $bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
    '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
    '|', '{', '}', '<', '>', '?', ':', '"', '=', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');

    //controlla lunghezza nome
    $len = strlen($_POST['nome']);

    //sostituisce caratteri non ammessi
    $_POST['nome'] = str_replace($bad, '', $_POST['nome']);
    $dato = $_POST['nome'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo nome!');
    }
    //controlla dati relativi al Cognome
    if(empty($_POST['cognome']))
    {
    die(
    'Attenzione : il campo cognome è vuoto');
    }
    //controlla lunghezza cognome
    $len = strlen($_POST['cognome']);

    //sostituisce caratteri non ammessi
    $_POST['cognome'] = str_replace($bad, '', $_POST['cognome']);
    $dato = $_POST['cognome'];
    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len)
    {
    die(
    'Hai usato dei caratteri non validi nel campo cognome!');
    }
    //controlla dati relativi al sesso
    if(empty($_POST['sesso']))
    {
    die(
    'Attenzione : il campo sesso è vuoto');
    }
    //controlla dati relativi all'username
    if(!$_POST['username']) die('Attenzione : il campo username è vuoto');

    //Controlla se l'username è già utlizzato nel database...
    $q2 = mysql_query("SELECT * FROM `utenti` WHERE `username` = '".$_POST['username']."'");
    $q3 = mysql_fetch_object($q2);

    if(
    $q3->username == $_POST['username']) {
    die(
    'Siamo spiacenti ma l\'username "'.$q3->username.'" è già attivo nel nostro database<br /><br />
    Per favore ne scelga un altro.'
    );
    }
    //controlla dati relativi alla password
    if(!$_POST['password']) {
    die(
    'Errore: Il campo password risulta non compilato');
    }
    if(!
    $_POST['verify_password']) {
    die(
    'Errore: Il campo verfica password risulta non compilato');
    }
    if(
    $_POST['password'] != $_POST['verify_password']) {
    die(
    'Errore: Le passwords non corrispondono.');
    }
    //Inserisce il nuovo membro nel database
    $insert ="INSERT INTO `utenti` (nome, cognome, username, password, email) VALUES ('".$_POST['username']."',

    '"
    .md5($_POST['password'])."', '".$_POST['email']."')";

    $insert2 = mysql_query($insert);
    if(!
    $insert2) die(mysql_error());
    //Edita i parametri sottostanti con i dati relativi al tuo sito
    $web_site = 'Il nome del sito';
    $webmaster = 'Nickname webmaster';
    $web_mail = 'Indirizzo mail del sito';
    // Fine modifica
    //Passa i dati per il login a variabili da mandare via mail all'utente
    $nome_utente = $_POST['username'];
    $pass_utente = $_POST['password'];
    $mail_utente = $_POST['email'];
    $header = "From: ". $web_site . " <" . $web_mail . ">\r\n";
    // Edita l'oggetto e il messaggio
    $subject = "Dettagli registrazione";
    $message = "Gentile $nome_utente, da adesso sei un utente registrato su $web_site.
    Per usufruire dei nostri servizi devi semplicemente inserire questi dati nel login apposito:
    Username:
    $nome_utente
    Password:
    $pass_utente

    Conserva queste informazioni o meglio ancora stampa questa mail.

    Grazie infinite,
    $webmaster";
    // Spedisce la mail
    mail($mail_utente, $subject, $message, $header);
    echo(
    'Registrazione avvenuta, Benvenuto !!!<br />
    Le informazioni che ci hai fornito ti sono state spedite via mail.'
    );
    }
    //il modulo non è stato ancora compilato
    else {
    ?>
    <form action="<? $_SERVER['PHP_SELF']; ?>" method="post" name="signup" id="signup">
    <fieldset>
    <legend>Compila il modulo per registrarti sul nostro sito</legend>
    <dl>
    <dt>
    <label for="nome">Nome : <br /> (Inserisci il tuo nome completo)</label>
    </dt>
    <dd><input type="text" id ="nome" name="nome" value="" maxlength="40" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="cpgnome">Cognome : <br /></label>
    </dt>
    <dd><input type="text" id ="cognome" name="cognome" value="" maxlength="37" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="sesso">Sesso : <br /></label>
    </dt>
    <dd><select name="sesso">
    <option>Maschio</option>
    <option>Femmina</option>
    <option>Altro</option>
    </select>
    </dd>
    </dl>
    <dl>
    <dt>
    <label for="username">Username : <br /> (sono permessi solo lettere e numeri)</label>
    </dt>
    <dd><input type="text" id ="username" name="username" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="password">Password : <br />(minimo 6 caratteri)</label>
    </dt>
    <dd><input type="password" id="password" name="password" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="verify_password">Verifica Password : </label>
    </dt>
    <dd><input type="password" id="verify_password" name="verify_password" value="" maxlength="30" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="email">Email : </label>
    </dt>
    <dd><input type="text" id="email" name="email" value="" size="30" />
    </dd>
    </dl>
    <dl>
    <dt>
    <label for="nome">Nome : <br /> (Inserisci il tuo nome completo)</label>
    </dt>
    <dd><input type="text" id ="nome" name="nome" value="" maxlength="40" /></dd>
    </dl>
    <dl>
    <dt>
    <label for="condizionei">Termini e condizioni d'uso : <br /></label>
    </dt>
    <dd><input type="checkbox"></dd>
    </dl>
    <dl>
    <dt>
    <label for="privacy">Info sulla tua privacy : <br /></label>
    </dt>
    <dd><input type="checkbox"></dd>
    </dl>
    </fieldset>
    <fieldset>
    <input type="submit" id="submit" name="submit" value="Invia" />
    </fieldset>
    </form>
    <?
    } //fine utente non loggato
    } //fine modulo non inviato
    ?>

    ed ecco la mia tabella:

    # CREATE TABLE `utenti` (
    `nome` varchar(255) NOT NULL default ''
    `cognome` varchar(255) NOT NULL default ''
    `sesso` () ''
    `user_id` mediumint(8) NOT NULL auto_increment,
    `username` varchar(25) NOT NULL default '',
    `password` varchar(32) NOT NULL default '',
    `email` varchar(255) NOT NULL default '',
    PRIMARY KEY (`user_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;


    Grazie delle vostre risposte!
    Ultima modifica di AVVVARRIALE : 12-06-2009 alle ore 19.48.13

  2. #2
    Guest

    Predefinito

    Fallo come per username.


    Ciao!

  3. #3
    Guest

    Predefinito

    comunque hai sbagliato questa riga
    Codice PHP:
    header('Location: http://www.zomer.altervista.org/home.php
    sostituisci con
    Codice PHP:
    header('Location: http://www.zomer.altervista.org/home.php');

  4. #4
    Guest

    Predefinito

    Oppure potresti farlo anche come campo di tipo enum. In questo modo ti assicuri la presenza di soli due valori:

    `sesso` ENUM( 'M', 'F' ) NOT NULL, #...

Regole di scrittura

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