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

    problema con inserimento dati

    ciao non capisco perche non mi fa registrare i nuovi utenti, se questi non ci sono nel database

    codice HTML:
    <!DOCTYPE html>
    <html>
        <head>
            <title></title>
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <meta charset="utf-8">
             <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
            <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/3.14.1/math.min.js"></script>
            <link href="config.css" type="text/css" rel="stylesheet">
        </head>
    
        <body>
    
            <div id="form-riconoscimento">
                <h4>modulo di riconoscimento</h4>
                <button onclick="generaUsername()">genera username</button>
                    <table>
                        <form method="get" action="server.php">
    
                            <tr>
                                <td><input type="text" name="username" placeholder="username" id="username" required></td>
                            </tr>    
                            <tr>    
                                <td><input type="password" name="password" placeholder="password"></td>
                            </tr>
                            <tr>
                                <td><input type="radio" name="opzioneUtente" value="registrareUtente">registrasi</td></tr>
                            <tr>
                                <td><input type="radio" name="opzioneUtente" value="loggareUtente">accedere</td>
                            </tr>
                            <tr>
                                <td><input type="submit" value="invio"></td></tr>
                        </form>
                    </table>
            </div>
            <script type="text/javascript">
                codiceAlfa = "HAvc13nmsdw";
                caratteri = codiceAlfa.split(""); //return array
                codici = [];
                function generaUsername(){
                      for(i=0; i<=caratteri.length; i++){
                          codici.push(caratteri[math.randomInt(caratteri.length)]) ;
                      }
                    codice = codici.join(""); //return string
                    document.getElementById("username").value=codice;
                }
      
            </script> 
    
    </body>
    </html>
    Codice PHP:
    <?php
    session_start
    ();
    $conex mysql_connect('localhost''root');
    mysql_select_db("my_laboraccio"$conex);
    $uname $_GET['username'];
    $pw =  $_GET['password'];
    $opzioneUtente $_GET['opzioneUtente'];
        function 
    registraUtente(){
            
    $sql "SELECT * FROM utenti WHERE username='$uname'";
            
    $resource mysql_query($sql) or die (mysql_error());
            
    $result mysql_num_rows($resource);
            echo 
    $result;
            if(
    $result == 0) {
                
    $sql "INSERT INTO utenti (id, username, password) VALUES (NULL, '$uname', '$pw')";
                
    mysql_query($sql);
                
    header("Refresh:10; url=http://www.laboraccio.altervista.org/");
                  echo 
    "nuovo utente creato";
     
                echo 
    "registrazione completata";
            }
            elseif(
    $result == 1){
                echo 
    "username gia in uso, riprova con un altro";
                  
    header("Refresh:10; url=http://www.laboraccio.altervista.org/");
               }
        }
        
            function 
    loggareUtente(){
            
    $sql "SELECT * FROM utenti WHERE username='$uname' AND password='$pw'";
            
    $resource mysql_query($sql) or die (mysql_error());
            
    $result mysql_num_rows($resource);
            if(
    $result == 1) {
            echo 
    "b";
                
    $_SESSION['username'] = $uname;
                
    $_SESSION['password'] = $pw;
            echo 
    "benvenuto alla tua area personale".$uname;
            
            }

        
        }

    echo 
    $uname;
    echo 
    $pw;
    if(
    $opzioneUtente == 'registrareUtente'){
        
    registraUtente();
    }
    elseif(
    $opzioneUtente == "loggareUtente") {
        
    loggareUtente();
    }

    ?>

  2. #2
    quando provo a registrarmi facendo uso della funzione genera username, il server mi dice che l'utente esiste gia nel database e non e cosi

  3. #3
    il problema vero e che se genero un nome utente con la mia funzione js e poi la inserisco nella casella del input, e poi faccio invio, il server mi da di output il nome utente generato, ma poi va a inserirmi una riga vuota nella mio database
    Ultima modifica di riccardo94; 27-09-2018 a 22:39

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,344
    In php le variabili sono locali di default. Quindi $uname in registraUtente non ha il valore che passi alla pagina. Immagino che abbia un valore di default registrato nella tabella durante il primo richiamo e che da allora ogni volta che non passi niente trova un record.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    come dicevo prima, mi ero accorto che c'era una riga vuota nella tabella, dopo che ho cancellato quella riga o record, ho provato a registrarmi di nuovo, facendo uso del generatore di username, a questo punto il server mi da il valore di username generato, ma mi inserisce sempre un record vuoto, questo succede ogni volta che genero un nome utente con il generatore e anche se non lo uso, credo che e come dici tu, si tratta dello scope della variabile, grazie badaze. comuqnue ne approfitto per parlarti del mio progetto, in pratica vorrei creare una chat anonima, dove chiunque possa registrarsi senza email ne niente,

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,344
    Ti basta passare la variabile $uname alla funzione.

    codice:
    function registraUtente($uname){
    etc...
    }
    Hai lo stesso problema con la funzione loggareUtente()

    Comunque non si usano più le funzioni mysql. Si usano mysqli o PDO. Se continui ad usare mysql i tuoi script non funzionerano più su un server con PHP 7. Comunque bis. Devi sanare i dati passati alle query. Com'è fatta adesso si possono bypassare i tuoi controlli in un batter d'occhio.
    Inoltre non si salva mai in chiaro una password. Di più non serve a nulla, anzi non si fa mai, mettere la password in una variabile di sessione.

    Prima di farti un esempio, fa in modo di fare funzionare il tuo codice attuale.

    PS : Vedo dal codice che hai postato che hai alcune lacune in php. IMHO ti converrebbe cimentarti con un progetto più semplice. In effetti chi vorrebbe usare una chat che si puo' hackare in un'attimo.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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