Visualizzazione risultati 1 fino 8 di 8

Discussione: aiuto form log in

  1. #1
    Guest

    Predefinito aiuto form log in

    Ciao a tutti, sto provando a creare un form per il login degli utenti sfruttando il database fornito da altervista.
    per ora sono riuscito a scrivere questo:
    Codice PHP:
    $db_host="miohost";
    $db_user="miouser";
    $db_pass="miapassword";
    $db_name="dbname";
    $db= mysql_connect($db_host,$db_user , $db_pass ) or die ("errore connessione");
    mysql_select_db($db_name, $db) or die ("errore selezione database");



    $user=mysql_real_escape_string($_POST[email]);
    $pass=mysql_real_escape_string($_POST[pw]);

    if(
    $_GET[log]=='ok'){

    $sql="SELECT * FROM utenti WHERE nome = '$user'";

    $query1=mysql_query($sql);
    $num=mysql_fetch_object($sql);
    $array1=mysql_fetch_array($sql) ;
    if (
    $num !== ""){ //se esiste una email nel database...

    if($array1[password]== md5($pass)){ //se la password è corretta

    if ($array1[attivo]==1){ // Se l'utente è autenticato...

    $_SESSION[autorizzato]=1;
    header("location: riservata.php");
    }else{
    $risp="account non autorizzato";
    }
    }else{
    $risp="password errata";
    }
    }else{
    $risp= "email non valida";
    }
    echo
    "<center><h2>".$risp."</h2></center>".$array1[nome];
    }
    quando vado a provarlo, lo script mi da sempre "email non valida", non riesce a superare la prima condizione(anche se io metto dei dati esatti) quindi penso sia un problema di connessione al database.... qualcuno può illuminarmi?

  2. #2
    L'avatar di memai
    memai non è connesso Utente
    Data registrazione
    10-02-2010
    Residenza
    Bergamo
    Messaggi
    175

    Predefinito

    Nella query SELECT ti conviene definire il campo della password e poi per il login ti consiglio di utilizzare un ciclo while per il fetch_array
    Notte bistecca, ho l'acquolina in bocca e 'sta sera c'è, carne di manzo per me!

  3. #3
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    L'errore penso che sia questo:
    Codice PHP:
    if ($num !== ""){
    Comunque modifica tutto il codice in questo modo e vedi se ti funziona.
    Codice PHP:
    $db_host="localhost";
    $db_user="user";
    $db_pass="";
    $db_name="my_user";
    $db= mysql_connect($db_host,$db_user , $db_pass ) or die ("errore connessione");
    mysql_select_db($db_name, $db) or die ("errore selezione database");



    $user=mysql_real_escape_string($_POST['email']);
    $pass=mysql_real_escape_string($_POST['pw']);

    if(
    $_GET[log]=='ok'){

    $sql="SELECT * FROM utenti WHERE nome = '$user'";

    $query1=mysql_query($sql);
    $num=mysql_fetch_object($sql);
    $array1=mysql_fetch_array($sql) ;
    if (
    $num != ""){ //se esiste una email nel database...

    if($array1['password']== md5($pass)){ //se la password è corretta

    if ($array1['attivo']==1){ // Se l'utente è autenticato...

    $_SESSION['autorizzato']=1;
    header("location: riservata.php");
    }else{
    $risp="account non autorizzato";
    }
    }else{
    $risp="password errata";
    }
    }else{
    $risp= "email non valida";
    }
    echo
    "<center><h2>".$risp."</h2></center>".$array1['nome'];
    }
    Ciao!

  4. #4
    Guest

    Predefinito

    niente da fare.... ho provato sia a inserire il controllo password direttamente nella query che a modificare l'uguaglianza della condizione...... ma nulla, continua a ignorarmi le query, come se non riuscisse a prelevare i dati dal database...
    qualche idea?

  5. #5
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Un'idea ce l'ho: mysql_query().
    Vedi qual è l'errore.
    Ciao!

  6. #6
    Guest

    Predefinito

    allora i risultati delle prove:

    ho fatto prima
    Codice PHP:
    mysql_query($sql) or die(mysql_error());
    nessun errore....
    Codice PHP:
    mysql_fetch_array($sql) or die(mysql_error());
    quando ho provato con questo... praticamente tutto quello che c'è nella pagina sotto il form in questione è scomparso o.O
    a questo punto non so che dire...

  7. #7
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Prova in questo modo e dammi il risultato.
    Codice PHP:
    $db_host="localhost";
    $db_user="user";
    $db_pass="";
    $db_name="my_user";
    $db= mysql_connect($db_host,$db_user , $db_pass ) or die ("Errore 1: ".mysql_error());
    mysql_select_db($db_name, $db) or die ("Errore 2: ".mysql_error());



    $user=mysql_real_escape_string($_POST['email']);
    $pass=mysql_real_escape_string($_POST['pw']);

    if(
    $_GET[log]=='ok'){

    $sql="SELECT * FROM utenti WHERE nome = '$user'";

    $query1=mysql_query($sql) or die("Errore 3: ".mysql_error());
    $num=mysql_fetch_object($sql) or die("Errore 4: ".mysql_error());
    $array1=mysql_fetch_array($sql) or die("Errore 5: ".mysql_error());
    if (
    $num != NULL){ //se esiste una email nel database...

    if($array1['password']== md5($pass)){ //se la password è corretta

    if ($array1['attivo']==1){ // Se l'utente è autenticato...

    $_SESSION['autorizzato']=1;
    header("location: riservata.php");
    }else{
    $risp="account non autorizzato";
    }
    }else{
    $risp="password errata";
    }
    }else{
    $risp= "email non valida";
    }
    echo
    "<center><h2>".$risp."</h2></center>".$array1['nome'];
    }
    Buone feste!

  8. #8
    Guest

    Predefinito

    ho risolto.... c'era un problema con la criptazione della password e il database.... grazie per l'aiuto :)

Regole di scrittura

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