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

    pagina autenticazione login

    Salve,
    ho un problema con l'autenticazione dei dati inviati da un form tipo login (user,pass).
    Nella pagina di contollo, dove raffronto i dati estratti dal form con i dati presenti nel db, mi dà questo errore:


    la tabella selezionata non esisteYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= ('sergio')AND pass = ('digi')' at line 1



    il codice php della pagina di controllo è:

    <?php
    // connessione al db
    $conn=mysql_connect("localhost", "root", "");
    if(!$conn)
    {
    die("connnesione a mysql fallita!". mysql_error());
    }
    $db=mysql_select_db("staff",$conn);
    if(!$db)
    {
    die("connnesione al database fallita!". mysql_error());
    }
    ?>
    <?php
    // ricezione dei dati dal form e interrogazione tabella "utenti"
    $user2 = $_POST['user2'];
    $pass2 = $_POST['pass2'];
    $query = "SELECT * FROM utenti";
    $query .= "WHERE user = ('$user2')";
    $query .= "AND pass = ('$pass2')";
    $risultato = mysql_query($query, $conn);

    if(!$risultato)
    {
    die("la tabella selezionata non esiste". mysql_error());
    }
    if (mysql_num_rows($risultato) ==1)
    {
    $messaggio = "utente trovato login fatto";
    $trovato = mysql_fetch_array ($risultato);
    echo $messaggio;
    }
    else
    {
    $messaggio = "utente non trovato";
    echo $messaggio;
    }
    ?>
    <?php
    // chiusura della connessione al db
    mysql_close($conn);
    ?>

    al posto di stampare il messaggio, in seguito vorrei inserire un indirizzamento alla pagina riservata.
    Non so se questo codice è proprio adatto allo scopo, se conoscete un codice funzionante sarei ben lieto di utilizzarlo.
    grazie in anticipo per l'aiuto

  2. #2
    ciao,
    se non mandi nulla a video prima puoi fare un redirect con gli header ^_^

    http://www.php.net/manual/en/function.header.php

  3. #3
    Ciao,
    ho qualcosa di veramente funzionante la utilizzo da tempo come sistema di login e ogni utente dopo il login viene automaticamente rediretto alla sua pagina personale.
    Dammi domani mattina per postrti il codice oppure direttamente i files ok?

  4. #4

    grazie infinite altro codice

    Grazie infinte per l'aiuto,
    Io con un pò di ore e litri di sudore sulla fronte ho scritto questo codice che però
    ha delle imperfezioni.
    Cioè se user e pass corrispondono accedo alla pagina, altrimenti se nessuno o uno dei due non corrisponde mi carica la stessa pagina di controllo ma totalmente bianca, invece di rimandarmi alla pagina del login, non riesco a capire perchè...ecco il codice che ho scritto:


    <?php
    $conn=mysql_connect("localhost", "root", "");
    if(!$conn)
    {
    die("connnesione a mysql fallita!". mysql_error());
    }
    $db=mysql_select_db("staff",$conn);
    if(!$db)
    {
    die("connnesione al database fallita!". mysql_error());
    }
    ?>
    <?php
    $user2 = $_POST['user2'];
    $pass2 = $_POST['pass2'];
    $risultato=mysql_query("select * from utenti WHERE user='$user2' AND pass='$pass2'",$conn);
    if(!$risultato)
    {
    die("la tabella selezionata non esiste". mysql_error());
    }
    while ($riga=mysql_fetch_array($risultato))
    if (($user2== $riga["user"]) && ($pass2 == $riga["pass"]))
    { // ok
    header('Location: paginariservata.php');
    exit;
    }
    else
    {
    // ko
    header('Location: insloginutenti.php');
    exit;
    }
    ?>
    <?php
    mysql_close($conn);
    ?>

  5. #5
    non puoi cambiare

    Codice PHP:
    while ($riga=mysql_fetch_array($risultato))
    if ((
    $user2== $riga["user"]) && ($pass2 == $riga["pass"]))
    // ok
    header('Location: paginariservata.php');
    exit;
    }
    else
    {
    // ko
    header('Location: insloginutenti.php');
    exit;

    con

    Codice PHP:
    if (mysql_num_rows($risultato) != 0)
    {
     
    $riga mysql_fetch_array($risultato);
     
    // ok
     
    mysql_close($conn);
     
    header('Location: paginariservata.php');
    }
    else
    {
     
    // ko
     
    mysql_close($conn);
     
    header('Location: insloginutenti.php');

    ?

    Hai messo due controlli sulla stessa cosa, in questo modo se la query restituisce un risultato (e se tutti gli utenti hanno nome utente e password o almeno la password diversa ti restituisce al massimo un solo risultato) i dati sono giusti, l'altra possibilità sono 0 record, in quel caso i dati non sono giusti e viene rimandato alla pagina di login

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