session_auth/cadb.php


Home Back


<?php
    // Users
    // make the password with:  echo -n 'mypassword' |md5sum
    
    $login_error='<h2>Login error</h2><script>window.location = "index.php"; </script>';
    $htmlFormLogin='';
    $dsn='pgsql:host=localhost;port=5432;dbname=mydb;user=myuser;password=mypassword';
    $table='users';
    $userField="username";
    $passField="password";
    $activeField="active";
    $sql="select * from  $table where $userField =  :USER and $passField = :PASS and $activeField = '1' ;";
    
    function checkAuth($user, $pass)
    {
        global $dsn, $table, $userField, $passField, $activeField, $sql;
        $c=0;
        
        
        try {
            $dbh = new PDO($dsn);
            $stmt = $dbh->prepare($sql);
            $stmt->bindParam(":USER", $user);
            $stmt->bindParam(":PASS", $pass);
            
            if (! $stmt->execute() ) echo '<p>Error in query .</p>';
            while ($row = $stmt->fetch(PDO::FETCH_BOUND)) $c++;
            if ($c!=0)
            {
                return true;
            }else{
                return false;
            }
            
            $dbh = null;
        } catch (PDOException $e) {
            print "Error : " . $e->getMessage() . "<br/>";
            die();
        }
    }
    
    function checkUsername($username)
    {
        if (ctype_alnum($username)) {
           return true;
        }else{
            return false;
        }
    }
    
    function checkPassword($password)
    {
        if (ctype_alnum($password)) {
           return true;
        }else{
            return false;
        }
    }
    
    // Not edit
    session_start(); 
    
    if (isset($_POST["login_btn"]))
    {
        
        if (!checkUsername($_POST["username"]) || !checkPassword($_POST["password"]))
        {
            echo "<p>Error...</p>";
            die();
        }
        
        
        $username=filter_var($_POST["username"], FILTER_SANITIZE_STRING);
        $password=filter_var(md5($_POST["password"]), FILTER_SANITIZE_STRING);
        
        if (checkAuth($username,$password))
        {
            //logged in
            $_SESSION["username"]=$username;
            $_SESSION["password"]=$password;
            return;
            
        }else{
            //login error
            echo $login_error;    
            die();
        }
    }else{
        if (isset($_SESSION["username"]))
        {
            if (checkAuth($_SESSION["username"],$_SESSION["password"])) return ;
        }
        if (!empty($htmlFormLogin))
        {
            echo $htmlFormLogin;
        }else{    
            echo '
            <!DOCTYPE html >
            <html >
            <head>
                <title>Login</title>
                <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            </head>

            <body>
                
                <h2>Login</h2>
                <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
                <div><label> Username: <input id="username" name="username" type="text" placeholder="Insert username"></label></div>
                <div><label> Password: <input id="password" name="password" type="text" placeholder="Insert password"></label></div>
                <div><button id="login_btn" name="login_btn" >Login</button></div>
                </form>
            </body>';
        }
        
        
        die();
    
    
    }
?>

Powered by Code, a simple repository browser by Fabio Di Matteo