Foros del Web » Programando para Internet » PHP »

php y css dinamico

Estas en el tema de php y css dinamico en el foro de PHP en Foros del Web. estoy creando hojas de estilo dinamicas usando php. He puesto aqui el tema porque mi problema viene dado a la hora de usar php. yo ...
  #1 (permalink)  
Antiguo 28/02/2008, 17:23
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 6 meses
Puntos: 2
php y css dinamico

estoy creando hojas de estilo dinamicas usando php. He puesto aqui el tema porque mi problema viene dado a la hora de usar php. yo hago lo siguiente:

<link type="text/css" media="screen" rel="stylesheet" href="rutaArchivo.php?colorfondo=#545454 ">

y luego dentro del archivo rutaArchivo.php
intento cojer esa variable asi:

background-color: <?php echo $_GET['colorfondo']; ?>;

y no me la coje..........si pruebo a hacerlo sin enviar variables......la hoja de estilo me la pilla perfectamente y me la carga.....pero el problema que tengo es que a parte de cargarla quiero poder enviarle variables y QUE LAS COJA.......y nose como hacerlo o que hago mal.

Un saludo


pd: el poner la hoja de estilo .php en vez de .css tendra alguna repercusion a la hora de validarlo en xhtml 1.0 strict? o si esta todo bien hecho me lo validara indistintamente?
  #2 (permalink)  
Antiguo 28/02/2008, 19:28
 
Fecha de Ingreso: mayo-2006
Mensajes: 120
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: php y css dinamico

Lo veo bien, se me ocurre que quizá el navegador te está cacheando la hoja de estilo, entonces no ves los cambios inmediatamente. Probá lo siguiente:

<link type="text/css" media="screen" rel="stylesheet" href="rutaArchivo.php?colorfondo=#545454&xx=<?php echo microtime(); ?>">

De esta manera siempre tiene un URL distinto y el navegador no intentará cachearlo.

Independientemente de esto, a mi entender no es buena técnica usar hojas de estilo dinámicas a menos que sea absolutamente necesario. Porque justamente perdes la cache, y en la mayoría de los casos podés solucionar el estilo dinámico creando clases.

Pensá esto:

######style.css#######
.celdaA { color: red; } .celdaB { color: blue;}

######index.php######
<p class="<?php echo $estiloCelda; ?>"

En general esta técnica soluciona casi todos los problemas, pero bueno me imagino que hay situaciones más complejas, pero no lo descartes porque siempre es más conveniente.

Con respecto a si validará o no, yo creo que sí no escuché nunca alguna recomendación sobre extensiones de archivos, es más en Unix ni siquiera existen. Pero será cuestión de probarlo.

Buena suerte.

Buena suerte.
__________________
programación php
  #3 (permalink)  
Antiguo 28/02/2008, 20:08
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: php y css dinamico

Alguna vez me pasó eso y lo solucioné agregando un header que le indicaba al nacegador que eso era una hoja de estilos y no un documento PHP "común y corriente":

Código PHP:
header("Content-type: text/css"); 
SI no funciona... Probaste abriendo directamente la hoja de estilos PHP en el navegador (con los parámetros de URL que le indicas)? Se imprime correctamente?

Un saludo,
  #4 (permalink)  
Antiguo 29/02/2008, 04:45
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 6 meses
Puntos: 2
Re: php y css dinamico

que va, no hay manera. Lo del header ya lo tengo puesto ya que como comento en el otro post... la hoja de estilos la pilla perfectamente y si dentro de ella declaro variables y las uso con echo $var1 tambien tira perfecto pero el problema es que no me coje las variables que le mando..........osea que todo tira perfecto con el unico problema que yo al ponerle el path de dicha hoja de estilos le trato de mandar un parametro ..... y luego al cojerlo no me lo coje.......vamos que el parametro se queda por el camino...........tampoco es problema de la cache..........

Un saludo
  #5 (permalink)  
Antiguo 29/02/2008, 04:54
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 6 meses
Puntos: 2
Re: php y css dinamico

ARREGLADO! Maldito sea el problema.............vamos .... de los problemas que nunca gustan porque no sabes por donde pillarlos.
Lo explico para que sea yo el ultimo pardillo al que le pasa:

ANTES

LLAMADA A LA HOJA DE ESTILOS:
<link type="text/css" media="screen" rel="stylesheet" href="rutaArchivo.php?colorfondo=#545454 ">

ATRIBUTO DENTRO DE HOJA DE ESTILOS:
background-color: <?php echo $_GET['colorfondo']; ?>;



AHORA

LLAMADA A LA HOJA DE ESTILOS:
<link type="text/css" media="screen" rel="stylesheet" href="rutaArchivo.php?colorfondo=545454 ">

ATRIBUTO DENTRO DE HOJA DE ESTILOS:
background-color: #<?php echo $_GET['colorfondo']; ?>;


Como ven lo unico que ha cambiado es el caracter '#' que al parecer no se puede enviar como parametro...

Un saludo
  #6 (permalink)  
Antiguo 29/02/2008, 05:50
 
Fecha de Ingreso: mayo-2006
Mensajes: 120
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: php y css dinamico

ahhhh mirá.
Si queres mandarlo igual, usa urlencode() que seguro te permite.

Saludos.
__________________
programación php
  #7 (permalink)  
Antiguo 29/02/2008, 09:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: php y css dinamico

