Visualizzazione risultati 1 fino 3 di 3

Discussione: Username e password errati anche se presenti nel database! help!

  1. #1
    Guest

    Predefinito Username e password errati anche se presenti nel database! help!

    Buonasera a tutti , ho creato delle pagina per effettuare l' accesso a una pagina del mio sito , sono sicuro che i dati che inserisco per accedere sono presenti nel database ma nonostante questo quando accedo mi da l'errore username o password errati posto il codice delle tre pagine, Qualcuno può aiutarmi?


    pagina uno , pagina di login.php

    <html>
    <head>
    <style>
    #sfondo {
    background: url(libri.jpg) no-repeat 0 100%;
    color: white;
    }
    </style>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="bootstrap.min.css">
    <script src="jquery.min.js"></script>
    <script src="bootstrap.min.js"></script>

    <title> Accesso </title>
    <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/md5.js"></script>
    <script type="text/javascript" src="jquery.js"> </script>




    <script>
    function invia()
    {
    $.ajax({
    url:"studentelogin2.php",
    data: {

    nome_utente= nome_utente.value,
    password= password.value



    } ,

    });
    }
    </script>




    </head>
    <body >
    <div class="container">
    <div id="sfondo" class="jumbotron">

    <h1>Biblioteca ITIS Fermi-Guttuso</h1>

    </div>
    <div class="row">
    <div class="col-sm-4">

    </div>
    </div>

    <!-- Navigation -->
    <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
    <span class="sr-only">Toggle navigation</span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    </button>
    <a class="navbar-brand" href="accesso.html">Home</a>
    </div>
    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
    <ul class="nav navbar-nav">
    <li>
    <a href="chi siamo.html">Cos'è Fermi-Teca</a>
    </li>

    <li>
    <a href="contatti.html">Contattaci</a>
    </li>
    </ul>
    </div>
    <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
    </nav>



    <hr>

    <div class="row">
    <div class="col-sm-8">
    <h2>Benvenuto nella pagina d'accesso allo studente</h2>
    <p> Accedi per iniziare ad usare il nostro servizio</p>
    <p>
    <!--<a class="btn btn-default btn-lg" href="#">Call to Action &raquo;</a> -->
    </p>
    </div>
    <div class="col-sm-4">


    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>


    </div>
    <form name="modulo" ACTION="studentelogin2.php" method="post">


    <div class="form-group">
    <div class="col-xs-3">
    <label for="nome_utente">Nome Utente:</label>
    <input id="nome_utente" name="nome_utente" class="form-control" placeholder="Inserire Nome Utente" type="text" value="" size="40" maxlength="200" >
    </div>
    </div>

    <div class="form-group">
    <div class="col-xs-3">
    <label for="password">Password:</label>
    <input id="password" class="form-control" placeholder="Inserire password" name="password" type="password" value="" size="40" maxlength="200" >

    </div>
    </div>

    <p align="left" > <button class="btn btn-primary" onclick="invia()">Accedi</button> </p>
    </form>



    </div>

    <br/>
    <br/>
    <br/>
    <br/>
    <footer>
    <div class="row">
    <div class="col-lg-12">
    <p> <h7> Copyright &copy;Biblioteca Itis 2015 <h7></p>
    </div>
    </div>
    <!-- /.row -->
    </footer>
    </body>
    </body>
    </html>
    pagina 2 pagina che crea la connessione al database e controlla se i dati sono presenti nel databse

    <?php
    $servername = "localhost";
    $username = "itisdeveloper";
    $password = "";
    $dbname = "my_itisdeveloper";

    // Create connection
    $conn = new mysqli($servername,$username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    $myusername=$_POST['nome_utente'];
    $mypassword=$_POST['password'];
    $encryptpassword=md5($mypassword);
    $sql="SELECT * FROM studente WHERE nome_utente='$myusername' and password='$encryptpassword'";
    $result=mysql_query($sql);
    // Mysql_num_row is counting table row
    $count=mysql_num_rows($result);
    // If result matched $myusername and $mypassword, table row must be 1 row
    if($count==1){
    // Register $myusername, $mypassword and redirect to file "login_success.php"
    session_register("myusername");
    session_register("mypassword");
    header("location:checkstud.php");
    }
    else {
    //echo "'$sql'";
    echo "Attenzione username o password errati";
    }

    ?>
    pagina 3 che apre la sessione se i dati sono giusti

    <?php
    // Controlla se la sessione e' stata registrata, altrimenti rimanda alla pagina di login
    // Questa prima parte dobbiamo inserirla in tutte le pagine che vogliamo proteggere con password prima di qualsiasi altra cosa
    session_start();
    if(!session_is_registered(myusername)){
    header("location:loginstud2.php");
    }
    ?>

    Cosa c'è di sbagliato

  2. #2
    Guest

    Predefinito

    http://http://itisdeveloper.altervista.org/BibliotecaScuola/accesso.html

    Questo è il link del mio sito per registrazrvi dovete cliccare su accesso studente e poi su registrati e dopo tgornate indietro sempre nella pagina accesso studente e poi cliccate accedi

  3. #3
    Guest

    Predefinito

    Itis ciao, non è che si capisce molto il codice potresti codificare mettendo tra parentesi quadre il codice se è php tra parentesi quadre php e a fine /php, guarda BBcode...Comunque dando una occhiata alla veloce c'è qualcosa che non quadra sicuramente in ajax, vedo che hai fatto il redirect nel php...Io lo farei in ajax al success...Allora cerco di spiegarmi il più nitido possibile, una chiamata Ajax invia alla pagina PHP i tuoi dati (i DATA) quando entra nella pagina PHP legge il codice e come risposta possiamo dire che prende il print che incontra in quel determinato script di php, mi spiego meglio, se una persona non mette lo user name, cioè user vuoto con Ajax tu invierai alla pagina PHP user="" se nel php metti un

    Codice PHP:

    if (trim($nome_utente)==""){

    echo
    "User_Vuoto";
    break;
    }

    Nell'Ajax recupererai il case "User_Vuoto" perchè il print che incontra nel lato server quando lo user è vuoto è User_Vuoto, perchè entra in quell'IF e poi c'è il break quindi risponderà al client(cioè javascript) User_Vuoto..Quindi in Ajax potresti scrivere una cosa del genere

    Codice:
    function invia()
    {
    $.ajax({
               method="POST", //questo tu non l'hai scritto nella tua chiamata Ajax e ci vuole
               url:"studentelogin2.php",
               data: {nome_utente= nome_utente.value,
                         password= password.value},
    
              success : function(data){
                           switch(data){
                                 case "User_Vuoto":
    			              $("#dialog").dialog("open").html("UserName obbligatorio");//Qui ovviamente avrai un div con id=dialog e costruirai la tua dialog di avviso
    			              return false;
                           }
                        }
    
    });
    }

    Quindi nel tuo caso quando effettui il controllo sul database di user e password se l'utente esiste metterai un echo "OK" e nel Javascript nel case OK farai window.location = "PaginaHome.php"

    Devi fare tutti i controlli che l'user sia valorizzato la pass valorizzata e che esista l'utente quindi fai il redirect alla pagina di Home o se l'utente non esiste farai un alert case "Utente_Errato"...In queste chiamate molte volte si usa anche il separatore " | " in modo da gestire la risposta in maniera più completa poi nel javascript con uno split della DATA recupererai quello che ti serve, comunque se decodifichi meglio il codice vedo di darti una mano alla giusta architettura di logica...
    Ciao

    Ps:Vediamo di impostare prima il giusto lato client, poi andiamo nel lato server, perchè per esempio siamo sicuri che quel md5 sia salvato sul database come md5?cioè il campo pass nel database deve essere un md5 altrimenti non entra, poi mi sembra che usi session_register senza session_start, non so se conviene, perchè così facendo dovresti inviare implicitamente i parametri alla session_start() che poi apri nella pagina 3 ma controlli solo la registrazione username...Uhmm c'è da fare un pò di debug..forse va bene anche così c'è da studiarci un attimino...Però vedo che non fai un prepare statment, ecco in questi casi sarebbe meglio fare un $slq=$db->prepare(SELECT) un bind dei parametri, un bind_result un execute, store_result un num_rows() e fetch()...Stai facendo un'area di Login deve essere a prova di bomba ;) Non consiglio una semplice query...
    Ultima modifica di fractalcosmo : 02-06-2015 alle ore 16.39.06

Regole di scrittura

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