php str enhtml,PHP: PHP y HTML - Manual

PHP y HTML

PHP y HTML interactúan mucho: PHP puede generar HTML, y HTML

puede pasar información a PHP. Antes de leer esta sección, es

importante que aprenda cómo obtener variables desde fuentes externas. La página del manual sobre

este tema incluye muchos ejemplos también.

¿Qué codificación/decodificación es necesaria al pasar un valor a través de un formulario/URL?

Existen varios escenarios en los que la codificación es importante. Asumiendo que

se tiene un valor $datos de tipo string, el cual contiene

la cadena que desea pasar sin codificar, existen los escenarios

relevantes:Interpretación de HTML. Para especificar una cadena aleatoria,

es necesario incluirla entre comillas dobles, y

aplicar

URL: Un URL consta de varias partes. Si los datos han de ser

interpretados como un elemento, es necesario codificarlo con

Ejemplo #1 Un elemento oculto de un formulario HTML

<?phpecho ''."\n";?>

Nota:

No es correcto aplicar $datos, ya que es responsabilidad de los

navegadores codificar los datos. Todos los navegadores populares lo realizan

correctamente. Observe que esto ocurrirá independientemente del método (es decir,

GET o POST). Aunque solo se observará esto en el caso de una petición GET,

ya que las peticiones POST normalmente están ocultas.

Ejemplo #2 Datos a editar por el usuario

<?phpecho "\n";

echohtmlspecialchars($datos)."\n";

echo"";?>

Nota:

Los datos son mostrados en el navegador como se esperaba, ya que el navegador

interpretará los símbolos HTML escapados.

Durante el envío, ya sea mediante GET o POST, los datos serán codificados

por el navegador para su transferencia, y serán decodificados directamente por PHP. Por lo tanto,

no será necesario realizar ninguna codificación/decodificación,

todo es manejado automáticamente.

Ejemplo #3 En un URL

<?phpecho ''."\n";?>

Nota:

De hecho, se está imitando una petición GET de HTML, por lo que no es necesario

aplicar

Nota:

Es necesario usar

Se observará que el caracter & en el URL es reemplazado

por &. Aunque la mayoría de navegadores entenderán el carácter

si se olvida esto, no siempre es posible que ocurra. Así que, incluso si un URL

no es dinámico, es necesario usar

Estoy intentando usar una etiqueta , pero

las variables $foo.x y $foo.y no

están disponibles.

Cuando se envía un formulario, es posible usar una imagen en lugar del

botón de envío estándar con una etiqueta como esta:

Cuando un usuario pulsa sobre la imagen, el formulario al que pertenece

será transmitido al servidor con dos variables adicionales:

foo.x y foo.y.

Dado que foo.x y foo.y habrían representado

nombres de variable inválidos en PHP, éstas son convertidas automáticamente a

foo_x y foo_y. Es decir, los puntos

son reemplazados con caracteres de subrayado. Por lo tanto, es posible acceder a estas variables

como cualquier otra descrita en la sección sobre la recuperación de variables desde fuentes

externas. Por ejemplo,Nota:

Los espacios en nombres de variables de petición son convertidos a caracteres de subrayado.

¿Cómo creo arrays en un

de HTML?

Para hacer que el resultado de

sea enviado como un

array a un script de PHP,

se deben nombrar los elementos , o

de esta forma:

Observe los corchetes después del nombre de la variable; ellos son los que

la convierten en un array. Es posible agrupar los elementos en diferentes arrays

asignando el mismo nombre a elementos diferentes:

Esto produce dos array, MiArray y MiOtroArray, que son enviados

al script PHP. También es posible asignar claves específicas

a los arrays:

El array OtroArray ahora tendrá las claves 0, 1, email y telefono.

Nota:

La especificación de claves de arrays es opcional en HTML. Si no se especifican

las claves, el array será rellenado en el orden en que aparecen los elementos en

el formulario. Nuestro primer ejemplo contendrá las claves 0, 1, 2 y 3.

¿Cómo obtengo todos los resultados de una etiqueta de selección múltiple en HTML?

La etiqueta de selección múltiple en una construcción HTML permite a los usuarios

elegir varios elementos de una lista. Estos elementos son pasados entonces al

gestor de la acción del formulario. El problema es que todos son

pasados con el mismo nombre de control. Es decir,

Cada opción elegida llegará al gestor de la acción como:

var=opcion1

var=opcion2

var=opcion3

Cada opción sobrescribirá el contenido de la variable

$var anterior. La solución es usar la

característica "array desde un elemento de formulario" de PHP.

Debería usarse la siguiente forma:

Esto le indica a PHP que debe tratar $var como un array y

que cada asignación de un valor a var[] añade un elemento al array.

El primer elemento se convierte en $var[0], el siguiente en

$var[1], etc. La función

Observe que si se está usando JavaScript, los caracteres []

en el nombre del elemento podrían causar problemas al intentar

referirse al elemento por su nombre. Use el ID numérico del elemento del formulario

en su lugar, o encierre el nombre de la variable entre comillas simples y

úselo como índice del array de elementos, por ejemplo:

variable = document.forms[0].elements['var[]'];

¿Cómo puedo pasar una variable de Javascript a PHP?

Ya que Javascript es una tecnología (usualmente) del lado del cliente, y

PHP es (usualmente) una tecnología del lado del servidor, y dado que HTTP es

un protocolo "sin estados", los dos lenguajes no pueden compartir variables

directamente.

Sin embargo, es posible pasar variables entre los dos.

Una forma de hacerlo es generar código Javascript

con PHP, y hacer que el navegador se refresque a sí mismo, volviendo a pasar

variables específicas al script de PHP. El ejemplo de abajo muestra

precisamente cómo hacer esto; permite que el código de PHP capture el alto

y el ancho de la pantalla, algo que normalmente sólo es posible en el

lado del cliente.

Ejemplo #4 Generación de Javascript con PHP

<?phpif  (isset($_GET['ancho']) AND isset($_GET['alto'])) {// imprimir las variables de geometríaecho"El ancho de la pantalla es: ".$_GET['ancho'] ."
\n";

echo"El alto de la pantalla es: ".$_GET['alto'] ."
\n";

} else {// pasar las variables de geometría

// (preservar la cadena de consulta original

//   -- las variables post deberán ser manejadas de otra forma)echo"

echo"  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"."&ancho=\" + screen.width + \"&alto=\" + screen.height;\n";

echo"\n";

exit();

}?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值