¡¡¡Feliz año!!!
Estoy liado con la gestión de usuarios. Ya tengo el registro. Estoy con el login. He pillado un código por ahí que me parece que puede servir, pero no va .
Lo que deseo es a partir de un enlace en una página lanzar el login (main_form.php), preferentemente en un form emergente en lugar de una página. pongo el usuario y la clave y después de comprobarlo (Checklogin.php) me debería llevar a la página que deseo (Prueba_MantWeb.php), esto pasará en varias páginas, por lo que el visitante debería hacer un único login para tener acceso a las páginas que sean. Más adelante tendré el problema del tipo o nivel de usuario, de momento estoy aquí.
Lo más curioso (para mí) es que no da error, simplemente se queda encasquillado en (Checklogin.php).
Os pongo los códigos por si lo veis y me podeis decir el fallo gracias por adelantado (una vez más)
main_login.php
Código:
...Es un form normalito ¿no?<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <form name="form1" method="post" action="checklogin.php"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td colspan="3"><strong>Acceso</strong></td> </tr> <tr> <td width="78">Usuario</td> <td width="6">:</td> <td width="294"><input name="usuario" type="text" id="usuario"></td> </tr> <tr> <td>Clave</td> <td>:</td> <td><input name="clave" type="text" id="clave"></td> </tr> <tr> <td> </td> <td> </td> <td><input type="submit" name="Submit" value="Login"></td> </tr> </table> </td> </form> </tr> </table>
Checklogin.php
<?php
Código:
Corto y conciso, no veo nada raro, pero eso no significa nada ob_start(); // Llamo las variables de conexión a DB require_once ('../recor/LoginDB.php'); // Nombre de la tabla $tbl_name="personas"; // Conecto al serbidor y BBDD mysql_connect("$host", "$user", "$pass")or die("cannot connect"); mysql_select_db("$db")or die("cannot select DB"); // Defino $usuario and $clave $usuario=$_POST['usuario']; $clave=$_POST['clave']; // Protejo frente a MYSQL injection $usuario = stripslashes($usuario); $clave = stripslashes($clave); $usuario = mysql_real_escape_string($usuario); $clave = mysql_real_escape_string($clave); $sql="SELECT * FROM $tbl_name WHERE user='$usuario' and pass='$clave'"; $result=mysql_query($sql); // Cuento las filas de la tabla $count=mysql_num_rows($result); // Si $usuario y $clave coinciden, tiene que haber una fila if($count==1){ // Registro $usuario, $clave y redirijo a la página de destino session_register("usuario"); session_register("clave"); header("location:../Prueba_MantWeb.php"); } else { echo "ERROR en usuario o clave"; } ob_end_flush(); ?>
Prueba_MantWEb.php
Código:
Seguro que falta algo pero no se lo que es ¿Alguien puede decírmelo? <?php session_start(); if(!session_is_registered(usuario)){ header("location:../Prueba_MantWeb.php"); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd "> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es"> <?php //Detectammos el idioma del explorador $Lengua = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); //Detectammos la pagina en que estamos $pagina= $_SERVER['PHP_SELF']; ?> <head> <title><?php include('phpBits/GoogleBot_TIT.php'); ?></title> <meta name="description=" content="<?php include('phpBits/GoogleBot_MET.php'); ?>"> <meta http-equiv="Content-Type"content=" text/html;charset=utf-8"> <!--Aquí se indica donde está la hoja de estilos CSS --> <link type="text/css" rel="stylesheet" href="Estilos/PruebaHoja_estilos.css"> <!--Aquí se indican los estilos CSS particulares de esta hoja CSS --> <style></style> </head > <body> <!--MArco general--> <div id="container"> <div id="fondo_img"> </div> <!--Espacio para Noticias--> <div id="Panel_Noticias"> <P><TEXTAREA ROWS="4" COLS="123" ><?php include('cursophp/bodyNews3.php');?> </TEXTAREA><br> </p> <div id="Menu_derecha"> <div id="Menu1"><p> <a rel="nofollow" href="ConsultoresDeIT.php"><?php include('phpBits/Link_Cons.php'); ?></a></p></div> <div id="Menu2"><p> <a rel="nofollow" href="empresa.php"><?php include('phpBits/Link_Emp.php'); ?></a></p></div> <div id="Menu3"><p> <a rel="nofollow" href="Webmap.html"><?php include('phpBits/Link_WebMap.php'); ?></a></p></div> <!--Aquí va el cuerpo de la web, --> <p><?php //Presentamos el texto principal de la página correspondiente al //idioma seleccionado include('phpBits/Body_InsertNews.php'); ?></div > </div> </body> </html>
Muchas gracias y Karma a raudales
J.