Visualizzazione risultati 1 fino 3 di 3

Discussione: Form per accedere

  1. #1
    Guest

    Angry Form per accedere

    Non riesco a fare il mio form per accedere al sito.
    E' fatto da 3 files:
    signin.php:
    Codice:
    <!DOCTYPE html>
    
    <html>
    
    <head>
    
    
    
    <title>TiKiWiKi - Accedi</title>
    
    
    
    </head>
    
    <body>
    
    
    
    <p>
    
    
    
    Accedi con il tuo username e la tua password:<br><br>
    
    
    
    <form action='site/cp.php' method='post'>
    
    Username: <input type='text' name='username'><br><br>
    
    Password: <input type='password' name='password'><br><br>
    
    <input type='submit' value='Accedi'>
    
    </form>
    
    
    
    </p>
    
    
    
    </body>
    
    </html>
    cp.php, nella cartella site
    Codice:
    <!DOCTYPE html>
    
    <html>
    
    <head>
    
    
    
    <title>Pannello di controllo - TiKiWiKi</title>
    
    
    
    </head>
    
    <body>
    
    
    
    <p>
    
    
    
    <?php
    
    
    
    if (!isset($_POST['username']) and !isset($_POST['password'])) :
    
    echo "Mancano alcuni dati. <a href='../signin.php'>Indietro</a>.";
    
    
    
    else :
    
    
    
    if (!@mysql_connect('tikiwiki.altervista.org', 'tikiwiki', 'censura')) :
    
    echo "Impossibile accedere. Riprova pi&ugrave; tardi.<br>";
    
    endif;
    
    
    
    if (!@mysql_select_db('my_tikiwiki')) :
    
    echo "Impossibile trovare il set di siti web. Errore critico.<br>";
    
    endif;
    
    
    
    $username = $_POST['username'];
    
    $sql = "SELECT password FROM sites WHERE username='$username'";
    
    
    $password = mysql_fetch_row($sql);
    
    
    if ($_POST['password'] == $password[0]) :
    
    echo "Attendi...</body><head><meta http-equiv='refresh' content='1; url=edit'></head><body>";
    else: echo 'Errore';
    echo mysql_error();
    
    endif;
    
    
    
    endif;
    
    
    
    ?>
    
    
    </body>
    
    </html>
    index.php, nella cartella /site/edit/
    Codice:
    <!DOCTYPE html>
    
    <html>
    
    <head>
    
    
    
    <title>Pannello di controllo</title>
    
    
    
    </head>
    
    <body>
    
    
    
    <p>
    
    
    
    <?php if ($_GET['cp'] == 'on') :?>
    
    
    
    <a href='newpage.php'><img class='cp-left' src='../../img/newpage.png'>
    
    <a href='editpage.php'><img class='cp-center' src='../../img/editpage.png'>
    
    <a href='http://www.dot.tk'><img class='cp-right' src='../../img/dot-tk.png'>
    
    
    
    <?php else :?>
    
    
    
    echo "Errore di autenticazione :-( sigh...";
    
    
    
    <?php endif; ?>
    
    
    
    </p>
    Quando inserisco i dati di accesso (sono già presenti nel db), in cp.php mi mostra la stringa Errore, senza nemmeno mostrare l' errore mysql.

  2. #2
    Guest

    Predefinito

    Ciao tikiwiki!!
    Probabilmente risponderò solo parzialmente alla tua domanda...
    In attesa che qualcuno più esperto ti guidi nell'analisi del codice, volevo ricordarti la possibilità di utilizzare script php già pronti presenti sul web (ce ne sono davvero molti) oppure, ancora meglio, utilizzare la specifica funzione che trovi in programmi come Dreamweaver. In quest ultimo caso è possibile creare in 1 minuto un sistema di login con differenti livelli di autorizzazione (es. admin e utente registrato generico).
    Sicuramente un'ottima risorsa!!

    Ps. Ciò non toglie l'utilità "didattica" del "troubleshooting" del tuo codice.

    Bye

  3. #3
    Guest

    Predefinito

    Il problema è che ti sei dimenticato di eseguire la query:

    Codice PHP:
    $sql = "SELECT password FROM sites WHERE username='$username'";

    $password = mysql_fetch_row($sql);
    A metà ci vuole il comando che esegua la query! Così:
    Codice PHP:
    $sql = "SELECT password FROM sites WHERE username='$username'";
    $result=mysql_query($sql);
    $password = mysql_fetch_row($result);

Regole di scrittura

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