Foros del Web » Programando para Internet » PHP »

Introducción de CSS mediante if

Estas en el tema de Introducción de CSS mediante if en el foro de PHP en Foros del Web. Buenos días, Tengo una página con un header común y css para todas las secciones que aparezcan. Ahora me encuentro con que necesito añadir ciertas ...
  #1 (permalink)  
Antiguo 31/10/2011, 06:37
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Introducción de CSS mediante if

Buenos días,

Tengo una página con un header común y css para todas las secciones que aparezcan.

Ahora me encuentro con que necesito añadir ciertas particularidades de maquetación en determinadas páginas introduciendo un enlace para css

<link rel="stylesheet" type="text/css" href="stylesheet-b.css" />

en dicho header.

Se me ha ocurrido hacerlo con un if que identifique la página e introduzca dicha línea para llamar al css, pero no me acaba de salir (soy principiante en PHP).

Concretamente para que aparezca cuando la página es

formulario_contacto.php

¿Me podríais indicar algún modelo válido?

Gracias.
  #2 (permalink)  
Antiguo 31/10/2011, 06:47
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Introducción de CSS mediante if

primero decinos como incluis formulario_contacto.php en el index.php
  #3 (permalink)  
Antiguo 31/10/2011, 06:48
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 6 meses
Puntos: 12
Respuesta: Introducción de CSS mediante if

Puedes intentar describir las propiedades css en la misma página que el cógido y con diferentes id o clases y luego posteriormente definir con php su estilo más específico. por ejemplo imagínate que lo que cambia es el diseño de una tabla, puedes poner:

