Tené cuidado, con ese metodo te pueden realizar un injeccion SQL facilmente..
Te conviene tener un solo archivo con la conexionde base de datos para que cuando tengas que subirlo a un hosting no tengas que hacerte mucho lio.
./include/dbconnect.php
Código PHP:
<?
$conexion = mysql_connect('localhost','root','');
mysql_select_db('nombre de la base de datos', $conexion);
?>
./action/login.php
Código PHP:
<?php
//error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING); esto ponelo cuando este todo listo asi no saltan errores.
session_start();
include('../include/dbconnect.php');
$usuario = $_POST['nombre'];
$password = $_POST['pass'];
$error = array();
$success = array();
if (empty($usuario) OR empty($password)){
$error[] = "Los campos están vacíos. ";
}
if(!ereg("^[A-Za-z0-9]{3,}$", $usuario)){
$error[] = "El usuario contiene caracteres invalidos. ";
}
if(!ereg("^[A-Za-z0-9]{3,}$", $password)){
$error[] = "La contraseña contiene caracteres invalidos. ";
}
if(empty($error)){
$query = "SELECT * FROM usuario WHERE nombre_usuario = '$usuario' LIMIT 1";
$resultado = mysql_query($query, $conexion) or die(mysql_error());
$total= mysql_num_rows($resultado);
if ($total>0) {
while ($fila = mysql_fetch_assoc($resultado)){
$sqlpwd = $fila['contrasenna'];
$sqlid = $fila['id_usuario'];
}
}
if($password == $sqlpwd){
$_SESSION['userId'] = $sqlid;
header("Location:../index.php");
}else{
$error[] = "El usuario o la contraseña no son correctas";
$message = '';
foreach ($error as $e)
{
$message .= "$e";
}
$_SESSION['notification_login_error'] = $message;
header("Location: ../index.php");
}
}else{
$message = '';
foreach ($error as $e)
{
$message .= "<li>$e</li>";
}
$_SESSION['notification_login_error'] = $message;
header("Location: ../index.php");
}
?>
Edit: Cesar que eso? nunca lo vi mysql_real_escape_string