hola que tal, tengo un problema y creo que que es el sig, quiero ingresar datos para loguearme en una pag de practica que estoy haciendo, el tema es que me salta un error que dice que en la clase Direccion del archivo url.php en la linea 21 que es una consulta se da el error pero luego veo que esto empieza desde antes ya que no se llegan a recibir los datos
usrname y passwrd que yo introduzco en primera instancia y que pasan en primer lugar por miembro.php para despues llamar a la clase Autentica de autentificar_usr.php, probe pasando estos dos valores con POST pero no va... que puede ser?, les agradecere su ayuda porque me trabe con esto hace rato
saludos
miembro.php
Código PHP:
<?php
require_once('formularios.php');
require_once('autentificar_usr.php');
require_once('url.php');
session_start();
$form= new Muestra();
$check= new Autentica();
$link= new Direccion();
$form-> html_encabezar('MIEMBROS');
try
{
if($usrname && $passwd)
{
$check-> identificar($usrname, $passwd);
}
$form-> html_finalizar();
}
catch (Exception $e)
{
$titulo= "Problema:";
$form->html_subcomentar($titulo);
$msg= $e-> getMessage();
echo $msg;
exit();
}
$form->html_encabezar("INICIO");
$check-> chequear_usuario_valido();
//devuelve los marcadores del usuario
if ($urlArray= $link-> usr_urls($usuarioValido));
$form-> mostrar_urls($urlArray);
//muestra el menu de opciones
$form-> mostrar_menu();
$form-> html_finalizar();
?>
autentificar_usr.php
Código PHP:
<?php
require_once('conexion.php');
class Autentica
{
private $servidor= 'localhost';
private $usuario= 'gerardo';
private $clave= 'gerardo';
private $baseDatos= 'marcadores';
private $base;
public $opc= "";
//Asi se crea y usa un objeto dentro de una clase
function __construct()
{
$this-> base= new Conecta($this-> servidor, $this-> usuario, $this-> clave, $this-> baseDatos);
}
function registrar($usrname, $passwd, $mail)
{
try
{
$opc= 1;
$this-> base->obt_opc($opc);
$consultaStr= "select * from usuario where nombUsuario= '$usrname'";
$this-> base-> consultar($consultaStr);
$this-> base-> desconectar_base();
}
catch (Exception $e)
{
$msg= $e->getMessage();
echo $msg;
exit();
}
try
{
$insertarStr= "insert into usuario(nombUsuario, clave, correo) values('$usrname', '$passwd', '$mail')";
$this-> base-> consultar($insertarStr);
$this-> base-> desconectar_base();
}
catch (Exception $e)
{
$msg= $e-> getMessage();
echo $msg;
exit();
}
return TRUE;
}
function identificar($usrname, $passwd)
{
try
{
$opc= 3;
$this-> base->obt_opc($opc);
$consulta= "select * from usuario where nombUsuario= '$usrname' and clave= '$passwd'";
$resultado= $this-> base-> consultar($consulta);
$this-> base-> desconectar_base();
if($resultado== TRUE)
{
echo "Bienvenido $usrname";
$usuarioValido= $usrname;
session_register("usuarioValido");
}
}
catch (Exception $e)
{
$msg= $e-> getMessage();
echo $msg;
exit();
}
if(!$usrname && !$passwd)
{
throw new Exception("No has podido identificarte correctamente, debes identificarte para porder acceder al sitio");
exit();
}
}
function chequear_usuario_valido()
{
global $usuarioValido;
if(session_is_registered($usuarioValido))
{
echo "Sesion correspondiente a $usuarioValido";
echo '<br>';
}
else
{
echo "PROBLEMA";
}
}
//forma de generar clave alfanumerica
function resetear_clave($usrname)
{
$cadena= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
for($i=0; $i<9; $i++)
{
$contraseña.= substr($cadena, mt_rand(0, 62), 1);
}
try
{
$actualizar= "update usuario set clave= '$contraseña' where nombUsuario= '$usrname'";
$resultado= $this-> base-> consultar($actualizar);
$this-> base-> desconectar_base();
if($resultado!= TRUE)
{
throw new Exception("<b>ERROR::</b> Tu clave no se ha podido midificar, intenta nuevamenta mas tarde.");
}
else
{
return $contraseña;
}
}
catch (Exception $e)
{
$msg= $e-> getMessage();
echo $msg;
exit();
}
}
function notificar_clave($username, $passwd)
{
try
{
$opc= 2;
$this-> base->obt_opc($opc);
$consultar= "select correo from usuario where nombUsuario= '$username'";
$resultado= $this-> base-> consultar($consultar);
$this-> base-> desconectar_base();
if(!$resultado)
{
throw new Exception("<b>ERROR::</b> Tu nueva clave no ha podido ser enviada a tu mail, porfavor intenta nuevamente");
}
else
{
$correo= mysql_result($resultado, 0, "correo");
$de= "From: [email protected] \r\n";
$mesg= "Tu contraseña de Links ha sido cambiada a $passwd \r\n"
."Por favor utiliza la misma la proxima vez que entres al sitio. \r\n";
if(mail($correo, "información de Links", $mesg, $de));
{
echo "Tu nueva clave fue enviada con exito a tu dirección de email.";
}
}
}
catch(Exception $e)
{
$msg= $e ->getMessage();
echo $msg;
exit();
}
}
//esta funcion reeplaza la clave de la base de datos
function cambiar_clave($username, $viejo_passwd, $nuevo_passwd)
{
if(identificar($username, $viejo_passwd))
{
$actualizar= "update set clave= '$nuevo_passwd' where nombUsuario= '$username'";
$resultado= $this-> base->consultar($actualizar);
$this-> base-> desconectar_base();
}
if(!$resultado)
{
throw new Exception("<b>ERROR::</b>La clave no ha podido ser modificada.");//return false
}
else
{
return TRUE;
}
}
}
?>