Visualizzazione risultati 1 fino 6 di 6

Discussione: Errore login!

  1. #1
    Guest

    Predefinito Errore login!

    Questo è il mio codice per il login, ma continua a non accedermi e a darmi il messaggio: "Username o password errati!" con più account che ho registrato! Sapete dirmi come mai?
    Codice PHP:
    <html><title>Login</title>
    <body>
    <center>
    <form method="POST" name="formLogin" id="formLogin">
    <table border="1" align="center">
    <tr>
    <td><div align="right">Username:</div></td>
    <td><div align="center">
    <input name="username" type="text" id="username">
    </div></td>
    </tr>
    <tr>
    <td><div align="right">Password:</div></td>
    <td><div align="center">
    <input name="password" type="password" id="password">
    </div></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><div align="center">
    <input type="submit" name="accedi" value="Accedi">
    </div>
    </td>
    </tr>
    </table>
    </form>
    </center>
    </body>
    </html>
    <?php
    // Se clikkano sul bottone Accedi...
    if(isset($_POST['accedi'])) {

    // Se i campi Username e password sono vuoti...
    if($_POST['username'] == "" OR $_POST['password'] == "") {

    echo
    "Inserisci username e password!";

    }
    // Fine: Se i campi Username e password sono vuoti...
    else {
    $username = $_POST['username']; // Username scritto nel form
    $password = $_POST['password']; // Password scritta nel form

    $query = "SELECT * FROM tabella WHERE username='" . $username . "' AND password='" . $password . "';";
    $result = mysql_query($query);
    $row = mysql_fetch_assoc($result);
    if (
    $username = $row['username'] AND $password = $row['password']) {

    session_start(); //Apro una sessione
    $_SESSION['username'] = $username;
    $_SESSION['login'] = 'OK';
    if (
    $row['Admin'] == 1) {
    $_SESSION['admin'] = 'OK';
    }
    Header("Location: index.php"); // Redirect al login corretto...
    } // Fine: Se l'Username e password giusti...

    // Se l'username e la password sono sbagliate...
    else {

    echo
    "Username o password errati!";

    }
    // Fine: Username e Password Sbagliati...

    } // Fine: Ci sono tutti i campi corretti (inseriti non validati)...

    } // Fine: Se clikkano sul bottone Accedi...

    ?>

  2. #2
    Guest

    Predefinito

    guarda ti consiglio di rivedere il codice + attentamente , sopprattuto la parte della

    $row = mysql_fecth_assoc

    ti consiglierei di estrarre i dati attraverso un while e confrontarli con quelli inviati via post

    La stessa identica cosa l'affronto in un mio tutorial :

    http://www.ebug.it/?p=43

    spero di essere stato di aiuto . Fammi sapere

    guarda
    Ultima modifica di scacchirako : 01-04-2010 alle ore 10.47.15

  3. #3
    Guest

    Predefinito

    Allora: io ho adottato il tuo sistema di login con qualche modifica:

    Codice PHP:
    <?
    //variabili di connessione
    require 'config.inc.php';
    require
    'connect.php';
    ?>

    <form action="<? $_SERVER[PHP_SELF]; ?>?login=ok"
    enctype="application/x-www-form-urlencoded" method="post">

    <strong>Username</strong><input name="user" type="text" />

    <strong>Password</strong>

    <input name="pass" type="password" />

    <input type="submit" value="Entra" />

    </form><?// recupero di valori inviati dal form: user e pass

    $user = $_POST['user'];
    $pass = $_POST['pass'];

    $risp = "ok";
    $login = $_GET['login'];

    // questo serve per evitare di ricevere subito un messaggio dallo script

    if ( $login == $risp ) {

    // controllo che entrambi i valori siano stati compilati

    if ( $user && $pass ) {

    // effettuo l'escape per i valori speciali per evitare problemi con le query

    $user = mysql_real_escape_string($user);
    $pass = mysql_real_escape_string($pass);

    // preparo una query cioè una richiesta al database che vede se esistono i
    // valori appena inseriti nella tabella creata precedentemente

    $sql = "SELECT id FROM utenti WHERE Username = '$user' AND Password = '$pass'";
    $res = mysql_query($sql) or die (mysql_error());

    // ora se i dati inseriti sono quelli esatti presenti all'interno della tabella possiamo far effettuare il login

    if ( $res ) {

    // ora creo una sessione con l'id dell'utente che lo farà restare connesso tutto
    // il tempo della navigazione alle pagine protette da login

    while($row = mysql_fetch_array($res)) {

    session_start();

    $idutente = $row['idutente'];

    $nomeutente = $row['username'];

    $_SESSION['id_utente'] = $idutente;

    $_SESSION['nome_utente'] = $nomeutente;

    // e infine reindirizzo l'utente nella pagina protetta da login

    header("location: index.php");

    }

    } else {

    echo
    "Username o Password errati";

    }

    } else {

    echo
    "Non sono stati compilati tutti i dati obbligatori";

    }

    }

    ?>
    L'unica cosa è che io ho impostato nello script sottostante che "if ( $_SESSION['id_utente'] && $_SESSION['nome_utente'] )" mi visualizza la scritta logout con il rispettivo collegamento, altrimenti, ACCEDI e REGISTRATI. Cosa non và? Se vuoi prova sul sitoenkantar.altervista.org/index.php?view=login ad accedere con user Prova e passw prova e vedrai...

    Codice PHP:
    <a href="index.php?view=chisiamo">CHI SIAMO</a> | <a href="index.php?view=contatti">CONTATTI</a> |
    <?php
    session_start
    ();
    if (
    $_SESSION['id_utente'] && $_SESSION['nome_utente'] ){
    echo
    '<a href="index.php?view=login">ACCEDI</a> | <a href="index.php?view=registration">REGISTRATI</a>';
    }else{
    echo
    '<a href="index.php?view=loguot">LOGOUT</a>';
    }
    ?>
    <br>
    <br>
    <br>
    <?php
    switch($_GET['view']) {
    case
    'articoli':
    include (
    "INCLUDE/view.php");
    echo
    '<br><br><br><br><a href="index.php?view=new"><h3>Clicca qui</a> per postare un nuovo articolo!</h3>';
    break;
    case
    'registration':
    include (
    "INCLUDE/registration.php");
    break;
    case
    'new':
    include (
    "INCLUDE/autentificazione.php");
    include (
    "INCLUDE/insert.php");
    break;
    case
    'add':
    include (
    "INCLUDE/save.php");
    break;
    case
    'regok':
    include (
    "INCLUDE/registra.php");
    break;
    case
    'chisiamo':
    echo
    "Pagina non disponibile";
    echo
    "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
    break;
    case
    'contatti':
    echo
    "Pagina non disponibile";
    echo
    "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
    break;
    case
    "login":
    include (
    "INCLUDE/login.php");
    break;
    case
    "loginsuccess":
    include (
    "INCLUDE/entra.php");
    break;
    case
    "logout":
    include (
    "INCLUDE/logout.php");
    break;
    default:
    ?>

    <table width="101%" border="0">
    <tr>
    <td><img src="images/viaggi.jpg" width="200" height="150" alt="Immagine" class="left" /></td>
    <td><h2>&nbsp;</h2>
    <h2>&nbsp;</h2>
    <h2><strong>Articoli</strong></h2>
    <p>Avete Fatto un viaggio da sogno e lo volete raccontare a tutta la comunit&agrave;? </p>
    <p>Cosa aspettate ad entrare in questa sezione e descrivercelo in ogni minimo dettaglio?</p>
    <p>&nbsp;</p></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><h2><strong>Fotografie</strong></h2>
    <p>Se avete delle belle fotografie di vostri viaggi questa &egrave; la sezione adatta a voi. Mostrate le vostre foto al resto della comunit&agrave;. Ogni mese le pi&ugrave; belle verranno selezionate per il logo del sito. <br>
    <?php
    session_start
    (); //Apro la sessione
    if ($_SESSION['admin'] != 'OK') //Se l'utente non ha effettuato il login
    {
    echo
    '<a href="index.php?view=login">ACCEDI</a> | <a href="index.php?view=registration">REGISTRATI</a>';
    }
    else
    {
    echo
    '<a href="index.php?view=loguot">LOGOUT</a>';
    }
    ?>
    </p></td>
    <td ><img src="images/cave_dwellings_of_cappadocia_turkey.jpg" width="200" height="150" alt="Immagine" class="right" /></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><br><br><img src="images/egitto 1.jpg" width="200" height="150" alt="Immagine" class="left" /></td>
    <td><h2><strong>Diari</strong></h2>
    <p>Questa sezione non l'ho capita.</p></td>
    <td>&nbsp;</td>
    </tr>
    </table>
    <table width="100%" border="0">
    <tr>
    <td><h2><strong>Viaggi &amp; Miraggi</strong></h2>
    <p>Per non perdervi le uscite della nostra rivista questa &egrave; la sezione ideale.</p></td>
    <td>
    <h2><img src="images/cina3.png" width="200" height="150" alt="Immagine" class="right" /></h2>
    <h2>&nbsp;</h2>
    <p>&nbsp;</p></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><img src="images/Edenpics-com_002-027-Oceano-Atlantico-e-rocce-scoscese-Portogallo-Un-posto-sulla-costa.jpg" width="200" height="150" alt="Immagine" class="left" /></td>
    <td ><h2><strong>Destinazioni</strong></h2>
    <p>Non l'ho capita.</p></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><h2><strong>Le vostre segnalazioni</strong></h2>
    <p>Segnalateci Hotel, residence, ristoranti o altro dove avete avuto un soggiorno piacevole.<br>
    </p></td>
    <td><h2><br><img src="images/1208268300roma001b.jpg" width="200" height="150" alt="Immagine" class="right" /></h2></td>
    <td>&nbsp;</td>
    </tr>
    </table>
    <br>
    <?php
    break;
    }
    ?>

  4. #4
    Guest

    Predefinito

    guarda lo vedo benissimo io , vedo articoli con foto di una spiaggia , e fotografie con una foto di un bel paesaggio di una città in una montagnetta , diari con le piramidi , viaggi e miraggi con un tempio giapponese .

    Se non fa entrare prova a riavviare il tuo browser cancellando cookie e file temporanei e poi mi fai sapere.

    Aspetto tue risposte .

  5. #5
    Guest

    Predefinito

    Non stavo dicendo il fatto di vedere o meno la pagina, ma intendevo il fatto che accanto a CHI SIAMO | CONTATTI | vedo LOGOUT anche se non sono loggato, invece di vedere ACCEDI e REGISTRAZIONE! Cosa devo fare?

  6. #6
    Guest

    Predefinito

    allora

    Codice PHP:

    if ( $_SESSION['id_utente'] && $_SESSION['nome_utente'] ) {

    echo
    "<a href='accedi.php'>Devi fare la login</a>";

    } else {

    echo
    "<a href='logout.php'>Esci</a>";

    }
    dimmi se va bene. A dp

Regole di scrittura

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