[Resolvido] Obrigado | [Ajuda] Login Php mySql

Ragahell

Deus BOINC
o mais simples que existe:

mysql.php

PHP:
<?php
 
define("BASE_DBCONNECTERROR","Ocorreu um erro na ligação à base de dados. Tente mais tarde ou contacte o programador. Obrigado!");
define("BASE_DBSELECTERROR","Ocorreu um erro na ligação à tabela da base de dados. Tente mais tarde ou contacte contacte o programador. Obrigado!");
 
 
 
class database
{
 
    var $dbconnect;
    var $query_result;
    var $row = array();
 
 
    function db_connect ($dbhost, $dbname, $dbuser, $dbpasswd)
    {
        $this->dbhost = $dbhost;
        $this->dbuser = $dbuser;
        $this->dbpasswd = $dbpasswd;
        $this->dbname = $dbname;
        $this->dbconnect = @mysql_pconnect($this->dbhost,$this->dbuser,$this->dbpasswd) or die (BASE_DBCONNECTERROR); // Connect to the database
 
        if ($this->dbconnect)
        {
            $this->dbselect = @mysql_select_db($this->dbname) or die (BASE_DBSELECTERROR); // Select database
        }
 
        return $this->dbconnect;
    }
 
 
    function db_query ($sql)
    {
        // unset($this->$query_result);
        $this->query_result = @mysql_query($sql,$this->dbconnect);
 
        return $this->query_result;
    }
 
 
    function db_close ()
    {
        if($this->dbconnect)
        {
            if($this->query_result)
            {
                @mysql_free_result($this->query_result);
            }
            $result = @mysql_close($this->dbconnect);
            return $result;
        }
        else
        {
            return false;
        }
    }
 
 
    function db_fetcharray ($result = 0)
    {
        if(!$result)
        {
            $result = $this->query_result;
        }
        if($result)
        {
        $this->row[$result] = @mysql_fetch_array($result, MYSQL_ASSOC);
 
        return $this->row[$result];
        }
    }
 
 
    function db_fetchrow ($result = 0)
    {
        if(!$result)
        {
            $result = $this->query_result;
        }
        if($result)
        {
        $this->row[$result] = @mysql_fetch_row($result);
 
        return $this->row[$result];
        }
    }
 
 
    function db_num_rows ($result = 0)
    {
        if(!$result)
        {
            $result = $this->query_result;
        }
        if($result)
        {
        $this->row[$result] = @mysql_num_rows($result);
 
        return $this->row[$result];
        }
    }
}
 
?>
vars.php

PHP:
<?php
/* definição das variavaies */
 
/* base de dados mysql*/
    $dbuser='dbuser';
    $dbpasswd='dbpasswd';
    $dbhost='localhost';
    $dbname='dbname';
 
 
?>
login.php

PHP:
<?
session_start();
 
require_once("data/vars.php");
require_once("data/mysql.php");
 
 
$post_username = $_POST['username'];
$post_password = md5($_POST['password']);
 
$db = new database();
$db->db_connect($dbhost, $dbname, $dbuser, $dbpasswd);
 
$sql_user = "SELECT username, password, id_membro FROM equipa WHERE username='$post_username'";
$result_user = $db->db_query($sql_user);
 
if(!$result_user)
{
    die ("erro de query sql");
}
 
while ($row = mysql_fetch_array($result_user))
{
$username = $row['username'];
$passwd = $row['password'];
$_SESSION["id_user"] = $row['id_membro'];
}
 
if (($username == $post_username) && ($passwd == $post_password))
{
    session_start();
        $_SESSION["login"] = true;
    Header("Location: main.php");
    die();
}
else
{
    $_SESSION['login_error'] = "Ja introduzias os dados correctamente...";
        $_SESSION["login"] = false;
    Header("Location: index.php");
    die();
}
 
?>
logout.php

PHP:
<?
session_start();
 
    $_SESSION["login"] = false;
    Header("Location: index.php");
    die();
 
?>
session_start.php

PHP:
<?
session_start();
if (!$_SESSION['login'])
{
        include("error.html");
    die ();
}
?>
depois basta incluir na 1ª linha de todos os *.php
PHP:
<?php include ("session_start.php") ?>
e voilá...

de referir que como podes ver o sistema funciona com base em var e nao cookies...se quiseres de cookie avisa

cumps

Podem me dizer como seria a pagina principal para este sistema? a dos forms e etc... Obrigado =)
 
Última edição:
vendo muito por alto tens de ter um form com tuas text´s com os nome "username" e "password" além do mais tens de mudar estas variáveis, para as tuas:


<?php
/* definição das variavaies */

/* base de dados mysql*/
$dbuser='dbuser';
$dbpasswd='dbpasswd';
$dbhost='localhost';
$dbname='dbname';


?>
 
um exemplo:

PHP:
<?php
        if ($_SESSION['login']) {
            echo "bem vindo";
        }
        else {
            ?>        
            <form method="POST" action="login.php">
                Login: <input type="text" name="username" /><br />
                Password: <input type="text" name="password" /><br />    
                <input type="submit" value="Login" />        
            </form>
            <?php
            
        }
 
Back
Topo