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

    Controllo login con pdo statement

    Salve mi sto dilettando a fare un semplice sito con database e avrei un problemino col pdo statement che so che è molto meglio delle funzioni mysql. ora vi posto il code per il controllo dei dati di user e pass inseriti dall'utente
    codice:
    <?php           
                $user = $_POST['user'];
                $psw = $_POST['psw'];
                
                include 'db.inc.php';
              
                try
                {
                      $sql = "SELECT * FROM accesso WHERE user='$user' and psw='$psw'";
                    $result = $pdo->query($sql);
                }
                catch(PDOException $e)
                {
                    $error = "Errore nell'esecuzione della query ";
                    include 'error.html.php';
                    exit();
                }
                    
                $nr = $result->rowCount();
                
                if($nr==1){
                    $risq = "Accesso riuscito.";
                    include 'chat.php';
                  } else{
                    $risq = "Accesso non riuscito.";
                    include "index.html";
                    }
        
                 
            ?>
    adesso non so se è giusto il row count per il conto delle righe ho provato anche fetch() ma non riesco a risolvere questo problema, ora con mysql facevo mysql_num_rows($result) che mi restituiva il numero di righe e verificavo se i dati erano corretti. Ora volevo sapere come devo fare con questo metodo dei pdo statement perchè sia che inserisca dati errati che dati esatti presenti nel db la pagina del controllo rimane bianca. Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    11
    Ciao, salvo eventuali risposte di più esperti, fuori di try e catch prova a fare SELECT COUNT(*) per contare le righe e ottenere il risultato, quindi

    Codice PHP:
    ...
    $count=$sql->fetchColumn(); 
    if (
    $count == ) { 
    echo 
    "dati inesistenti"; } // o reindirizzi alla pagina dell'accesso negato  
    else { // se il risultato è positivo fai una SELECT per estrapolare i dati 
    ricevi i dati in questo modo
    Codice PHP:
    ...
    $row $sql1->fetch();  

    $utente $row['user']; 

    $password $row['psw']; 

    e poi fai quello che devi fare, inizi la sessione, reindirizzi alla pagina dell'accesso autorizzato

    Codice PHP:
    ... 





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