Código PHP:
<?php
session_start();
include ('func.php');
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
switch ($_SERVER['PHP_SELF']) {
case 'mktournament.php':
case 'login.php':
$location = 'Location:http://'.$host.$uri.'/mktournament.php';
break;
case 'see.php':
$location = 'Location:http://'.$host.$uri.'/see.php';
break;
default:
$location = 'Location:http://'.$host;
};
if (isset($_SESSION['logged'])) {
header($location);
}elseif (isset($_POST['login'])) {
if (!empty($_POST['user']) && !empty($_POST['pwd'])) {
conectar();
$hash = md5(base64_encode( md5($_POST['pwd']).$_POST['user']));
$query=mysql_query("SELECT * FROM users WHERE user = '".trim(addslashes($_POST['user']))."' AND password = '".$hash."');
if($query) {
//el user y pass sí existen
$_SESSION['logged'] = TRUE;
$datos=mysql_fetch_assoc($query);
$_SESSION['user']= $datos['id']
header($location);
exit();
}else{
echo error('401');
};
}else{
echo error('form');
};
}else{
echo error('401');
};
?>
func.php es un archivo con funciones
Error('401') imprime el formulario de donde provienen las variables de $_POST
Este archivo es login.php, si alguien entra a mktournament sin haber sido loggeado hago un include('login.php'), igual con see.php. El switch es solo para saber a donde redireccionar despues de que se loggean.
El error que obtendo es Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\...\wwwr\login.php on line 34
En esa linea esta la $_SESSION['logged'] = TRUE;
la borro y me aparece el error en la linea 36 en donde esta $_SESSION['user']= $datos['id']. La borro y me sale Unexpected $end
: en la linea final.
Quito todo entre }elseif (isset($_POST['login'])) { y ya no me sale el error...
ya se en que parte esta el error pero no puedo localizarlo