Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: Problema Query MySql

Hybrid View

  1. #1
    Per prima cosa prende il valore attivazione (CODEOFF/CODEON) dalla tabella password dove sono contenuti tutti i codici che possono essere utilizzati per registrare un account.
    Verifico che il dato ($a) sia == CODEOFF e poi inserisco in una tabella generale i vari dati dell'utente, poi aggiorno il dato $a in CODEON (così non è più riutilizzabile) e creo una tabella solo per l'utente.

    L'ultima tabella devo ancora vedere se mi serve davvero...

    Poi vorrei metterci anche l'invio di una mail automatica per confermare la mail inserita nel form, ma questo è un altro problema.

    Infine nel codice dove ho sbagliato a scrivere ( dovrebbe essere }elseif($a=="CODEON") { ) se la risposta non fosse né CODEOFF e né CODEON vorrebbe dire che il codice non esiste e per cui $err_alfa="Codice errato. Ricontrolla. ";

  2. #2
    ripeto nnesima volta. Dalla query ottieni un array (numerico oppure associativo oppure entrambi) a seconda della funzione usata.

    Un array, proviamo con associativo, e' formato da $a['campo']. Quindi:

    codice:
    if ($n == 0) {
    $res = mysql_query("SELECT Attivazione FROM $tabella_A WHERE Password = '$alfa'");
    $a = mysql_fetch_assoc($res);
    
    if ($a['Attivazione'] == "CODEOFF") {
       $parola_A = sha1($parola_A);
       mysql_query("INSERT INTO $tabella_B VALUES ('','$nome','$cognome','$classe','$mail','$alfa','$parola_A','')");
       mysql_query("UPDATE $tabella_A SET Attivazione = 'CODEON' WHERE Password = $alfa");
    
       header("Location ag_complete.php");
       } else if ($a['Attivazione'] == "CODEON") {
            $err_alfa = "Codice già utilizzato!";
            } else {
                 $err_alfa = "Codice errato. Ricontrolla. ";
                 }
    }
    Prova cosi' e che il cielo ci assista nella trascrizione dello script. Si presume ovviamente che di password = '$alfa' ce ne sia una sola
    Ultima modifica di piero.mac; 24-01-2014 a 16:51

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Ok perfetto funziona ma non mi crea la riga, non mi modifica l'attivazione del codice e non mi crea la nuova tabella.
    Questo è il codice:

    //----------Registrazione----------


    if ($n == 0) {
    $ask = "SELECT Attivazione FROM password WHERE Password = '$alfa'";
    $a = mysql_query($ask) or die ("Errore.");
    $b = mysql_fetch_assoc($a);


    if ($b['Attivazione'] == "CODEOFF") {
    $parola_A = sha1($parola_A);
    mysql_query("INSERT INTO '$tabella_U' VALUES ('', '$nome', '$cognome', '$classe', '$mail', '$alfa', '$parola_A', '')");
    mysql_query("UPDATE '$tabella_P' SET Attivazione = 'CODEON' WHERE Password = '$alfa'");
    mysql_query("CREATE TABLE '$cognome' (ID int(12) PRIMARY KEY, Nome varchar(24), Cognome varchar(24), Classe varchar(2), E-mail varchar(50), Codice varchar(5), Password varchar(40), Attivo int(1) DEFAULT '0')");
    mysql_query("INSERT INTO '$cognome' VALUES ('', '$nome', '$cognome', '$classe', '$mail', '$alfa', '$parola_A', '')");

    header("Locationag_complete.php");
    } else if ($b['Attivazione'] == "CODEON") {
    $err_alfa = "Codice già utilizzato!";
    } else {
    $err_alfa = "Codice errato. Ricontrolla. ";
    }
    }
    mysql_close();

    ?>

    Le virgolette all'inizio ee alla fine dei valori delle query sono una l'ID e l'altra un valore che mi servirà impostato 0 dal database.
    Ultima modifica di Coraz97; 24-01-2014 a 19:02

  4. #4
    Perche' hai messo le apici ai nomi delle tabelle. quelli sono costanti e non stringhe. Il cielo non ci ha assistito nella trascrizione

    Nel mio post non c'erano le apici sui nomi delle tabelle..

    Se mi permetti una prima opinione sul tuo script lo giudicherei un tantino cervellotico e dispersivo. Insomma creare una tabella di password, una tabella per ogni utente quando potrebbe bastare una sola tabella.....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Funziona anche se non mi crea la tabella

  6. #6
    Quote Originariamente inviata da Coraz97 Visualizza il messaggio
    Funziona anche se non mi crea la tabella
    non la crea perche' avevo tolto la riga del create table se proprio ti serve rimettila.

    dovresti mettere dopo le query la stampa degli errori ... OR die(mysql_error())

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Si si lo so ma le ho già inserite. Ti riposto il codice?

  8. #8
    Noooo!!!! ... mi fido ciecamente di te.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Il problema è che quando crea la colonna E-mail non posso inserire il trattino

  10. #10
    `e-mail`

    oppure fai il bravo ragazzo e NON usi il trattino nel nome di colonna

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