2010-04-23 30 views
7

Acabo de mudarme de un entorno de desarrollo de estación de trabajo Ubuntu PHP a Windows y estoy usando xampp. Tengo un poco de código, así:PHP: ¿cuál es la forma correcta de hacer salida de variable HTML en línea?

<input type="text" name="txtEmail" value="<?=$emailaddress;?>"/> 

que Juro trabajaron para mostrar la variable en el cuadro de texto cuando se estaba desarrollando antes. Pero cuando cargué la página en Windows/xampp simplemente coloque ese texto entre las comillas en el cuadro de texto. En su lugar, acabé cambiando a algo así como:

<input type="text" name="txtFirstName" value="<?php echo($firstname);?>" /> 

Este último tiene sentido, pero supongo que pensé que había una forma abreviada o algo así, y debo estar volviendo loco porque estoy seguro de la primera forma era trabajando en un ambiente diferente

Entonces, ¿cuál es la mejor manera de hacer esto?

+1

que puedes usar

+1

Respuesta

12

Ahórrese un dolor de cabeza y no use etiquetas cortas. Ellos sienten sucias, que no funcionan en cada instalación, y creo que puede que se estén eliminadas por completo de PHP (que puede estar equivocado sin embargo).

Incluso si usted sabe cómo solucionarlos, usted todavía será irrita cada vez que tiene que cambiar su nuevo servidor para que funcionen.

Edit: Sí, están siendo depracated. http://cubicspot.blogspot.com/2009/06/maximum-failure-php-6-deprecates-short.html

2017 Edición: Para añadir una distinción importante - el formato <?= "eco corto" siempre está habilitado (ver el comentario de Dav abajo). El formato <? "abre corto" es un asunto aparte. Para más información ver Why are "echo" short tags permanently enabled as of PHP 5.4?

+0

Ahhh, gracias, tiene sentido, ¡sabía que debía ser una respuesta rápida! Las etiquetas cortas en realidad suenan familiares ahora que lo pienso ... mi instalación ubuntu debe tenerlo configurado de forma predeterminada. Lo tendré en cuenta en el futuro. –

+1

Por si acaso alguien se pregunta aquí años después: la Dav

3

Hay una directiva php.ini que lo controla. Asegúrese de que el suyo se establece en:

short_open_tag = On 
0

Es probable que tenga que habilitar las etiquetas cortas en su php.ini

La mejor manera es probablemente el más largo <?php ya que "no se recomienda" a los demás. Creo que puede encontrar un Q & A completo aquí on SO

0

Al hacer inline ordena que no se requiere que el punto y coma. Yo personalmente prefiero las etiquetas cortas, escribiendo <?php echo envejece después de un tiempo.

0

Sí, los desarrolladores de PHP están desaprobando las etiquetas cortas, porque podría entrar en conflicto con XML. Justo a tiempo para que XHTML sea expulsado a favor de un HTML5 basado en SGML. Y nadie estaba usando PHP para generar archivos XML de todos modos ..

Cuestiones relacionadas