Consulta de error en código php que realiza conexión a una base de datos mysql
<?php
// hacemos una conexion a la bd
$conexion = mysql_connect('xxxxx','xxxxx','xxxxx');
// seleccionamos la Bd
mysql_select_db ("usuarios", $conexion);
//realizamos una consulta a la bd
$query = mysql_query("SELECT * FROM usuario WHERE nombre_usuario='usuario' and clave_usuario='password'", $conexion);
//definimos un array
$array = mysql_fetch_array($query);
//realizamos un array de los campos que contienen el usuario y la contraseña
$arrayusuario = ($array["usario"]);
$arraypassword = ($array["password"]);
//vemos si el usuario y contraseña es váildo
//llamamos los arrays en las siguiente linea.
if ($_POST["usuario"]=="$arrayusuario" && $_POST["contrasena"]=="$arraypassword"){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
$autentificado = "SI";
header ("Location: orderform.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
?>
El código en si no me lanxa error pero parece que no se asigna donde va a leer los datos porque la tabla(usuario) que contiene la base de datos(usuarios) posee solo 2 campos uno llamado nombre_usuario y otro clave_usuario al introducir los los datos en el formulario de acceso me lanxa el error de datos incorrectos es decir que el usuario no aparece en la base de datos pero si modifico estas dos lineas
$arrayusuario = ($array["usario"]);
$arraypassword = ($array["password"]);
Y las pongo así
$arrayusuario = ($array["nombre_usuario"]);
$arraypassword = ($array["clave_usuario"])
Introduzco el usuario y su clave y puff me deja acceder al sistema pero solo el primer usuario de la base da datos lo puede hacer con los otros me da error :S entonces no se si sera un error de escritura que esta mal estructurado espero que puedas ayudarme un saludos
Ah este es el código de seguridad que coloco en las opaginas que no quiero que el usuario no registrado accese
<?
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
//si no existe, envio a la página de autentificacion
header("Location: errorlogin.html");
//ademas salgo de este script
exit();
}
?>
// hacemos una conexion a la bd
$conexion = mysql_connect('xxxxx','xxxxx','xxxxx');
// seleccionamos la Bd
mysql_select_db ("usuarios", $conexion);
//realizamos una consulta a la bd
$query = mysql_query("SELECT * FROM usuario WHERE nombre_usuario='usuario' and clave_usuario='password'", $conexion);
//definimos un array
$array = mysql_fetch_array($query);
//realizamos un array de los campos que contienen el usuario y la contraseña
$arrayusuario = ($array["usario"]);
$arraypassword = ($array["password"]);
//vemos si el usuario y contraseña es váildo
//llamamos los arrays en las siguiente linea.
if ($_POST["usuario"]=="$arrayusuario" && $_POST["contrasena"]=="$arraypassword"){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
$autentificado = "SI";
header ("Location: orderform.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
?>
El código en si no me lanxa error pero parece que no se asigna donde va a leer los datos porque la tabla(usuario) que contiene la base de datos(usuarios) posee solo 2 campos uno llamado nombre_usuario y otro clave_usuario al introducir los los datos en el formulario de acceso me lanxa el error de datos incorrectos es decir que el usuario no aparece en la base de datos pero si modifico estas dos lineas
$arrayusuario = ($array["usario"]);
$arraypassword = ($array["password"]);
Y las pongo así
$arrayusuario = ($array["nombre_usuario"]);
$arraypassword = ($array["clave_usuario"])
Introduzco el usuario y su clave y puff me deja acceder al sistema pero solo el primer usuario de la base da datos lo puede hacer con los otros me da error :S entonces no se si sera un error de escritura que esta mal estructurado espero que puedas ayudarme un saludos
Ah este es el código de seguridad que coloco en las opaginas que no quiero que el usuario no registrado accese
<?
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
//si no existe, envio a la página de autentificacion
header("Location: errorlogin.html");
//ademas salgo de este script
exit();
}
?>
1 respuesta
Respuesta de davidcortesb
1