Foros del Web » Programando para Internet » PHP »

como hago include condicional, o simple "if" necesito ayuda

Estas en el tema de como hago include condicional, o simple "if" necesito ayuda en el foro de PHP en Foros del Web. Hola! pues... sé que el título no es muy descriptivo, perdonarán eso, pues no se me ocurre un buen título... Ahora lo bueno, conocen eXponsor? ...
  #1 (permalink)  
Antiguo 28/07/2009, 15:28
Avatar de Mautematico  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta como hago include condicional, o simple "if" necesito ayuda

Hola! pues... sé que el título no es muy descriptivo, perdonarán eso, pues no se me ocurre un buen título...

Ahora lo bueno, conocen eXponsor? bueno, sus plugins no funcionan en algunos hostings gratuitos, y el html no me da mucha lata... más bien flojera, entonces les diré lo que quiero hacer:

Designada una zona para mostrar los enlaces, usar un include (para llamar un php), que, dependiendo de la URL, muestre determinado contenido.


osea:

si la URL es mautematico.co.cc/
muestra el contenido:
balbalblablalblablalblbalbalbala

si la ULR es mautematico.co.cc/zhk874
muestra el contenido:
diferentebalbalbalbalblabal


y, en caso que la url no esté listada, que muestre nada... o bien, un contenido alternativo :)

Pueden ayudarme :)

esto es porque el server gratuito no admite include para archivos en otro servidor :s así que por eso los plugins de eXponsor no funcionan jeje...

otra cosa, creen que hacer esto consuma muchos recursos?

Saludos! y gracias
  #2 (permalink)  
Antiguo 28/07/2009, 15:42
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: como hago include condicional, o simple "if" necesito ayuda

mmm...
Código PHP:
switch ($url)
{
    case 
"pagina1.cc.dd":
    include(
"archivo_1.php");
    break;
     case 
"pagina2.cc.ee":
    include(
"archivo_2.php");
    break;
   default:
    include(
"archivo_por_defecto.php");

algo asi??
__________________
Me junto con los que Saben, Queriendo Saber.
  #3 (permalink)  
Antiguo 28/07/2009, 16:02
Avatar de Mautematico  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: como hago include condicional, o simple "if" necesito ayuda

hola! que respuesta tan rápida :) muchas gracias...

Ahora... preferiria que sólo se incluya un archivo, y que ese archivo condicione el código
osea... como lo contrario a lo que me pasas :)

aunque... CREO que esto funcionaría,

Cita:
switch ($url)
{
case "pagina1.cc.dd":
HOLA! ESTÁS VIENDO PAGINA1.cc.dd;
break;
case "pagina2.cc.ee":
HOLA! ESTÁS VIENDO pagina2;
break;
default:
HOLA! NO HAY ANUNCIOS PARA ESTE SITIO;
}
entonces, este código lo pongo en un archivo, digamos: archivo.php y lo llamo desde todas las páginas {pagina1, pagina2, pagina3...} (cosa sencilla, pues lo usaré en Wordpress)

¿que dices? funcionaría?
=) gracias
  #4 (permalink)  
Antiguo 28/07/2009, 16:54
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: como hago include condicional, o simple "if" necesito ayuda

Hola , pues no entendi muy bien lo que decis con condicionar el codigo , pero supongo que te refieres al if , por otro lado el codigo que tu pones ahi tenes algunos problemas , el codigo real seria asi:

Código php:
Ver original
  1. <?php
  2.  
  3. switch($url){
  4.  
  5. case 'www.eldia.com.ar':
  6. echo "sitio web el dia";
  7. break;
  8.  
  9. case 'www.taringa.net':
  10. echo 'taringa';
  11. break;
  12.  
  13. default:
  14. echo "no se que sitio sos";
  15. break;
  16.  
  17. }
  18. ?>

Por cierto tu idea funcionaria , pero a mi criterio tendrias que desarrollarlo estilo plugin , fijate que hay un monton de tutos de como hacer plugins para este blog/cms.

Saludos
  #5 (permalink)  
Antiguo 28/07/2009, 17:18
Avatar de Mautematico  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: como hago include condicional, o simple "if" necesito ayuda

jeje sí... me parecía que faltaba un php :p...

