[PHP] Ayuda con else if
Bueno amigos, estoy en un proyecto y tengo un problema, les paso a explicar.
Tengo un sitio que por ejemplo el link es http://www.midominio.com/index.php?aac=anual
En el archivo index lo tengo así:
Así anda perfecto, pero yo quiero agregar otro más, osea otro if($_GET['acc']=='mensual'), pero no he podido hacerlo, alguna idea?? para que así yo pueda ingresar a http://www.midominio.com/index.php?aac=mensual
Lo he intentado pero me anda el último y no el primero y yo quiero que ande los dos, hmm espeo me hayan entendido u.u
Tengo un sitio que por ejemplo el link es http://www.midominio.com/index.php?aac=anual
En el archivo index lo tengo así:
<?php
include('plantilla/inicio.php');
}else if($_GET['acc']=='anual'){
?>Así anda perfecto, pero yo quiero agregar otro más, osea otro if($_GET['acc']=='mensual'), pero no he podido hacerlo, alguna idea?? para que así yo pueda ingresar a http://www.midominio.com/index.php?aac=mensual
Lo he intentado pero me anda el último y no el primero y yo quiero que ande los dos, hmm espeo me hayan entendido u.u
www.ledahost.com | Email: info[at]ledahost.com | Skype: ledahost
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
Ese es todo tu código? Me sorprende que funcione (no lo he probado). Lo digo por que según yo tiene mal sintaxis de PHP.
Si quieres que este integrado con MyBB podrías incluir el archivo global.php como ya se menciona en muchos tutoriales aquí (en este caso quizás baste con el archivo inc/init.php).
Si lo haces seria asi:
Si no, así debería de funcionar:
También podrías usar switch() pero depende de que quieres hacer.
Si quieres que este integrado con MyBB podrías incluir el archivo global.php como ya se menciona en muchos tutoriales aquí (en este caso quizás baste con el archivo inc/init.php).
Si lo haces seria asi:
if($mybb->input['acc'] == 'anual')
{
//Condigo
}
elseif($mybb->input['acc'] == 'mensual')
{
//Condigo
}
elseif($mybb->input['acc'] == 'semanal')
{
//Condigo
}
else
{
// Cualquier otro...
}
Si no, así debería de funcionar:
if(isset($_GET['acc']) && $_GET['acc'] == 'anual')
{
//Condigo
}
elseif(isset($_GET['acc']) && $_GET['acc'] == 'mensual')
{
//Condigo
}
elseif(isset($_GET['acc']) && $_GET['acc'] == 'semanal')
{
//Condigo
}
else
{
// Cualquier otro...
}
También podrías usar switch() pero depende de que quieres hacer.
Gracias Omar por responder, pero no es para MyBB, en realidad solo puse parte del código; es para un sitio externo por eso, voy a probar el segundo código, lo que quiero es que pueda ingresar así:
http://www.midominio.com/index.php?aac=mensual
http://www.midominio.com/index.php?aac=anual
http://www.midominio.com/index.php?aac=diario
Obviamente tengo una carpeta "plantilla" con mensual.php, anual.php, diario.php. Espero me entiendas je
Como en el ejemplo que te di, pero al agregar no me funciona; voy a intentar con el segundo código. Con el switch() tendría que editar todo no?
EDIT: No he podido hacerlo funcionar
http://www.midominio.com/index.php?aac=mensual
http://www.midominio.com/index.php?aac=anual
http://www.midominio.com/index.php?aac=diario
Obviamente tengo una carpeta "plantilla" con mensual.php, anual.php, diario.php. Espero me entiendas je
Como en el ejemplo que te di, pero al agregar no me funciona; voy a intentar con el segundo código. Con el switch() tendría que editar todo no?
EDIT: No he podido hacerlo funcionar
www.ledahost.com | Email: info[at]ledahost.com | Skype: ledahost
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
else es para indicar que el código a ejecutar si la condición es falsa
if($a==1)
{
// código
}
else
{
// código si la condición no se cumple
}
el elseif adicionalmente te permite añadir una segunda condición a ser evaluada
if($a==1)
{
// código
}
elseif($a==2)
{
// código para esta condición
}
else
{
// código a ejecutarse si ninguna condición se cumple
}
si por el contrario tuvieras este caso...
if($a==1)
{
// sin código
}
else
{
// acá interesa poner código
}
la manera mas correcta de expresarla seria así
if($a != 1)
{
// código
}
!= indica que es diferente...
espero que me entiendas soy muy enredado aveces xd....
if($a==1)
{
// código
}
else
{
// código si la condición no se cumple
}
el elseif adicionalmente te permite añadir una segunda condición a ser evaluada
if($a==1)
{
// código
}
elseif($a==2)
{
// código para esta condición
}
else
{
// código a ejecutarse si ninguna condición se cumple
}
si por el contrario tuvieras este caso...
if($a==1)
{
// sin código
}
else
{
// acá interesa poner código
}
la manera mas correcta de expresarla seria así
if($a != 1)
{
// código
}
!= indica que es diferente...
espero que me entiendas soy muy enredado aveces xd....
Dejame ver, entonces lo que quieres hacer es un "require_once" dependiendo de la direccion incluida, cierto?
Deberia de funcionar, a menos que me este olvidando de algo
EDIT: Himura me gano
El switch() solo lo uso cuando quieres usar menos codigo, no veo mucha diferencia aqui.
$paginas = array('anual', 'mensual', 'diario',);
if(isset($_GET['acc']) && in_array($_GET['acc'], $paginas))
{
//una pagina encajo
if(file_exist('plantilla/'.strtolower($_GET['acc']).'.php'))
{
require_once('plantilla/'.strtolower($_GET['acc']).'.php');
}
else
{
// error
}
}
else
{
//error
}
Deberia de funcionar, a menos que me este olvidando de algo
EDIT: Himura me gano
El switch() solo lo uso cuando quieres usar menos codigo, no veo mucha diferencia aqui.
yo recomendaria que seria de esta forma...
if($_GET['acc'] == 'anual')
{
}
elseif($_GET['acc'] == 'mensual')
{
}
else
{
//diario
}
o bien
elseif($_GET['acc'] == 'diario')
{
}
else
{
//no valido
}
if($_GET['acc'] == 'anual')
{
}
elseif($_GET['acc'] == 'mensual')
{
}
else
{
//diario
}
o bien
elseif($_GET['acc'] == 'diario')
{
}
else
{
//no valido
}
www.ledahost.com | Email: info[at]ledahost.com | Skype: ledahost
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
esque otra cosa no olvides poner un exit; a los anteriores!!
www.ledahost.com | Email: info[at]ledahost.com | Skype: ledahost
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
![[Image: signature.png]](https://omarg.me/cache/images/signature.png)