Solo para apuntar que el hash (fragment #), sirve para delimitar a donde vas a saltar en un vinculo y es un carácter reservado en una URL.

Como bien dice drbit, lo que debes de hacer es usar urlencode.

Saludos.
  #8 (permalink)  
Antiguo 16/05/2008, 11:04
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: php y css dinamico

Buenas he tenido el mismo problema que el compañero. estoy tratando de usar ccs dinamico pero no me funciona.

el codigo que tengo para declarar el ccs_php en el php es:

Cita:
<link id="sampleFormCSS" media="screen" href="imgs/sample_form_css.php" rel="stylesheet" type="text/css" />
tengo una funcion en javascript que llama al css pero enviandole valores que tomo de unos input, la funcion es esta:

Cita:
function updatePreview()
{
// update the preview window (with the selected colors)
document.getElementById('sampleFormCSS').setAttrib ute('href','imgs/sample_form_css.php?rander=' + Math.random() + '&bgcolor=' + document.getElementById('formBgColor').getAttribut e('value') + '&headerbgcolor=' + document.getElementById('formHeaderBgColor').getAt tribute('value') + '&headerfontcolor=' + document.getElementById('formFontColor').getAttrib ute('value'));
}
y el codigo del css es el siguiente:

Cita:
<?php header("Content-type: text/css"); ?>
#formSampleBackground
{
background-color: #<?php echo $_GET['bgcolor'] ?>;
border: 1px;
border-style: solid;
}


#mainForm
{
position: relative;
border: 1px;
border-style: solid;
margin: 0 auto;
text-align: left;
width: 70%;
background-color: #ffffff;
}

ul.mainForm
{
list-style-type: none;
font-family: Tahoma, Arial, Verdana, sans-serif;
font-size:15px;
}

li.mainForm
{
padding-bottom: 10px;
}



#formHeaderStyle
{
position: relative;
width: 100%;
background-color: #<?php echo $_GET['headerbgcolor'] ;?>
margin:0 0 0 0;
padding-bottom: 10px;
}

p.formHeaderStyle
{
text-align: right;
margin:0 0 0 0;
font-family: Tahoma, Arial, Verdana, sans-serif;
font-weight:normal;
color: #ffffff;
font-size:25px;
position:relative;
left:-5px;
top:4px;
letter-spacing: 2px;
}



#formInfoStyle
{
position: relative;
width: 100%;
margin:0 0 0 0;
}

h3.formInfoStyle
{
text-align: left;
margin:0 0 0 0;
font-family: Tahoma, Arial, Verdana, sans-serif;
font-weight:normal;
font-size:20px;
position:relative;
left:20px;
top:0px;
letter-spacing: 1px;
line-height:150%;
color: #;
}


p.formInfoStyle
{
text-align: left;
margin:0 0 0 0;
font-family: Tahoma, Arial, Verdana, sans-serif;
font-weight:normal;
font-size:12px;
position:relative;
left:20px;
top:0px;
color: #;
}



h4.formInfoStyle
{
text-align: left;
margin:0 0 0 0;
font-family: Tahoma, Arial, Verdana, sans-serif;
font-weight:normal;
font-size:12px;
position:relative;
left:20px;
top:0px;
color: #<?php echo $_GET['headerfontcolor'];?>;
}

#formFields
{
position: relative;
width: 100%;
background-color: #ffffff;
margin:0 0 0 0;

}

label.formFieldQuestion
{
line-height:125%;
padding:0 4px 1px 0;
border:none;
display:block;
font-size:95%;
font-weight:bold;
}

label.formFieldOption
{
font-size:90%;
display:block;
line-height:1.0em;
margin:-19px 0 0 25px;
padding:4px 0 5px 0;
width:90%;
}



input.formFieldStyle
{
display:block;
line-height:1.4em;
margin:8px 0 0 3px;
width:13px;
height:13px;
}

No hace nada, me deja las capas sin colores.
No c que podria estar pasando, por favor ayudenme!

Gracias
  #9 (permalink)  
Antiguo 16/05/2008, 11:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: php y css dinamico

Hola the_web_saint,

A mi parecer para recargar un CSS, debes de volver a recargar la pagina para volver a mostrar los estilos.

Saludos.
  #10 (permalink)  
Antiguo 16/05/2008, 12:20
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: php y css dinamico

Hola, gracias por la pronta respuesta.
Pero si recargo la pagina no me carga los estilos que tengo por default?
  #11 (permalink)  
Antiguo 16/05/2008, 12:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: php y css dinamico

Si los mandas por GET no te pondría los que tienes por defecto, tu tienes que construir esa lógica de la aplicación, recargar enviando los nuevos parámetros.

Saludos.
  #12 (permalink)  
Antiguo 16/05/2008, 12:40
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Pregunta Respuesta: php y css dinamico

hola:

Pero el codigo que coloque esta correcto?, es que es la primera vez que utilizo esto!.
Entonces no se, si esta bien.

Gracias y disculpa.
  #13 (permalink)  
Antiguo 16/05/2008, 14:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: php y css dinamico

No es correcto ya que como te digo, no puedes cambiar los estilos al momento.

Saludos.
  #14 (permalink)  
Antiguo 17/05/2008, 07:16
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
De acuerdo Respuesta: php y css dinamico

Hola GatorV, ya solucione el problema

coloque en la pagina

Cita:
<link id="sampleFormCSS" media="screen" href="imgs/sample_form_css.php?bgcolor=<?php echo"$form_bg_color";?>&headerbgcolor=<?php echo"$header_bg_color";?>&headerfontcolor=<?php echo"$font_color";?>" rel="stylesheet" type="text/css" />
cuando el usuario escoge los colores que guste y da actualizar, envio los datos a otro archivo, los guardo el la DB y actualizo unas variables de session, estos valores los tomo en las variables php que ven en en codigo y asi actualiza la pagina.


ademas arregle unos errores que tenia en el documento de css .php

Graciasss!!!!
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 00:54.