Bueno, pues gracias, iré a probarlo :) jeje

Saludos!
  #6 (permalink)  
Antiguo 28/07/2009, 17:28
Avatar de Mautematico  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: como hago include condicional, o simple "if" necesito ayuda

Mmm... nop no me está funcionando :s
mira, al ponerlo, cuando ya quedó, en vez de "estás en mautematico.co.cc" me pone:


switch($url){

case 'mautematico.co.cc':
echo "estás en mautematico.co.cc";
break;

case 'mautematico.co.cc/zhk874':
echo 'yoop';
break;

default:
echo "no se que sitio sos";
break;

}
?>


o sea, exactamente lo mismo.. sólo que sin el <?php del principio... alguna idea? (y sí eh, sí lo puse :p)


Como sería lo del if? :)
  #7 (permalink)  
Antiguo 28/07/2009, 19:41
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: como hago include condicional, o simple "if" necesito ayuda

Hola , a ver volve a comentar lo que quieres obtener para ver que solución te puedo dar :).

Saludos
  #8 (permalink)  
Antiguo 05/08/2009, 11:16
Avatar de Mautematico  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: como hago include condicional, o simple "if" necesito ayuda

Hola!
Disculpa que me tardé tanto jeje...

Mira, lo que quiero es algo así:

tengo un sitio, digamos
mautematico.co.cc

entonces, el visitante entra a

Cita:
mautematico.co.cc/
y, hay una zona, en la que se muestra determinado contenido
ahora bien, en vez de eso, entra a

Cita:
mautematico.co.cc/zhk874/
entonces, en vez de ese contenido, se muestra otro (en la misma zona)


Es decir, condicionar el contenido de una determinada zona dependiendo de la URL que se está mirando :)

Me ayudas? :)

PS: estoy usando Wordpress, y supongo que podría usar los IDs de las páginas y posts, aunque preferiria no...

Saludos y gracias
  #9 (permalink)  
Antiguo 15/02/2010, 11:17
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
De acuerdo Respuesta: como hago include condicional, o simple "if" necesito ayuda

Yo también utilizo exponsor.


Estaba probando como hacer algo asi para una TopLista con el script Aardvark Topsites PHP 5.2.0


Asi que primero intente algo en wordpress. En fin...

Lo que hice fue lo siguiente:

agregue el siguiente código al archivo functions.php de mi plantilla

Código PHP:
Ver original
  1. function curPageURL() {
  2.  $pageURL = 'http';
  3.  if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
  4.  $pageURL .= "://";
  5.  if ($_SERVER["SERVER_PORT"] != "80") {
  6.   $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
  7.  } else {
  8.   $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
  9.  }
  10.  return $pageURL;
  11. }


Esta funcióm devuelve la URL de la página de nuestro sitio que estemos viendo en el navegador.


Luego en el lugar en el que quiero que aparezca determinado codigo segun la página coloco lo siguiente:
Código PHP:
Ver original
  1. <?php if (curPageURL() == 'URL1' ): ?>
  2.  Contenido HTML que se muestra cuando la pagina es URL1
  3. <?php endif; ?>
  4.  
  5. <?php if (curPageURL() == 'URL2' ): ?>
  6.  Contenido HTML que se muestra cuando la pagina es URL2
  7. <?php endif; ?>


Yo coloque el código en el archivo sidebar.php de mi plantilla, puede colocarse en otros archivos dependiendo del lugar en el cual queramos colocar los anuncios.

solo cambias URL1 y URL2 por las correspondientes URLs donde tienes que agregar los enlaces de exponsor, el codigo de los enlaces lo agregas en donde dice contenido HTML.


No se si será la forma más correcta de hacerlo pues no se mucho de PHP, pero me funcionó.


Utilizando las URLs que tu mencionas quedaria de la siguiente forma:
Código PHP:
Ver original
  1. <?php if (curPageURL() == 'http://mautematico.co.cc/' ): ?>
  2.  Contenido HTML que se muestra cuando la pagina es http://mautematico.co.cc/
  3. <?php endif; ?>
  4.  
  5. <?php if (curPageURL() == 'http://mautematico.co.cc/zhk874/' ): ?>
  6.  Contenido HTML que se muestra cuando la pagina es http://mautematico.co.cc/zhk874/
  7. <?php endif; ?>

