Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    150

    Problema con Radio Button e Select

    Allora, salve a tutti gente... volevo prorvi un quesito...

    Allora, sto costruendo un GDR online... e mi sto impantanando sulla pagina di registrazione

    il problema è...

    Quando si crea il pg (nella prima sezione, si inserisce nome cognome del pg email...) poi qui vengono i problemi... come inserisco nel Database il sesso del personaggio con dei radiobutton ??

    <label><input type="radio" name="sesso" value="m"> Maschio</label>
    <label><input type="radio" name="sesso" value="f"> Femmina</label>

    Insomma, non so se passare sesso, o m o f... insomma aiutatemi...

    Poi il problema peggiore, perchè vorrei fare che subito dopo il sesso scegli la razza (tramite una select, e anche qui non so come si fa ad inserire il valore della razza scelta, nel database...

    <select name="select">
    <option value="umano" selected>Umano</option>
    <option value="elfo">Elfo</option>
    </select>

    Questo è l'altro pezzetto di codice interessato...

    Se riuscirò a risolvere questo, il problema forse si allargherà :P o svanirà di colpo...

    Grazie a tutti... spero in una risposta...

  2. #2
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    devi recuprare i dati in questo modo:

    if(isset($_POST["submit"])){
    $sesso = $_POST["sesso"];
    $razza = $_POST["select"];
    }

    a questo punto hai nelle variabili $sesso e $razza gli input dell'utente, costruisci ora la query per l'insert a DB del tipo:

    INSERT INTO personaggio(sesso,razza) VALUES('$sesso','$razza');

  3. #3
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    ricordati sempre che per accedere hai dati inseriti in una campo di una form devi fare riferimento al suo "name".

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Il procedimento è identico per tutti gli input del form. Così come recuperi il valore dei campi nome, cognme ed email, puoi avere quelli dell'input radio e della select. Devi seguire la stessa logica...

    Ad esempio, probabilmente passerai i valori del form attraverso l'array $_POST, quindi i alori li potrai recuperare richiamando l'attributo name dei vari input.
    codice:
    /*pagina che riceve i dati inviati dal form
      avrai un file con la connessione al database che 
      probabilmente andrai ad includere.
    
      recuperi tutti gli input type=text facendo i controlli
      opportuni in base alle tue necessità, nell'esempio ci
      sono solo i campi "sesso" e "razza".
    */
    
    $sesso = $_POST['sesso'];
    $razza = $_POST['razza'];
    
    //poi procedi con la query INSERT...
    $insert = mysql_query("
              INSERT INTO tabella
              (id, nome, cognome, sesso, razza)
              VALUES
              ('$nome', '$cognome', '$sesso', '$razza')", $connect)
              or die(mysql_error());
    [EDIT] ...ops! ...peggio del napoli-roma (sempre in ritardo)

  5. #5
    Solo una segnalazione: naturalmente, nel db mysql che probabilmente usi il campo sesso dovrebbe essere di tipo enum.

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    150
    Perfetto, gentilissimi, proverò subitissimo se funziona

    Poi una domandina piccolina ina...

    Se io prendo i valori inseriti nel form, li memorizzo temporaneamente in $_POST... giusto ???

    Perfetto, mettiamo il caso che voglia creare un'iscrizione in più fasi...

    Ovvero, utilizzo le dritte che mi avete dato per sesso e razza...

    alla seconda pagina si deve scegliere tramite, select sempre, colore occhi, capelli, altezza e peso...

    Posso fare volendo che le opzioni di scelta di tali valori cambiano a seconda della razza scelta ??

    per dire: se io in razza scelgo nano... (alti al massimo un metro e cinquanta diciamo) volendo nella pagian successiva postro mostrare una serie di valori, inseriti nella Select che mostra da un altezza minima di un metro e venti, sino ad un altezza massima di 1.50 appunto....

    P.s.: Ovviamente anche per la select nel Db ci devo mettere il campo enum ??

  7. #7
    Non ho capito che cosa intendi per mettereil campo enum nella select, ma per il resto la risposta è ovviamente si; anzi, nulla di più semplice che memorizzare nella sessione le informazioni che sono già state inserite (ricorda che _POST contine ciò che è stato inserito solo nell'ULTIMA form in ordine di submit, quindi non va bene per memorizzare dati che devono sopravvivere lungo più pagine) e in base ad esse modificare la form che stai mostrando ora perchè dia solo le possibilità che hanno senso...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    150
    No no, vabbè, ho lasciato perdere il refresh in base a quello che si sceglie... ho fatto tutto come mi è stato suggerito sopra..

    credo di aver seguito tutto alla lettera... mettendo


    $nome_pg = $_POST['nome_pg'];
    $cognome_pg = $_POST['cognome_pg'];
    $email = $_POST['email'];
    $sesso = $_POST['sesso'];
    $razza = $_POST['razza'];
    $capelli = $_POST['capelli'];
    $occhi = $_POST['occhi'];
    $classe = $_POST['classe'];

    è giusto credo...

    però quando vado a cliccare su invia, mi si apre l'altra pagina, quella dove dovrebbe continuare l'iscrizione

    mi esce scritto...

    Column count doesn't match value count at row 1

    E con questo, non so dove devo mettere le mani nel codice per eliminare sto problema che non mi fa iscrivere praticamente

    Se volete, questo è il link della Home, così vedete un pò che cosa potrebbe essere che non va...

    http://blackdemonnight.altervista.org/menuintro.htm

    Se dopo che avete inserito i dati la pagina vi esce tutta nera... partite dall'alto come se volesste selezionare il testo, vedrete che vi esce la riga che vi ho scritto poco sopra...

  9. #9
    Significa che nella INSERT non hai elencato bene tutti i nomi dei campi o i rispettivi valori.

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    150
    Mah...

    Questa è la tabella

    CREATE TABLE personaggio (
    userid int(25) NOT NULL auto_increment,
    nome_pg varchar(25) NOT NULL default '',
    cognome_pg varchar(25) NOT NULL default '',
    email varchar(25) NOT NULL default '',
    sesso enum('0','1') NOT NULL default '0',
    password varchar(255) NOT NULL default '',
    decrypted_password varchar(255) NOT NULL default '',
    razza enum ('0','1','2','3') NOT NULL default '0',
    capelli enum ('0','1','2','3','4') NOT NULL default '0',
    occhi enum ('0','1','2','3') NOT NULL default '0',
    classe enum ('0','1','2','3','4') NOT NULL default '0',
    user_level enum('0','1','2','3') NOT NULL default '0',
    dataiscrizione datetime NOT NULL default '0000-00-00 00:00:00',
    ultimoingresso datetime NOT NULL default '0000-00-00 00:00:00',
    attivato enum('0','1') NOT NULL default '0',
    PRIMARY KEY (userid)
    ) TYPE=MyISAM COMMENT='Membership Information';



    E questa è la relativa insert dei valori che prendo tramite il form...

    INSERT INTO personaggio (nome_pg, cognome_pg, email, sesso, password, razza, dataiscrizione, capelli, occhi, classe, decrypted_password)VALUES('$nome_pg', '$cognome_pg', '$email', '$sesso', '$db_password', '$razza', now(), '$capelli', '$occhi', '$classe' '$random_password')") or die (mysql_error());


    Dovrebbe essere tutto giusto, così come i valori nel form, immagino

    Comunque giusto per essere pignoli, è possibile che sia un errore a causa della select ??

    <select name=razza id=razza>
    <option value=umano selected>Umano</option>
    <option value=elfo>Elfo</option>
    <option value=mezzelfo>Mezzelfo</option>
    <option value=nano>Nano</option>
    </select>

    Questa è una di quelle che ho usato, possibile che sia sbagliato anche qualcosa in questa ?

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