Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: problema log-in

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    260

    problema log-in

    ariciao
    oggi per me è una giornata difficilissima...

    allora risolta ormai del tutto la registrazione utenti
    ho dei grossi problemi con il login

    questa è la pagina del log
    nn riesco a capire dove cavolo possa essere l'errore...
    mi affido a voi... genietti...

    contate che utenti_ins è il nome del database
    user è il campo nome utente all'interno del db
    e psw e il campo password all'interno del db

    Codice PHP:
    <?php

    mysql_connect
    ("localhost""...""...") or die(mysql_error());
    mysql_select_db("...") or die(mysql_error());


    if(isset(
    $_COOKIE['ID_my_site']))


    {
    $username $_COOKIE['ID_my_site'];
    $pass $_COOKIE['Key_my_site'];
    $check mysql_query("SELECT * FROM utenti_ins WHERE user = '$user'")or die(mysql_error());
    while(
    $info mysql_fetch_array$check ))
    {
    if (
    $pass != $info['password'])
    {
    }
    else
    {
    echo 
    "dovrebbe aver visto i cookie???";

    }
    }
    }


    if (isset(
    $_POST['submit'])) { 


    if(!
    $_POST['user'] | !$_POST['psw']) {
    die(
    'You did not fill in a required field.');
    }


    if (!
    get_magic_quotes_gpc()) {
    $_POST['email'] = addslashes($_POST['email']);
    }
    $check mysql_query("SELECT * FROM utenti_ins WHERE user = '".$_POST['user']."'")or die(mysql_error());


    $check2 mysql_num_rows($check);
    if (
    $check2 == 0) {
    die(
    'nn esiste questo utente <a href=cond.php>registrati</a>');
    }
    while(
    $info mysql_fetch_array$check ))
    {
    $_POST['psw'] = stripslashes($_POST['psw']);
    $info['password'] = stripslashes($info['password']);
    $_POST['psw'] = md5($_POST['psw']);


    if (
    $_POST['psw'] != $info['psw']) {
    die(
    'password sbagliata...');
    }

    else
    {

    // if login is ok then we add a cookie
    $_POST['user'] = stripslashes($_POST['user']);
    $hour time() + 3600;
    setcookie(ID_my_site$_POST['user'], $hour);
    setcookie(Key_my_site$_POST['psw'], $hour);

    //then redirect them to the members area
    die('dovrebbe aver fatto il log...');
    }
    }
    }
    else
    {


    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
    <h1>Login</h1>

    Username: <input type="text" name="user" maxlength="40">

    Password: <input type="password" name="psw" maxlength="50">

    <input type="submit" name="submit" value="Login">

    </form>
    <?php
    }

    ?>
    grassie milisime!
    ciao ciao... forse un giorno...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    260
    ah
    se puo' essere utile
    continua a darmi "password sbagliata"
    anche se la inserisco in maniera corretta...

    grassie
    ciao ciao... forse un giorno...

  3. #3
    sostituisci il die("password sbagliata") con questo:

    Codice PHP:
    die("pass inserita: " $_POST['psw'] . " - pass database: " $info['psw']); 
    così vedi che differenza c'è tra le 2...
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    260
    Originariamente inviato da king size slim
    sostituisci il die("password sbagliata") con questo:

    così vedi che differenza c'è tra le 2...
    ok
    mi dice questo... da cio' posso già vedere da me che ne vede due diverse... :master:
    Codice PHP:
    pass inserita0ae3e820c7a2f653884b934b9ac6ec88 pass databaseed8c8036e8b20c68faad6e0c7a92d9f5 
    perchè mi fa questo?
    ciao ciao... forse un giorno...

  5. #5
    innanzitutto questa riga:

    Codice PHP:
    $info['password'] = stripslashes($info['password']); 
    la puoi togliere perchè è inutile...in un md5 non ci sono slash...

    e poi nella if non controlli il giusto valore di password

    if ($_POST['psw'] != $info['password']) {
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    260
    Originariamente inviato da king size slim
    innanzitutto questa riga:

    Codice PHP:
    $info['password'] = stripslashes($info['password']); 
    la puoi togliere perchè è inutile...in un md5 non ci sono slash...

    e poi nella if non controlli il giusto valore di password

    if ($_POST['psw'] != $info['password']) {
    capito... hai ragione...che siema...
    adesso provo a vedere...
    mi si stanno incrociando gli occhi...
    ciao ciao... forse un giorno...

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    260
    sempre lo stesso errore...
    Codice PHP:
    pass inserita0ae3e820c7a2f653884b934b9ac6ec88 pass databaseed8c8036e8b20c68faad6e0c7a92d9f5 
    ciao ciao... forse un giorno...

  8. #8
    se avessi avuto i notice attivi comunque te ne saresti accorta subito...

    avrebbe sollevato un'eccezione vedendo che controllavi un valore non settato

    cambia il die così vediamo...

    Codice PHP:
    die("pass inserita: " $_POST['psw'] . " - pass database: " $info['password']); 
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    260
    Codice PHP:
    pass inserita0ae3e820c7a2f653884b934b9ac6ec88 pass database
    notice...??? cus'è? uddio... nn mi sembra di averli mai usati... illuminami... :master:
    ciao ciao... forse un giorno...

  10. #10
    scusa ma il campo password in database si chiama pwd o password?


    Codice PHP:
    while($info mysql_fetch_array$check ))
    {
    $_POST['psw'] = stripslashes($_POST['psw']);
    $info['password'] = stripslashes($info['password']);
    $_POST['psw'] = md5($_POST['psw']);


    if (
    $_POST['psw'] != $info['psw']) {
    die(
    'password sbagliata...');

    questa procedura è concettualmente sbagliata e secondo me fallisce perchè hai diversi user uguali con password diverse nel database...

    il resultset che seleziona il record con relativo all'user inserito dovrebbe tornare 0 o 1 record.
    se torna zero significa che non esiste, come hai giustamente scritto tu, se torna 1 non ha senso fare un while ti basta fare $info=mysql_fetch_array( $check ); senza while
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

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