<?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];
}
}
}
?>
<?php
/* definição das variavaies */
/* base de dados mysql*/
$dbuser='dbuser';
$dbpasswd='dbpasswd';
$dbhost='localhost';
$dbname='dbname';
?>
<?
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();
}
?>
<?
session_start();
$_SESSION["login"] = false;
Header("Location: index.php");
die();
?>
<?
session_start();
if (!$_SESSION['login'])
{
include("error.html");
die ();
}
?>
<?php include ("session_start.php") ?>
<?
//Se o USER nao está definido
if (!isset($_SERVER['PHP_AUTH_USER'])) {
//Mostrar Janela Prompt (Aquelas que voçês vêem nos Sites Porno :P)
header('WWW-Authenticate: Basic realm="Area Protegida do MeuSite"');
header('HTTP/1.0 401 Unauthorized');
//Comandos a executar, caso o utilizador pressione 'Cancel' nessa janela
echo 'Carregaste Cancelar?!?! Tens que fazer login se queres ver estas morenas..';
//Parar o prompt
exit;
//Se o USER estiver definido e for = "joaquim" e a password = "maria"
//Mudar em baixo, para outro user\password.
} else if ( (($_SERVER['PHP_AUTH_USER']) === "joaquim") AND ($_SERVER['PHP_AUTH_PW']) === "maria") {
//Comandos a executar, caso os dados acima estejam correctos
echo "Ola {$_SERVER['PHP_AUTH_USER']}, bem-vindo ao meu site privado :D";
}
?>
<?php require_once 'proteger.php'; ?>
Desculpem-me, mas qual é a linha que liga à nossa base de dados propriamente dita?
(Por exemplo, eu no ODBC tenho a ligação feita para a Base de dados que criei, Gest.
function db_connect ($dbhost, $dbname, $dbuser, $dbpasswd)
Desculpem-me, mas qual é a linha que liga à nossa base de dados propriamente dita?
(Por exemplo, eu no ODBC tenho a ligação feita para a Base de dados que criei, Gest.
[COLOR=#000000][COLOR=#007700][/COLOR][COLOR=#0000BB]$this[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]dbconnect [/COLOR][COLOR=#007700]= @[/COLOR][COLOR=#0000BB]mysql_pconnect[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$this[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]dbhost[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000BB]$this[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]dbuser[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000BB]$this[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]dbpasswd[/COLOR][COLOR=#007700]) or die ([/COLOR][COLOR=#0000BB]BASE_DBCONNECTERROR[/COLOR][COLOR=#007700]); [/COLOR][COLOR=#FF8000]// Connect to the database[/COLOR][/COLOR]
Hás-de ter um form, com action="login.php" e o method="POST", pois as variáveis são passadas por POST ao carregares no submit.
Há milhentos exemplos na net.
Esse codigo que tens/fizes-te é seguro? SQL injection...etc
seguro é relativo...
o melhor que um gajo pode fazer é ter https e usar
mysql_real_escape_string()