Hola:
Ante todo, muchas gracias por la ayuda, he estado revisando todo lo que me has dicho pero sigo sin dar con el error.
Mi opinión es que el script de login abre la pagina de destino "dentro" de la propia página de login pero no sé como indicar que abra una "nueva" página.
Te paso los códigos por ver si tú que sabes más detectas el error (o errores).
Login (main_login.php) es un form de html
Código HTML:
<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>
Comprobación del login (checklogin.php) es la página en donde se genera el error
Código PHP:
<?php session_start ();
//registro las variables de sesion
session_register ($usuario, $clave);
error_reporting(E_ALL);
ini_set("display_errors", 1);
// Llamo las variables de conexión a DB
require_once ('../recor/LoginDB.php');
// Nombre de la tabla
$tbl_name="personas";
// Defino $usuario y $clave
$usuario=$_POST['usuario'];
if (empty ($_POST['usuario'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un usuario\");
window.history.back();
</script>";
exit;
};
$clave=$_POST['clave'];
if (empty ($_POST['clave'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon la clave\");
window.history.back();
</script>";
exit;
};
// Protejo frente a MYSQL injection
$usuario = stripslashes($usuario);
$clave = stripslashes($clave);
// Abro conexión y selecciono la base de datos
$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!");
//Construyo la select
$sql="SELECT * FROM $tbl_name WHERE usuario='$usuario' and clave='$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['usuario'] = $usuario;
$_SESSION['clave'] = $clave;
//header("location:../Prueba_MantWeb.php");
include('../Prueba_MantWeb.php');
}
else {
echo "<script type=\"text/javascript\">alert(\"ERROR usuario o clave\");
window.history.back();
</script>";
exit;
}
?>
Y la página de destino (Prueba_MantWeb.php) que es la que deberia abrirse sin errores
Código PHP:
<?php session_start();
isset($_SESSION['usuario'],$_SESSION['clave'])//{
//verifica si existe la sesion y si existe le asignamos el usuario de la sesión
//$usuario=$_SESSION['usuario'];
//verificamos
//if($usuario!=$usuario){
// header("location:main_login.php");
// exit;
//}
//}else{
//die("no puede acceder directamente, verifique los datos de su cuenta");
//exit;
//}
?><!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 -->
<?php
include('phpBits/estilo_css.php');
?>
<!--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>
<!--Menú lateral-->
<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>
Agradeciendo de antemano (de nuevo) tu ayuda
,
J.