¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Hola chicos.

Estoy intentando compatibilizar SMF con una web que estoy haciendo. Para eso, quiero deshabilitar ciertas cosas, como el recuperador de contraseñas de smf, el registro, la activación de cuentas validando el email, etc...

Y en vez de meterme en una maraña de código y editar todas las funciones que tengan que ver con lo que quiero quitar, se me ha ocurrido utilizar algo así:

if ($_GET['action'] == "register") { //Redireccionar pagina de registro
//redireccion a una pagina programada por mi
} elseif ($_GET['action'] == "register2") { //Redireccionar pagina de registro
//redireccion a una pagina programada por mi
} elseif ($_GET['area'] == "regcenter") { //Redireccionar registro de usuarios del panel de admin
//redireccion a una pagina programada por mi
} elseif ( $_GET ['action'] == "reminder" ) { //Redireccionar pagina que recupera contraseña
//redireccion a una pagina programada por mi
} elseif ( $_GET['action'] == "activate" ) { //Redireccionar pagina que reenvia email de activacion
//redireccion a una pagina programada por mi
}

Debería funcionar sin problemas, sin embargo me encuentro con que algunas paginas no me reconoce el get. ¿Por qué? Porque la url es tal que asi:

?action=activate;sa=resend;u=4

Entonces... ¿Qué puedo hacer? Ya sé que el registro de usuarios lo puedo deshabilitar desde SMF, ¿pero y las otras cosas? :S
Modulación:

http://www.habbos.es/forum/?topic=38258.0

En vez de usar tanto elseif utiliza switch que para algo esta, despúes haces un include para que se muestre la página que quieres o como tu bien dices, un redirect.

Sobre tu problema, creo que sabrás entender esto:

explode(";", $_GET['act']);

Saludos.

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
Buah, cuando empece con php cogi mal el swicht y le he cogido manía xDD Pero sí, debería centrarme un poco más en mejorar en php lo que me falta por mejorar. Justamente ahora estoy hablando con Fahd de estas cosas, y me dice que te pida consejo. Ya te lo podiré, ya :P:P

Y con lo del explode no había caído.

Edito:

Cuando con el switch pongo:
case register or register2:, no me funciona. Vaya a la pagina que vaya me redirecciona. También he probado poniendo case (register) or (register2) y nada... jejeje... ¿Cómo lo pondría?

Buah, cuando empece con php cogi mal el swicht y le he cogido manía xDD Pero sí, debería centrarme un poco más en mejorar en php lo que me falta por mejorar. Justamente ahora estoy hablando con Fahd de estas cosas, y me dice que te pida consejo. Ya te lo podiré, ya :P:P

Y con lo del explode no había caído.

Edito:

Cuando con el switch pongo:
case register or register2:, no me funciona. Vaya a la pagina que vaya me redirecciona. También he probado poniendo case (register) or (register2) y nada... jejeje... ¿Cómo lo pondría?


Para el switch con un GET es:

<?php
$mod = $_GET['action'];

switch ($mod){

case "register2":
include("pagina.php");
break;

case "register":
include("pagina1.php");
break;

default;
echo "No existe pagina";
}
?>


Te da error porque a lo que veo no lo pones como string, osea entre comillas, saludos.

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻
Echando un vistazo rápido vi en un tutorial tuyo que ponías algo asi:

case (1) or (3) or (5):

y eso es lo que intentaba hacer, y me fallaba. Y buena observación de las comillas, no lo tenía puesto.

Echando un vistazo rápido vi en un tutorial tuyo que ponías algo asi:

case (1) or (3) or (5):

y eso es lo que intentaba hacer, y me fallaba. Y buena observación de las comillas, no lo tenía puesto.


Pues como te dije, solo sustiuirías el (1) or (3) por "register" or "register2", solo adapta el código, saludos.

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