Ayuda con código php

  • Autor Autor antoninicr7
  • Fecha de inicio Fecha de inicio
A

antoninicr7

Gamma
Social Media
Hola buenas, estoy creando un sistema de usuarios sencillo ayudándome de uno que he encontrado, con registro y login usando base de datos, todo va bien hasta que llegué a la parte de desconectar y limpiar las sesiones que me da un error y he estado mirando pero no encuentro nada para solucionarlo:


Parse error: syntax error, unexpected ''); ' (T_CONSTANT_ENCAPSED_STRING) in C:\AppServ\www\desconectar.php on line 6


<?php
require_once(conexion.php');
?>
<?php

if(isset($_GET['modo']) == 'desconectar')
{

$_SESSION['MM_Username'] = NULL ;
$_SESSION['MM_Id'] = NULL;
$_SESSION['MM_Nick_user'] = NULL;
$_SESSION['MM_Foto_user'] = NULL;
$_SESSION['MM_mail_user'] = NULL;

unset($_SESSION['MM_Username']);
unset($_SESSION['MM_Id']);
unset($_SESSION['MM_Nick_user']);
unset($_SESSION['MM_Foto_user']);
unset($_SESSION['MM_mail_user']);

header ("Location: http://localhost");

}
?>


Gracias, en php soy un poco novato y alomejor el fallo es algo sencillo, pero no lo encuentro.
 
te falto ";" en la linea 5 , aunque esa si es para sesiones en php?
 
te falto ";" en la linea 5 , aunque esa si es para sesiones en php?

Sigue dando error, lo he cdolocado de estas maneras pero nada:

<?php
require_once(conexion.php');
?>
<?php
;
if(isset($_GET['modo']) == 'desconectar')
{

$_SESSION['MM_Username'] = NULL ;
$_SESSION['MM_Id'] = NULL;
$_SESSION['MM_Nick_user'] = NULL;
$_SESSION['MM_Foto_user'] = NULL;
$_SESSION['MM_mail_user'] = NULL;

unset($_SESSION['MM_Username']);
unset($_SESSION['MM_Id']);
unset($_SESSION['MM_Nick_user']);
unset($_SESSION['MM_Foto_user']);
unset($_SESSION['MM_mail_user']);

header ("Location: http://localhost");

}
?>


<?php
require_once(conexion.php');
?>
<?php

if(isset($_GET['modo']) == 'desconectar') ;
{

$_SESSION['MM_Username'] = NULL ;
$_SESSION['MM_Id'] = NULL;
$_SESSION['MM_Nick_user'] = NULL;
$_SESSION['MM_Foto_user'] = NULL;
$_SESSION['MM_mail_user'] = NULL;

unset($_SESSION['MM_Username']);
unset($_SESSION['MM_Id']);
unset($_SESSION['MM_Nick_user']);
unset($_SESSION['MM_Foto_user']);
unset($_SESSION['MM_mail_user']);

header ("Location: http://localhost");

}
?>


Gracias por responder
 
[MENTION=132915]antoninicr7[/MENTION] Prueba lo siguiente (falta una comilla).

PHP:
require_once(conexion.php');

por

PHP:
require_once('conexion.php');
 
[MENTION=132915]antoninicr7[/MENTION] Prueba lo siguiente (falta una comilla).

PHP:
require_once(conexion.php');

por

PHP:
require_once('conexion.php');

Todavía no me acostumbro a que los errores estén en otras líneas distintas a las que me dice el error. Eso era, muchas gracias.

- - - Actualizado - - -

hace tiempo que vi un video maso menos como este

PHP Tutorial 5.1 - Uso de Sesiones con PHP I (HD) - YouTube

tal vez te funcione

Solucionado, gracias por ayudar
 
PHP:
<?php
require_once('conexion.php');

if($_GET['modo'] == 'desconectar'){

unset($_SESSION['MM_Username']);
unset($_SESSION['MM_Id']);
unset($_SESSION['MM_Nick_user']);
unset($_SESSION['MM_Foto_user']);
unset($_SESSION['MM_mail_user']); 

header ("Location: http://localhost");

}
?>
 
Recuerda que puedes usar simplemente:

require_once 'conexion.php' (sin paréntesis)

Y es mejor dejar todo en un bloque de PHP, es decir:

<?php
require_once 'conexion.php';

// más codigo aquí
?>

Te será más práctico trabajar así. Saludos :thumbsup:

Edito:

La función isset devuelve un booleano o null, por lo que en la línea del condicional está mal, lo correcto sería:

if(isset($_GET['modo']) && $_GET['modo'] == 'desconectar') {
// código aquí
}

Otra cosa: el convertir los valores de $_SESSION a null no es necesario, puesto que con unset ya se están destruyendo por completo. Pero no estoy en pc para probarlo. Si puedes pruebas, pero lo anterior a eso sí te recomiendo que modifiques :thumbsup:
 
Última edición:
Mira, con esto te llegaría:
PHP:
<?php 
require_once('conexion.php'); 

if($_GET['modo'] == 'desconectar'){ 
session_destroy(); //Esto sería suficiente
//$_SESSION = []; //Pero si quieres estar más seguro puedes descomentar esta linea
header ("Location: http://localhost"); 
} 
?>
 
Atrás
Arriba