Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Login impossibile

  1. #1

    Login impossibile

    Salve, da stamattina cerco di venire a capo di un problema che, rispetto ad altre procedure, sembra semplice, ma che mi sta bloccando.

    Ho questo form di autenticazione, pagina form_accesso.php
    Codice PHP:
    <form id="form1" name="form1" method="post" action="login.php">
        <p><strong>Accesso utenti</strong></p>    <p>Username <input type="text" name="username" id="username" /></p>    <p>Password <input type="password" name="password" id="password" /></p>        <?php                if(isset($_GET["cod"])) {            $codice=$_GET["cod"];            if($codice=="1") {                echo "<font color='#FF0000'>Username o password errati";            }            if($codice=="2") {                echo "<font color='#FF0000'>Arrivederci!</font>";            }            if($codice=="3") {                echo "<font color='#FF0000'>Non fare il furbo! Devi prima loggarti!</font>";            }        }     ?>    <p><input type="submit" name="button" id="button" value="Login" /></p></form>
    e questa pagina che riceve i dati, login.php
    Codice PHP:
    <?php
            $user 
    = isset($_POST['username']) ? htmlspecialchars($_POST['username']) : '';    if (isset($user)) {        $username=$user;    } else {        $username="";    }
        
    $pass = isset($_POST['password']) ? htmlspecialchars($_POST['password']) : '';    if (strpos($pass'%') !== false) {        header("location: http://gaspare.altervista.org/accesso.php?cod=4");    } else if(isset($pass)) {        $password=$pass;    } else {        $password="";    }
        
    session_start();
        
    $db_username '*****';    $db_password '*****';    $db_host '*****';    $db_name 'my_*****';
        
    $link mysqli_connect("$db_host""$db_username""$db_password""$db_name") or die("Errore connessione");
        if (
    mysqli_connect_errno()) {        echo "Errore apertura database";    }
        
    $sql="SELECT * FROM utenti WHERE username='$username' AND password='$password' AND attivo=1";
        
    $miorecord=mysqli_query($sql);
        
    $count=mysqli_num_rows($miorecord);
        if(
    $count==1) {        while ($riga mysqli_fetch_array($miorecord)) {            $_SESSION['username']= $riga['username'];            $_SESSION['loggato']= "si";            header("location: http://*****/gestione.php");        }    } else {        header("location: http://*****/form_accesso.php?cod=1");    }?>
    Succede che, sebbene nella tabella utenti sia presente il record cercato col SELECT, e attivo sia = 1, l'if finale mi ricarica form_accesso.php con cod = 1.
    Non capisco dove sia l'errore, dato che un login.php, privo di campo attivo, funziona perfettamente in un altro sito, anche con codifica md5 della password.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,027
    Prima di inviare messaggi contenenti codice, visualizza sempre l'anteprima e se necessario riformatta, così è un caos da leggere.

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,027
    Qui
    $miorecord=mysqli_query($sql);

    va passata anche la connessione ($link) come primo parametro.

  4. #4
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Prima di inviare messaggi contenenti codice, visualizza sempre l'anteprima e se necessario riformatta, così è un caos da leggere.
    Il codice era formattato con i vari rientri, eccetera... Poi è apparso così... Non saprei come sistemarlo dato che nell'editor messaggi la tabulazione cambia il focus invece di mettere un rientro come nel codice di origine.

  5. #5
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Qui
    $miorecord=mysqli_query($sql);

    va passata anche la connessione ($link) come primo parametro.
    Ok grazie.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,027
    Quote Originariamente inviata da Gas75 Visualizza il messaggio
    Il codice era formattato con i vari rientri, eccetera... Poi è apparso così... Non saprei come sistemarlo dato che nell'editor messaggi la tabulazione cambia il focus invece di mettere un rientro come nel codice di origine.
    Quello che vedi nell'editor del forum dopo aver fatto copia/incolla del codice da quello che usi per sviluppare non è indicativo di un buon risultato, il carattere di ritorno a capo potrebbe non essere lo stesso (CR/CRLF), quindi va sempre visualizzata l'anteprima.
    Per quanto riguarda i tab sul forum, basta usare 3 o 4 spazi per ogni livello di indentatura, non si deve per forza usare il tab.
    Inoltre, sono solo i ritorni a capo che devi risistemare, non le indentature.

  7. #7
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Quello che vedi nell'editor del forum dopo aver fatto copia/incolla del codice da quello che usi per sviluppare non è indicativo di un buon risultato, il carattere di ritorno a capo potrebbe non essere lo stesso (CR/CRLF), quindi va sempre visualizzata l'anteprima.
    Per quanto riguarda i tab sul forum, basta usare 3 o 4 spazi per ogni livello di indentatura, non si deve per forza usare il tab.
    Inoltre, sono solo i ritorni a capo che devi risistemare, non le indentature.
    Il problema è che tentando di modificare, a volte l'editor appare vuoto , ed è un problema che va avanti da tempo... Non il massimo per un forum che si occupa proprio di assistenza informatica...

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,027
    Hai ragione sul fatto che il forum funzioni male e lo sa anche chi di dovere, ma la sistemazione del codice di cui ti parlo andrebbe fatta contestualmente alla prima scrittura del post, non inviando il post e poi modificandolo.
    Si scrive il post, si visualizza l'anteprima, se serve si modifica, si rivisualizza l'anteprima e così via fino a quando è tutto a posto ed a questo punto si invia definitivamente.

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