Buenas, estoy haciendo una pagina web en la que tengo una parte privada para usuarios. El problema que tengo es que cuan me quiero loguear no me pasa ni el valor del email ni de la clave. He probado con varias funciones que he encontrado pero con todas me pasa lo mismo, no me pasa los valores de meil y clave por lo que nunca me loguea y siempre me muestra mensaje de error. Espero me puedan ayudar ya que llevo con esto muchos díasy no hay manera.
loguear.php -> este php contiene el formulario para introducir los datos, así como el javascript necesario y la llamada a la funcion login.php
Código PHP:
<?php
session_start();
session_register();
include_once("../BBDD/conexDBTMusik.php");
/* LLAMAMOS AL ARCHIVO FUNCIONES Y OBTENEMOS EL IDIOMA ACTUAL */
if (!isset($_SESSION['lang'])) {
require('../lang/espanol.php');
//require('espanol.php');
$_SESSION['lang']='espanol';
} #por defecto, llamamos al archivo espanol.php (español)
else {
require('../lang/'. $_SESSION['lang'] .'.php');
} #llamamos al archivo php seleccionado…
?>
<!--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 transitional//ES" "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<head>
<title>Introducir</title>
<script>
//acá cada uno crea el objeto a su manera
function aj(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
}
else{
try{
return new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
alert('tu navegador no soporta ajax');
return false;
}
}
}
function sendAndLoad(){
var rpc=aj();
if(rpc){
//si pudo crearse el objeto, avanzamos (respetar el orden)
rpc.open('POST','./cuenta/login.php',true);
rpc.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
//preparamos las variables a enviar
var aEnviar='';
for(ii=0; ii<arguments.length;ii++){
//usamos el objeto arguments para obtener y parsear los datos a enviar
//encodeURI es semejante a urlencode de PHP
aEnviar+=arguments[ii].desc+'='+encodeURI(arguments[ii].dato)+'&';
}
//creamos una función anónima que sirva de handler
rpc.onreadystatechange=function(){
if(rpc.readyState==4){
//nos conectamos, recibimos y hacemos algo con lo que recibimos si queremos
//en este caso, mostramos lo que enviamos
document.getElementById('pp').style.display='block';
document.getElementById('pp').style.color='green';
document.getElementById('pp').innerHTML=rpc.responseText;
}else{
//no nos conectamos todavía y mostramos la precarga
document.getElementById('pp').style.display='block';
}
}
//Recién ahora, que tenemos todo lo anterior terminado, podemos enviar el request
rpc.send(aEnviar);
}
}
//asignamos la función al botón de envío al cargar la página, así no tocamos el html
window.onload=function(){
document.getElementById('Submit').onclick=function(){
//pasamos objetos escritos en notación json como argumentos
sendAndLoad({desc:'meil',dato:document.getElementById('meil').value},{desc:'clave1',dato:document.getElementById('clave1').value},{desc:'Submit',dato:document.getElementById('Submit').value});
}
}
</script>
</head>
<body onLoad="ponerfoco(0,0);">
<table width="100%" height="28%" border=0 style="height:100%;width:100%;">
<tr align="center" bottom="middle">
<td height="144">
<table width="100%" height="28%" border=0 style="height:100%;width:100%;">
<tr align="center" bottom="middle">
<td height="106">
<form id="acceso" name="acceso" method="post" action="">
<table border=0>
<tr>
<td align="left">Email:</td>
<td align="left"><input type="text" name="meil" id="meil" maxlength="50" size="10"> </td>
</tr>
<tr>
<td align="left"><?php echo $lng['usuario']['clau'];?></td>
<td align="left"><input type=PASSWORD name="clave1" id="clave1" maxlength="20" size="10" > </td>
</tr>
<tr>
<td align="left">
<input type="button" name="submit" id="submit" value=<?php echo $lng['cuentanueva']['acceder'];?> onClick="return principal('./cuenta/login.php','mainContent');"
</td>
<td align="left">
<input type="reset" name="resetb" value=<?php echo $lng['contacto']['5'];?> >
</td>
</tr>
<tr>
<td align="left" ><div id="mensaje" align="center"><?php echo $lng['usuario']['olvido'];?></div>
<div id="mensaje" align="center"> <input type="button" name="clave0" value="Reenviar Clave" align="center" onClick="envmail.php"></div></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</td>
</tr>
<div id="pp" style="display:none;color:#F00"></div>
</table>
</body>
</html>
<?php include_once("../BBDD/desconexDBTMusik.php"); ?>
login.php -> este archivo es el que hace la validación de campos, si es correcto me redirige a un mensaje por pantalla y sino me envia a loguear2.php,
Código PHP:
<?php
session_start();
session_register();
/* LLAMAMOS AL ARCHIVO FUNCIONES Y OBTENEMOS EL IDIOMA ACTUAL */
if (!isset($_SESSION['lang']))
{
require('../lang/espanol.php');
//require('espanol.php');
$_SESSION['lang']='espanol';
} #por defecto, llamamos al archivo espanol.php (español)
else
{
require('../lang/'. $_SESSION['lang'] .'.php');
} #llamamos al archivo php seleccionado…
include_once('../Gestor/BBDD/conexDBTMusik.php');
$meil=$_REQUEST['meil'];
$clave1=$_REQUEST['clave1'];
// To protect MySQL injection
$meil = stripslashes($meil);
$clave1 = stripslashes($clave1);
$meil = mysql_real_escape_string($meil);
$clave1 = mysql_real_escape_string($clave1);
$sql="SELECT * FROM clientes WHERE Mail='".$meil."' AND Clave='".$clave1."' GROUP BY Mail";
$result=mysql_query($sql)or die( mysql_error());
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
/* if (($meil!="")&&(!ereg('^[a-z0-9]+([\.]?[a-z0-9_-]+)*@'.'[a-z0-9]+([\.-]+[a-z0-9]+)*\.[a-z]{2,}$',$meil)))
{*/
if(($meil!="") || ($clave1!=""))
{
$sel=mysql_fetch_array($result);
//crear la nueva sesión y asignarle como valor, la hora actual --> para controlar los tiempos de sesion
session_start();
//asigno un nombre a la sesión para poder guardar diferentes datos
$_SESSION["usuario"]=$sel->Id_Cliente;
//asigno el usuario a la sesión
session_name($_SESSION["usuario"]);
// inicio la sesión
$_SESSION["autentificado"]= "SI";
//defino la sesión que demuestra que el usuario está autorizado
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
//defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss
$_SESSION["tipocliente"]=$sel['TipoCliente'];
header("location:login_success.php");
}
else
{
$error = $lng['login']['3'];
}
}
/* else
{
$error = $lng['login']['5'];
}
}*/
else
{
$error = $lng['login']['2'];
}
if ($error != "" )
{
header("location:loguear2.php?error=$error&meil=$meil");
}
include_once("../Gestor/BBDD/desconexDBTMusik.php");
?>
loguear2.php -> donde muestro el error y debería cargar el meil introducido anteriormente por el user. El meil siempre me aparece vacío y el error que me aparece es este: $error = $lng['login']['2']; -> 'USUARIO NO EXISTENTE O PASSWORD INCORRECTO', lo tengo con echos porque ees una futura página multiidioma. Solo se diferencia de loguear.php en los 2 echos de las variables que recibo de login.php.
Espero me puedan ayudar. Muchas gracias!