Varios

Uso de controles ocultos

Los controles ocultos es una de las maneras de pasar información entre varias páginas (también se pueden utilizar las sesiones o las cookies).

El siguiente ejemplo ilustra el uso de controles ocultos.

Enlace a ejemplo

El programa anterior está formado por por tres páginas:

Aunque las tres páginas están relacionadas, hay que tener en cuenta que cada página es un programa independiente (la primera página ni siquiera es un programa, es una simple página html). En PHP cada programa (es decir, cada página) solo conoce los datos que le envía el formulario que lo llama. Y cada formulario sólo envía los datos de los controles incluidos en el formulario.

En el ejemplo anterior, si los únicos controles de los formularios fueran las cajas de texto (para el nombre y el apellido), la segunda página sólo recibiría el nombre y la tercera página sólo recibiría el apellido. como muestra la imagen siguiente:

Sin controles ocultos

¿Cómo puede entonces enviar la segunda página el nombre que recibió de la primera? Una forma de conseguirlo es que la segunda página incluya un control oculto que contenga el nombre recibido de la primera página. De esa manera la tercera página recibirá dos controles, el nombre (control oculto) y el apellido (caja de texto), como muestra la imagen siguiente:.

Con controles ocultos

El carácter &

El carácter & (que en español se llama et y en inglés ampersand) tiene un significado especial en HTML, ya que se utiliza como carácter inicial de las entidades de carácter.

Si en una página web se quiere mostrar el carácter & hay que emplear la entidad de carácter correspondiente &

<?php
print "<p>La décima novela de Julian Barnes es Arthur &amp; George.</p>\n";
?>

La décima novela de Julian Barnes es Arthur & George.

El carácter & aparece también en dos contextos especiales:

División de números enteros

En Matemáticas, la división de números enteros está definida de manera que el resto sea siempre positivo. Así, estos serían en Matemáticas los resultados de cuatro divisiones en los que intervienen enteros positivos y negativos:

13 4 3 1 13 -4 -3 1 -13 4 -4 3 -13 -4 4 3

Pero en los lenguajes de programación, la división de números enteros no sigue siempre esa regla.

En el caso de PHP (y JavaScript), la regla es que el resto sea del mismo signo que el dividendo. Así, estos serían en PHP los resultados de las cuatro divisiones del ejemplo anterior, que se obtendrían con la función intdiv() y el operador %:

13 4 3 1 13 -4 -3 1 -13 4 -3 -1 -13 -4 3 -1

Si el dividendo es positivo, el resultado es el mismo, pero si el dividendo es negativo, el resultado es diferente.

Otros lenguajes siguen otras reglas. Por ejemplo, en Python el resto tiene el mismo signo que el divisor y en otros, como C o C++, el resultado no está definido y depende del compilador.

Referencia: Resto de la división de enteros (Wikipedia)