Mas de maquetacion CSS

zeros-cool

Saludos a todos programadores mediavideros. Tengo una pequeña duda.

Veréis, mi némesis es el puto CSS k no llego a cogerlo del todo. Estoy ahora programando una web PHP y maquetandola con CSS pero no se bien por qué cada vez que meto líneas de código se me rueda la maquetación. Por ejemplo, quiero que cuando un usuario se loguee aparezca arriba "Bienvenido usuario bla bla" y cuando no esté logeado aparezca lo típico, para introducir tu nombre de usuario y contraseña y para registrarte. Pues esto es un trozo de código:

<?php
if($estaLogeado == 'false'){
?>

<div id='registerBar'><img src='../themes/black/images/barra_registro.jpg' width='728' height='27' /></div>
<!--Zona de registro-->
<form action="./../general/home.php" method="POST">

<div id="userTxt"><font color="white" size="2">Usuario:</font></div>
<div id="userTb"><input type="text" size="10" name="user"></div>
<div id="passTxt"><font color="white" size="2">Contraseña:</font></div>
<div id="passTb"><input type="password" size="10" name="pass"></div>
<div id="btnRegistro"><input type="submit" value="Entrar" class="boton"></div>
<div id="registrate"><font color="white" size="2">Regístrate</font></div>

</form>
<?php
}//if($estaLogeado == 'false'){

Pues si no estás logeado se ve todo bien, los textbox, el boton y la barra de registro. Pero sin embargo, sin pongo un else me interesa que la barra de registro(marcada en negrita) se siga viendo igual, en la misma posicion y con el mismo tamaño, pero no es asi, se ve rodada. Y esto es solo un ejemplo, porque también me pasa con otras cosas.

No se si me he explicado muy bien pero alguien que entienda de CSS podría echarme una mano?

Muchas gracias de antemano.

Get

<input type=submit class="boton"...

en el css tiene q tener esas clases definidas.

zeros-cool

si se me olvido comentarlo, que tengo un archivo estilos.css en los que tengo definidas todas las clases y se colocan bien, el problema es k al hacer ese if se me vuelven a descolocar cuando entra en el else

Get

tienes de volver a declarar el head de html asi como la inclusion de hoja de estilo., ya q php ejecuta una nueva muestra en pantalla.

if(blabnla){
echo"
<html>
<head>

</head>
<body>
</body>
</html>";
}else{
echo"
<html>
<head>

</head>
<body>
</body>
</html>";
}

zeros-cool

y la declaracion de la hoja de estilos sería entre <head> y </head>?
Y entre las demás etiquetas que, se deja vacío, o pongo los <div> dentro del <body></body>?
Esto lo tengo que hacer cada vez que voy a tirar de la hoja de estilos?

Alvar

y porque no metes todo en la capa de la barrita? y dejas la imagen de la barra como fondo de la capa?

o la barrita solo sale arriba del formulario?

lo mas sencillo viendo eso creo que es esto... siempre y cuando el resto de estilos este bien dejinido

<div id='registerBar'><img src='../themes/black/images/barra_registro.jpg' width='728' height='27' /></div>
<?
if ( $estaLogeado == 'false' ) {
?>
<!--Zona de registro-->
<form action="./../general/home.php" method="POST">

<div id="userTxt"><font color="white" size="2">Usuario:</font></div>
<div id="userTb"><input type="text" size="10" name="user"></div>
<div id="passTxt"><font color="white" size="2">Contraseña:</font></div>
<div id="passTb"><input type="password" size="10" name="pass"></div>
<div id="btnRegistro"><input type="submit" value="Entrar" class="boton"></div>
<div id="registrate"><font color="white" size="2">Regístrate</font></div>

</form>
<?
} else {
?>
Bienvenido USER!
<?
}
?>

zeros-cool

#6 asi también lo tuve, y me pasa lo mismo, es decir, cuando me entra en el if($estaLogeado == 'false') todos los <div> de ai dentro me los hace bien, pero si entra en el else, la barra se me ve rodada, el mensaje de bienvenido también.....

Alvar

vale... acabo de ver una cosa ahora que lo has dicho

a la clase del bienvenido, le das 1 estilo que agrupe todos los del formulario? me refiero algo tipo esto...

.estilo1 {
float: left;
width: 400px;
height: 30px;
}
.estilo2 {
float: left;
width: 200px;
height: 30px;
}
.estilo3 {
clear: both;
float: left;
width: 500px;
height: 30px;
}

el estilo que necesitas para que sin poner esos veas la estructura mas o menos igual seria este
.estiloestructura {
float: left;
width: 600px;
height: 60px;
}

dejando la barra fuera del if, ya que la vas a mostrar siempre

no se si entenderas :S pero para esplicar no valgo jaja

zeros-cool

no se si t refieres a esto pero todos los estilos son practicamente iguales, cambiando lo que seria el top y el left. si no es esto a lo k t refieres no t entendi bien xDDD

B
<?
if ( $estaLogeado == 'false' ) {
?>

Eso con register_globals a on es un problema grave

Alvar

me refiero, a que el estilo en el que metas lo de bienvenido usuario, ha de ser del mismo tamaño que lo que ocupan todos los otros juntos.

xk no se muestra igual esto:

1º fila: alto 35, ancho 500
2º fila: alto 45, ancho 300
3º fila: alto 50, ancho 550

que esto

fila unica: alto 35, ancho 300

para que lo segundo (en tu caso el else, o cuadno esta conectado) deberia de ser:
fila unica: alto 100, ancho 550

es decir, el tamaño de la capa de la info cuando el user esta conectado, ha de ser la suma de las alturas de cada fila, y la mayor anchura que coja cada fila.

de todas formas te deje un privado xDD

zeros-cool

ooook muxas gracias tio. e tardao xk estoy liaiyo por las fechas y eso pero cuando m ponga de nuevo lo pruebo y ya t comento. gracias!

Usuarios habituales