Foros del Web » Programando para Internet » PHP »

¿Porque no funciona en local y en servidor si?

Estas en el tema de ¿Porque no funciona en local y en servidor si? en el foro de PHP en Foros del Web. Hola soy novato en php y msql, pero bueno hay estoy aprendiendo. Hasta hace poco hacia los arreglos de los archivos a huevo y luego ...
  #1 (permalink)  
Antiguo 13/02/2012, 15:38
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 16 años, 11 meses
Puntos: 4
¿Porque no funciona en local y en servidor si?

Hola soy novato en php y msql, pero bueno hay estoy aprendiendo.
Hasta hace poco hacia los arreglos de los archivos a huevo y luego los probaba en el servidor, pero ahora me descargue apache, mysql y php y me funciona todo bien el localhost.
El caso es que copie un ejemplo de autenticacion de usuario y en el servidor sale super bien, cuando ingresas el usuario erroneo se pone un texto en color rojo, pero en localhost no sale bien ¿porque?

os pongo el codigo y despues las 3 imagenes, la del servidor funcionando BIEN la del servidor funcionando bien con el efecto que hace al meter el usuario incorrecto y la que sale mal en localhost.¿porque sale mal en localhost?

CODIGO:
Código PHP:
 <html> 
<head> 
<title>IDENTIFICARSE PARA RESERVAR MESA</title> 
</head> 
<body onload="document.getElementById('usuario').focus();">
<STYLE type="text/css">
  h1 { text-align: center;color: navy;}
  table { text-align: center; font-weight: bold;}
  td { text-align: center; font-weight: bold;}
  fieldset { border: 3px solid navy;}
  legend{ font-weight: bold; color: navy;}
</STYLE>
 
<h1>IDENTIFICACION</h1> 
<form action="Entrar.php" method="POST">
<fieldset>

<legend>ACCESO A RESERVAR MESA</legend> 
<table align="center" cellspacing="2" cellpadding="2" border="0"> 
<tr> 
<td colspan="2"
<?if ($_GET["errorusuario"]=="si"){?> 
bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span> 
<?}else{?> 
bgcolor=#cccccc>Introduce tu clave de acceso 
<?}?></td> 
</tr> 
<tr> 
<td>SOCIO:</td> 
<td><input type="Text" name="usuario" id="ususario" size="35" maxlength="35"></td> 
</tr> 
<tr> 
<td>CLAVE:</td> 
<td><input type="password" name="contrasena" id="contrasena" size="8" maxlength="6"></td> 
</tr> 
<tr> 
<td colspan="2"><input type="Submit" value="ENTRAR"></td> 
</tr> 
</table> 
</fieldset>
</form> 
<center>
<img src="upload/Mesa.jpg">
</center>


</body> 
</html>

imagen FUNCIONANDO EN EL SERVIDOR CORRECTAMENTE:



imagen FUNCIONANDO EN EL SERVIDOR CORRECTAMENTE CON EL EFECTO USUARIO ERRONEO:



imagen FUNCIONANDO MAL EN LOCALHOST:




SALU2
  #2 (permalink)  
Antiguo 13/02/2012, 15:45
 
Fecha de Ingreso: junio-2009
Ubicación: Barcelona
Mensajes: 12
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ¿Porque no funciona en local y en servidor si?

probablemente en uno tendrás PHP5.3 y en el otro no.

SIEMPRE, para abrir php, es así:

<?php

en lugar de "<?"

Pruébalo ;)
  #3 (permalink)  
Antiguo 13/02/2012, 15:52
 
Fecha de Ingreso: noviembre-2011
Mensajes: 29
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: ¿Porque no funciona en local y en servidor si?

Quizás un error en la etiqueta de apertura de php (?
Vos usas: <?
Yo uso, y según algunos artículos que leí, es recomendable usar: <?php
La verdad que no estoy muy bien informado pero creo que "<?" es para versiones mas recientes y "<?php" para todas, algo asi CREO que era, proba usando "<?php", lei tu código y es el único probable error que se me ocurre... Saludos!.
  #4 (permalink)  
Antiguo 13/02/2012, 18:19
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 16 años, 11 meses
Puntos: 4
Respuesta: ¿Porque no funciona en local y en servidor si?

Teniais razon tenia que ver con la etiqueta corta de apertura de php

lo que hice fue cambiar en el php.ini del php local la linea para poder usar la etiqueta corta <?
que por defecto esta desactivada y parar apache y reiniciarlo. y ahora si funciona.
en vez de ir cambiando todas las etiquetas.....

por si alguien le sirve la linea que hay que cambiar en el php.ini es esta:

;Valor por defecto
short_open_tag = Off
; Habilito la etiqueta corta, cambiandola con:
short_open_tag = On

y he sacado la informacion de este enlace.


Gracias a los que me contestaron salu2
  #5 (permalink)  
Antiguo 13/02/2012, 20:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ¿Porque no funciona en local y en servidor si?

Aparte de lo que ya corregiste, todos los atributos de las etiquetas HTML deben estar encerrados entre comillas, de manera que:

bgcolor=red>

Debería ser:

bgcolor="red">

Por cierto, no es recomendable usar etiquetas cortas (short_tags), no todos los servidores las permiten, principalmente si hablamos de hosting compartido, lo que podría causarte problemas mayores al mudarte o instalar tus scripts en otro servidor. Aunque te tardes más (1 segundo como máximo) teclea <?php en vez de <? y <?php echo en lugar de <?=
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 14/02/2012, 11:54
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 16 años, 11 meses
Puntos: 4
Respuesta: ¿Porque no funciona en local y en servidor si?

Gracias Triby !
tendre encuenta lo que dices, no me habia dado cuenta que faltaban comillas.

un saludo.

Etiquetas: html, imagenes, local, mysql, servidor, sql, usuarios
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 16:18.