Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/01/2011, 15:26
Avatar de Rankxerox1984
Rankxerox1984
 
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 14 años, 4 meses
Puntos: 4
No funciona y no se por qué V2.0 ...es lógico

Hola a todos/as:

¡¡¡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:
<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>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
...Es un form normalito ¿no?
Checklogin.php
<?php
Código:
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();
?>
Corto y conciso, no veo nada raro, pero eso no significa nada

Prueba_MantWEb.php
Código:
<?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>
Seguro que falta algo pero no se lo que es ¿Alguien puede decírmelo?
Muchas gracias y Karma a raudales

J.