Última edición por TechWorker; 15/02/2010 a las 17:52
  #10 (permalink)  
Antiguo 15/02/2010, 16:33
Avatar de Mautematico  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: como hago include condicional, o simple "if" necesito ayuda

Genial!, TechWorker Muchas gracias, en seguida iré a probarlo :)

Es justo eso lo que estaba buscando =D...
También quiero compartir la "solución" que encontré... es bastante sucia pero bueh.. me sacó del apuro por un par de meses :p... el problema es que depende de algunas funciones de Wordpress, por lo que no podría ser usado en cosas diferentes :(... en fin =D
La muestro:

Para "ordenarlo" (según yo) un poco, en el lugar del themplate en que queremos que todo aparezca, esto:
Código PHP:
Ver original
  1. <?php { include (TEMPLATEPATH .'/exponsor/enlaces.php'); } ?>
Que hace referencia a el archivo "enlaces.php" dentro de la carpeta "exponsor" que está a su vez dentro del theme de wordpress que usamos.

El contenido de enlaces.php:
Código PHP:
Ver original
  1. <!-- Inicia Paginas -->
  2. <?php if (is_home() ) { include (TEMPLATEPATH .'/exponsor/home.php'); } ?>
  3. <!-- Termina Pagina -->
  4. <!-- Inicia Posts -->
  5. <?php if (is_single('TITULO O ID DEL POST') ) { include (TEMPLATEPATH .'/exponsor/post-A.php'); } ?>
  6. <!-- Termina Posts -->
  7.  
  8. <!-- Inica Tags -->
  9. <?php if (is_tag('UNA-ETIQUETA') ) { include (TEMPLATEPATH .'/exponsor/UNA-ETIQUETA.php'); } ?>
  10. <!-- Termina Tags -->
  11.  
  12. <!-- Inicia Categorias -->
  13. <?php if (is_category('ocio') ) { include (TEMPLATEPATH .'/exponsor/catocio.php'); } ?>
  14. <!-- Termina Categorias -->
  15.  
  16. <!-- Inicia Mes -->
  17. <?php if (is_month() ) { include (TEMPLATEPATH .'/exponsor/meses.php'); } ?>
  18. <!-- Termina Mes -->
Y luego, los respectivos archivos para cada Post, Categoria, Página, etiqueta o mes... :s...
Y pues ya, básicamente eso... sí sí... me parece muy sucio y requiere de muchos archivos (pero no me decidí por usar "echo" teniendo ya 173 enlaces... jeje

Bueno, ahi queda, supongo que miraré tu idea también =) Gracias por compartirla
Saludos!

P.D.
Cita:
Esta funcióm devuelve la URL de la página de nuestro sitio que estemos viendo en el navegador.
JUSTO ESO es lo que hacía falta para no "necesitar correr con Wordpress" jeje... gracias
  #11 (permalink)  
Antiguo 15/02/2010, 17:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
De acuerdo Respuesta: como hago include condicional, o simple "if" necesito ayuda

Espero que te sirva.

Jeje, Yo tampoco quise utilizar la funcion echoe porque tendria que formatear el codigo de los enlaces cuando tenga que incluirlos y si además son muchos enlaces resulta tedioso. Esto lo pesanba hacer con unas instruccions CASE que vi por ahi, pero no me convenció, asi que me decidí por estas instrucciones condicionale IF que me permiten colocar el codigo practicamente como me lo envian de exponsor, solo le agrego las etiquetas li para que queden como una lista y ya.

Basicamente es lo mismo que hago con las páginas que tengo en blogger, antes cuando tenia que publicar algo en el indice lo agregaba como un widget y por lo tanto aparecia en la pagina inicial y en todos los posts, cuando eran enlaces para un post los publicaba dentro del post.

Ahora lo hago de forma similar (practicamente lo mismo, condicionales con las URL) a lo que hice para archivos PHP pero con los codigos propios de blogger.



También lo resolvi para agregarlo a las toplistas que tengo con el script Aardvark Topsites PHP http://www.aardvarktopsitesphp.com/ si llegas a crearte alguna Top Lista me avisas y te digo como lo hice.

Última edición por TechWorker; 15/02/2010 a las 18:16
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:40.