Foros del Web » Programando para Internet » PHP »

Codigo PHP entre etiquetas HTML?

Estas en el tema de Codigo PHP entre etiquetas HTML? en el foro de PHP en Foros del Web. Hola espero me saquen de esta duda que tengo... Es correcto usar el codigo php dentro de las etiquetas html asi: Código: <p><? echo $mivariable?></p> ...
  #1 (permalink)  
Antiguo 14/12/2004, 19:46
Avatar de orochies  
Fecha de Ingreso: septiembre-2003
Ubicación: Guatemala
Mensajes: 260
Antigüedad: 21 años, 2 meses
Puntos: 2
Sonrisa Codigo PHP entre etiquetas HTML?

Hola espero me saquen de esta duda que tengo...

Es correcto usar el codigo php dentro de las etiquetas html asi:

Código:
<p><? echo $mivariable?></p>
Y no asi:

Código:
<? echo "<p>$mivariable</p>"?>
Me parece mucho mas ordenado no creen y liberariamos al servidor de tener que imprimir mucho mas codigo...

Aunque como dije hantes no se si seria una opcion correcta y ademas en ciertas ocaciones es obligatoriamente usar la segunda opcion pero en caso no obligados me parece la primera... Que opinan?...

Otra duda que me cargo es que cuando creamos un formulario dirigimos el action="" a la misma pagina y en ella se encuentra tanto el formulario de envio como el code php que procesa los datos del formulario introducidos en el...

No seria mejor dirigir el action="" a otra pagina que procese el code php y si todo esta bien mostrar los resultados en ella?...

Ya que veo muchos scripts de esta forma me queda la duda --que opinan ustedes porque usar la misma pagina para introducir y procesar los datos de un formulario?

Ademas tenemos que utilizar muchos if() para poder resolver los resulatados que queremos ufff...

Bueno espero sus opiniones y una ayudadita del porque de estas maneras de procesar nuestros escripts...

Sigo en la lucha con el php

_Saludos...
__________________
QMD...
  #2 (permalink)  
Antiguo 14/12/2004, 19:58
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años, 6 meses
Puntos: 2
Es segun la situación en la que se encuentre envuelto el codigo, es decir, si la variable esta "seteada" yo prefiero usar:
<b><?=$var?></b> antes que:
<? echo "<p>$mivariable</p>"?>
(digamos que yo nunca uso el echo "" para ello).

Es todo cuestión de gustos y "para que se usara el codigo".

La segunda parte, sobre los formularios, pues es lo mismo, si haces el action a la misma pagina te ahorras un archivo innecesario solo poniendo 3 o 4 lineas mas de codigo...

Para mi es todo cuestión de gustos y más que nada, costumbre, porque a veces sabemos que algo lo estamos haciendo "mal" pero igual lo seguimos haciendo así...
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 15/12/2004, 06:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Sobre el tema de incrustrar PHP sobre HTML ..

Todo lo que pasa por un "echo" de PHP .. es "parseado" .. en busca de algo de código PHP que interpretar: funciones, variables .. etc. Si usas <? echo $variable ?> y poco más, PHP (su "parser") salta directo en busca de tus <? ..?> para evaluar el código .. así que algo más optimo sería ese tipo de uso de PHP incrustrado sobre HTML que mandar todo el "HTML" sobre un echo "....".

Por otro lado... usar sintax tipo:
Código PHP:
<b><? echo $varible ?></b>
en editores de HTML "visuales" tipo Dreamweaver se vé claramente como va quedanto tu código .. mientras que con:
Código PHP:
echo "<b>$variable</b>"
no se aprecia ..

Otro detalle es que puedes "jugar" con las comillas simples .. Todo lo que va entre comillas simples en un "echo" no es evaludado por PHP .. ejemplo:
Código PHP:
echo '<b>'.$variable.'</b>'
Pero se suma algo de proceso al "concatenar" (usando el . punto) .. así que tampoco se gana mucho en ese caso.

Cita:
Otra duda que me cargo es que cuando creamos un formulario dirigimos el action="" a la misma pagina y en ella se encuentra tanto el formulario de envio como el code php que procesa los datos del formulario introducidos en el...
En realidad nunca se debería usar: action="" para referirse "a si mismo" .. sería recomendable usar: $_SERVER['PHP_SELF'] para obtener el nombre del script que se está ejecutando .. Eso de que un navegador "asuma" como que ha de enviarse a si mismo (a la página que lo ejecuta) si no se usa un action definido .. puede no ser standard y algún navegador no comportarse de la misma forma.

Código PHP:
<form action="<? echo $_SERVER['PHP_SELF'] >?" method="POST">
Cita:
No seria mejor dirigir el action="" a otra pagina que procese el code php y si todo esta bien mostrar los resultados en ella?...
mm Bueno .. a nivel técnico .. observa una situación:
* Usando el modelo: formulario HTML -> script PHP de proceso y mostrar resultados si corresponde ...

Si tienes un error tipo "datos que hay que completar" .. y tienes que volver a tu formulario HTML, las variables que enviastes (tu campos del formulario) al script de PHP las tienes que "devolver" a esa página (propagandolas) ya sea por el URL, cookies, sesiones ... Eso va a ocasionar un consumo de recursos de algún tipo .. ya sea de "transferencia" (si es eque se propagan por el URL) .. o en el "cliente" (si son cookies) .. o en el "servidor" (si son sesiones).

* si usas el formulario y el proceso en un mismo script .. como envias las variables "a si mismo" .. no tienes que preocuparte de "re-enviar" dichas variabels pues ya las tienes en ese script .. lo único que hay que hacer es tener la lógico (un if()) .. para determinar en que proceso estás . .es decir . .si corresponde mostrar tu formulario o se ha de procesar.

Un saludo,

Última edición por Cluster; 15/12/2004 a las 06:32
  #4 (permalink)  
Antiguo 15/12/2004, 16:24
Avatar de orochies  
Fecha de Ingreso: septiembre-2003
Ubicación: Guatemala
Mensajes: 260
Antigüedad: 21 años, 2 meses
Puntos: 2
EXELENTE! respuesta ...

Gracias por responder la explicacion fue muy clara y a la ves muy educativa ...


_Saludos...

__________________
QMD...
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 21:31.