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

    qualcuno mi puo aiutare gentilmente?? ho un problema con le sessioni

    Codice PHP:
    /*INDEX.PHP*/
    <!DOCTYPE html>
    <
    html>
        <
    head>
            <
    title>index.php</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="post" action="server.php">

                            <tr>
                                <td><input type="text" name="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" checked>accedere</td>
                            </tr>
                            <tr>
                                <td><input type="submit" value="invio"></td></tr>
                        </form>
                    </table>
            </div>
            <script type="text/javascript">

                function generaUsername(){
                            codiceAlfa = "HAvc13nmsdw";
                caratteri = codiceAlfa.split(""); //return array
                codici = [];
                      for(i=0; i<=caratteri.length; i++){
                          codici.push(caratteri[math.randomInt(caratteri.length)]) ;
                      }
                    codice = codici.join(""); //return string
                    document.getElementById("username").value=codice;
                }
                
               
                    username = document.getElementById("username");
                
                    if(navigator.userAgent == "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36")
                    {username.setAttribute("value", "crom");
                    }
                    else if(navigator.userAgent == "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0")
                    {username.setAttribute("value", "firefox");  }    
                 
      
            </script> 

    </body>
    </html> 
    Codice PHP:
    <?php
    /*SERVER.PHP*/
    session_start();
    $conex mysql_connect('localhost''root');
    mysql_select_db("my_laboraccio"$conex);

    /*variabili di index.php*/
    $uname $_POST['username'];
    $pw =  $_POST['password'];
    $opzioneUtente $_POST['opzioneUtente'];

    /*variabili di profilo.php */
    echo $_GET['sms'];




    if(
    $_POST['sessione'] == "logout") {
        
    session_unset();
        
    session_destroy();
        
    header("Refresh:10; url=http://www.laboraccio.altervista.org/");
        echo 
    "sessione scaduta";
    }
        function 
    registraUtente(){
            global 
    $uname;
            echo 
    $uname;
            global 
    $pw;
            
    $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(){
            global 
    $uname;
            global 
    $pw;
            
    $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) {
                
    $_SESSION['username'] = $uname;
                
    $_SESSION['password'] = $pw;
                echo 
    "benvenuto alla tua area personale".$uname;
                
    header("location:http://www.laboraccio.altervista.org/profilo.php");

            
            }
            elseif(
    $result == 0) {print "utente non valido";  
            
    header("Refresh:10; url=http://www.laboraccio.altervista.org/");
            }

        
        }


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

    ?>
    Codice PHP:
    <?php

    /*PROFILO.PHP*/
    session_start();

    if(!isset(
    $_SESSION['username'])) {
        
    header("location: http://laboraccio.altervista.org/");
    }

    if(isset(
    $_SESSION['username'])){
    echo 
    $_SESSION['username'];
    }
    ?>
    Ogni volta che faccio login mi rimanda sempre al index

  2. #2
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    tanto per iniziare
    Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include, or require, functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
    eXvision

  3. #3
    Quote Originariamente inviata da brodik Visualizza il messaggio
    tanto per iniziare
    vabene comunque anche dopo aver fatto login mi rimanda sempre al index, secondo te dove sta il problema?

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Ma non vedi errori o warning emessi da php ? Perché secondo me dovresti vedere almeno dei warning visto che fai un $_GET[‘sms’] senza che ci sia nel file index.php

    Se è proprio il caso aggiungi questo all’inizio dei file.
    error_reporting(E_ALL);

    Il problema con il tuo codice è che una volta risolto un problema ne scatterà un altro. Io ti ho dato dei consigli e non li hai seguiti. brodik te ne dà uno e non lo segui. Apparentemente sei un principiante e se non segui i consigli da chi ha esperienza perché quei che hanno esperienza dovrebbero continuare ad aiutarti ?
    Ultima modifica di badaze; 06-10-2018 a 22:19
    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
    ciao badaze scusami ma il mio codice non produce nessun errore, e a proposito del $_GET['sms'] non ho capito bene quello che vuoi dirmi, quella riga serve per disconettere, chiuedere la sessione del utente dalla pagina di profilo.

    in quanto ai consigli che mi avevi dato, vorrei applicarli ma non ho capito bene la procedura da fare.

  6. #6
    ho aggiunto error_reporting(E_ALL); al inizio del codice del server.php e di profilo.php e ancora continua a rimandarmi al index senza errori

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.