Código PHP:
if (condicion) {
echo 
"<table id=diseño_formulario><tr><td>...</td></tr></table>";

espero haberme explicado
  #4 (permalink)  
Antiguo 31/10/2011, 06:53
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: Introducción de CSS mediante if

No, yo lo que quiero es introducir en el header la condición para que introduzca la línea de llamada al css en función de la página en la que esté en cada momento.

¿Se puede?
  #5 (permalink)  
Antiguo 31/10/2011, 06:57
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Introducción de CSS mediante if

Hola,
estoy de acuerdo, pero también depende de cuantos estilos quieras aplicar.
Dependiendo de eso, si entiendes de estilos tienes varias opciones:
Código PHP:
if (condicion) { 
echo 
"<style:....."

O bien directamente llamar a un achivo css dependiendo de la condición:
Código PHP:
if (condicion) { 
echo 
"<link rel='stylesheet' href='lapaginadel.css' type='text/css'>"

  #6 (permalink)  
Antiguo 31/10/2011, 07:07
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: Introducción de CSS mediante if

Sí, directamente meter

if (condicion) {
echo "<link rel='stylesheet' href='lapaginadel.css' type='text/css'>";
}

El problema (el verdadedo) es que no me sale poner la condición. No me funciona. Es decir, cómo sería "condicion" para cuando salga formulario_contacto.php

Un saludo.
  #7 (permalink)  
Antiguo 31/10/2011, 07:38
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Introducción de CSS mediante if

en mi opinión el css no debería mezclarse con php, tampoco el html, una solución a tu problema actual es definir clases en css específicas para tus páginas y de esa manera gestionar todo el estilo haciendo uso de css.
Por ejemplo, si quieres definir estilos para tu formulario puedes indicar el contendeor del mismo con un div del tipo:
Código HTML:
<div id="frmContacto">...</div> 
luego en tu hoja de estilo defines los estilos para los elementos que se encuentran dentro de ese formulario:
Código HTML:
#frmContacto
{width:100%; height:auto; font-size:1em; ...}
#frmContacto .txtInput{ /*cuadros de texto del form*/
width: 80%; border: 1px solid #ccddee; ...}
...
eso te puede ayudar a tener mayor control con el estilo sin alterar parte de la programación.
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #8 (permalink)  
Antiguo 31/10/2011, 08:08
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Introducción de CSS mediante if

mostranos como armas la pagina

por ej yo olo hago asi:
index.php

Código PHP:
Ver original
  1. <?php
  2. if(iisset($_GET['section']) && $_GET['section']=='formulario_contacto'){
  3.     include 'formulario_contacto.php';
  4.     ?>
  5.         <link rel="stylesheet" type="text/css" href="stylesheet-b.css" />
  6.     <?php
  7. }
  8. ?>
el $_GET['section'] puede venir de un link en un menu por ejemplo

menu.php
<a href="index.php?section=formulario_contacto">Conta cte con migo Nena!</a><a href="index.php">Incio</a>
  #9 (permalink)  
Antiguo 31/10/2011, 12:18
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: Introducción de CSS mediante if

Hola de nuevo,

He puesto la página "formulario_contacto.php" por poner un ejemplo, pero de lo que se trata es de que hay que poner css's distintos en función de la página que salga.

Se trata de un if que identifique la página en la que estoy sin más.

Disculpad mi bisoñez, pero no sé si está bien explicado.

En tal caso, me podríais poner un ejempleo de condicional if que permita introducir

<link rel="stylesheet" type="text/css" href="stylesheet-b.css" />

en dicho header.

Un saludo y gracias.
  #10 (permalink)  
Antiguo 31/10/2011, 13:01
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Introducción de CSS mediante if

Hola JUMASOl,

Tu pregunta te la ha contestado Patriarka, en caso de que cada una de tus páginas la puedas identificar por las variables de la url.

para ser más claro:

Si tu archivo .php es: archivo.php

y cada una de las páginas se distinguen por:

archivo.php?id=formulario_contacto
etc etc

Entonces en el if puedes poner como condición que si el id és formulario_contacto, entonces que ponga un determinado archivo css. Éste es el código que te propuso Patriarka.

Si quieres hacerlo a partir del url que sale en el navegador, puedes sacar ese dato y ponerlo en la comparación. por ejemplo:

$urlactual = $_SERVER['REQUEST_URI']

if ($urlactual == "/formulario_contacto.php"){ etc etc

Todo depende de como tengas montado todo.

Saludos!
  #11 (permalink)  
Antiguo 31/10/2011, 13:36
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Introducción de CSS mediante if

Amigo puedes hacer esto:

Código PHP:
Ver original
  1. //Agarrar la url
  2. $url = $_SERVER[''REQUEST_URI''];
  3. //Despues agarrar la base Ej. index.php
  4.  
  5. $base = basename($url);
  6.  
  7. // Ahora hago la condición
  8.  
  9. if($base == "index.php"){
  10. //Aqui agrega es estilo que quieres que se vea en esta pagina
  11. }

Espero que te sirva
__________________
Visita a Publiventa donde compras y vendes de todo
  #12 (permalink)  
Antiguo 31/10/2011, 16:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: Introducción de CSS mediante if

Gracias gustavopino, pero creo que estoy haciendo algo mal.

Así no me funciona ni para index.php ni para contact.php (para ninguno en realidad). Seguro que he colocado mal el código.

<?php
$url = $_SERVER[''REQUEST_URI''];
//Despues agarrar la base Ej. index.php
$base = basename($url);}
// Ahora hago la condición
if($base == "contact.php"){
//Aqui agrega es estilo que quieres que se vea en esta pagina
echo <link rel="stylesheet" type="text/css" href="stylesheet-b.css"/>;}
?>
  #13 (permalink)  
Antiguo 31/10/2011, 16:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Introducción de CSS mediante if

Cita:
Iniciado por JUMASOL Ver Mensaje
Seguro que he colocado mal el código.
Seguro si, tienes una llave } de sobra aquí.
Cita:
$base = basename($url);}
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 31/10/2011, 17:03
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: Introducción de CSS mediante if

Hola pateketrueke

Quitando la llave, es decir, así:

<?php
$url = $_SERVER[''REQUEST_URI''];
//Despues agarrar la base Ej. index.php
$base = basename($url);
// Ahora hago la condición
if($base == "contact.php"){
//Aqui agrega es estilo que quieres que se vea en esta pagina
echo <link rel="stylesheet" type="text/css" href="stylesheet-b.css"/>;}
?>

me da un error 500 de servidor.
  #15 (permalink)  
Antiguo 31/10/2011, 17:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Introducción de CSS mediante if

Pues claro, si tienes bastantes errores aún.
Cita:
<?php

// aquí, para empezar estas usando dos ' como si fueran una sola " (que no son igual)

// MAL
$url = $_SERVER[''REQUEST_URI''];

// BIEN
$url = $_SERVER['REQUEST_URI'];



//Despues agarrar la base Ej. index.php
$base = basename($url);
// Ahora hago la condición
if($base == "contact.php"){
//Aqui agrega es estilo que quieres que se vea en esta pagina


// y aquí hacen falta las comillas que envuelven al HTML, no puede ponerlo así no más.


// MAL
echo <link rel="stylesheet" type="text/css" href="stylesheet-b.css"/>;

// BIEN
echo '<link rel="stylesheet" type="text/css" href="stylesheet-b.css"/>';


}


?>
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 31/10/2011, 17:20
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: Introducción de CSS mediante if (SOLUCIONADO)

Mira pateketrueke, te voy (os voy) a decir tres cosas:

1. El código ha funcionado por fin.

2. Sois los mejores.

3. Me meto aquí y me da vergüenza de mi ignorancia, aunque ante gente como vosotros sé a quien me quiero parecer cuando sea mayor.

Muchas gracias y hasta la próxima.
  #17 (permalink)  
Antiguo 31/10/2011, 20:15
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Introducción de CSS mediante if

Cita:
Iniciado por JUMASOL Ver Mensaje
Así no me funciona ni para index.php ni para contact.php (para ninguno en realidad). Seguro que he colocado mal el código.

<?php
$url = $_SERVER[''REQUEST_URI''];
...
?>
Amigo me equivoque en colocar doble comilla simple era una lo que pasa es que he tenido problema con el internet pero me alegro que te sirvió lo que te dije
__________________
Visita a Publiventa donde compras y vendes de todo

Etiquetas: css, formulario, mediante
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 15:53.