Muy a menudo es necesario transferir datos desde un navegador de cliente a un archivo de servidor con un script para procesar estos datos. Veamos exactamente cómo organizar la transferencia de parámetros php al script.
Es necesario
Conocimientos básicos de los lenguajes PHP y HTML
Instrucciones
Paso 1
Para transportar datos desde formularios web en HTTP (Protocolo de transferencia de hipertexto) se proporcionan dos métodos: GET y POST. Se diferencian en la forma en que se transmiten desde la aplicación cliente (navegador) a la aplicación servidor (script php ejecutable). El método GET usa la barra de direcciones para esto. Es decir, los nombres y valores de las variables que se le pasan se añaden directamente a la dirección del script (o URL - Localizador uniforme de recursos) a través de un signo de interrogación (?). Por ejemplo, la URL podría verse así:
Aquí, al script search.php se le pasa una variable llamada num con un valor de 30, una variable newwindow con un valor de 1 y una variable segura con un valor de off. El servidor, habiendo recibido tal solicitud, por el "?" separa la dirección del archivo y divide todo lo demás en pares de valores y nombres de variables. Los pares resultantes se completan en la matriz $ _GET, de la cual el script php especificado en la dirección podrá extraerlos. En su forma más simple, el código HTML del formulario para enviar estos datos desde el navegador al servidor usando el método GET podría verse así:
Y el script php más simple para recibir estos datos es el siguiente:
<? php
$ num = $ _GET ['num'];
$ nueva ventana = $ _GET ['nueva ventana'];
$ seguro = $ _GET ['seguro'];
?>
Las desventajas más significativas de pasar variables usando el método GET:
- cantidad limitada de datos, ya que la longitud de la URL no puede exceder los 255 caracteres;
- no todos los caracteres del código html pueden transferirse con este método;
- los datos transmitidos son visibles para el usuario, lo que no siempre es aceptable desde el punto de vista de la seguridad;
Paso 2
Estos inconvenientes y limitaciones se pueden evitar utilizando otro método: POST. Utiliza áreas especiales de paquetes de red para transferir datos: encabezados. En todos los demás aspectos, las diferencias entre estos métodos son mínimas: en la forma anterior de envío de datos, solo cambiará el nombre del método:
Y en el script php, solo el nombre de la matriz de datos:
<? php
$ num = $ _POST ['num'];
$ nueva ventana = $ _POST ['nueva ventana'];
$ seguro = $ _POST ['seguro'];
?>