Hola , estoy trabajando con sesiones y me sale este problema. Se cual es el error y no consigo solucionarlo, soy muy novato. He trabajado en un portatil y me funcionaba. Cuando paso los archivos a otro ordenador no funciona. El código es el mismo. ¿hay que modificar el php ini?, he evisado los espacios, etc, el session_start () está antes del header...no se, porqué funciona en un sitio y no en otro?. Para orientarles, uso xampp como servidor local. Adjunto el cod:
<?php
// las funciones
require_once('mis funciones_fns.php');
//variables cortas
$email=$_POST['email'];
$username=$_POST['username'];
$pass=$_POST['pass'];
$pass2=$_POST['pass2'];
//*iniciar la sesion que se pueda necesitar posteriormente
//*iniciarla porque debe ir antes de los encabezados
session_start();
try {
// ver si se han rellenado los campos
if (!filled_out($_POST)) {
throw new Exception('No has rellenado los campos');
}
// email no válido
if (!valid_email($email)) {
throw new Exception('el e_mail no sirve .');
}
// que los pass no coincidan
if ($passwd != $passwd2) {
throw new Exception('las contraseñas no coinciden.');
}
// comprobar la longitud
//
//
if ((strlen($pass) < 6) || (strlen($pass) > 16)) {
throw new Exception('tu contraseña debe tener entre 6 y 16 caracteres.');
}
// registro
//
register($username, $email, $pass);
// se registra la sesión en una variable
$_SESSION['valid_user'] = $username;
// link a la pag de miembros
do_html_header('Te has registrado correctamente');
echo 'Te has registrado. Entra en la página de miembros!';
do_html_url('miembros.php', 'Entra en la página de miembros');
// fin de página
do_html_footer();
}
catch (Exception $e) {
do_html_header('Problema:');
echo $e->getMessage();
do_html_footer();
exit;
}
?>
Un saludo