Tecnología

Inicio

Cómo conectar dos formas a través de PHP

Cómo conectar dos formas a través de PHP


Formularios en Internet a menudo requieren las personas para entrar en una gran cantidad de información. En aras de la claridad y el aspecto, a veces es de mérito para romper las formas en varias páginas. El lenguaje de programación PHP: Hypertext Preprocessor, más conocido simplemente como PHP, proporciona un número de maneras de hacer esto. Sesiones, por ejemplo, son la forma más fácil para el desarrollador, pero hacen que las formas no utilizable por personas que tienen las cookies desactivadas. Aunque un poco más difícil de implementar, campos de formulario ocultos proporcionan una manera segura para pasar datos de una forma a otra.

Instrucciones

1 En un editor de texto que no utiliza el formato de texto enriquecido, abra el archivo que contiene el código HTML de la primera forma. En la etiqueta del formulario de apertura, establecer el atributo de acción para el nombre del archivo que contiene la segunda forma. Establecer el atributo del método de "post". Por ejemplo, escriba lo siguiente:

<Form name = acción "first_form" = "second_form.php" method = "post">

2 Complete el resto de la primera forma como de costumbre. Cuando se envía el formulario, el servidor va a transmitir todos los datos a partir de los elementos de entrada a la segunda forma.

3 Abra el archivo que contiene la segunda forma en el editor de texto. Crear un par de etiquetas de PHP en la parte superior de la página. Dentro de las etiquetas, escribir una función para validar los datos contenidos en la matriz superglobal "$ _POST." Los detalles específicos de la función dependerán de la aplicación particular.

4 Validar los datos y asignar a cada valor que no es una matriz de un nuevo conjunto de datos limpia. En la nueva matriz, que las llaves las mismas que las claves en $ _POST. Por ejemplo, si uno de los elementos del formulario era un campo de texto llamado "nombre", asignar los datos validados de la siguiente manera:

$ clean_data [ 'nombre'] = $ _POST [ 'nombre']; // Mantener las claves del array del mismo.

5 Con la función "serializar", serializar cualquier elemento de $ _POST que es en sí mismo una matriz. Codificar los caracteres especiales con la función "htmlentities", y asignarlo a la matriz de datos limpia. Por ejemplo, escriba lo siguiente:

$ Serializado = serialize ($ _POST [ 'favorite_movies']); // "favorite_movies" es una matriz.

= $ serializados htmlentities ($ serializado); // caracteres codifican.

$ clean_data [ 'favorite_movies'] = $ serializado;

6 Crear un hash de seguridad para verificar la integridad de los datos serializados, utilizando la función "md5" y una cadena secreta que nadie puede adivinar. Los piratas informáticos pueden ser capaces de transmitir código malicioso a través del formulario si usted no toma esta precaución. Por ejemplo, escriba lo siguiente:

$ De hash MD5 = ( "Su super-secreto-cadena" $ serializado.);

7 Crear un nuevo conjunto de etiquetas PHP dentro de las etiquetas de formulario de la segunda forma. Dentro de las etiquetas, recorrer la matriz de datos limpios, creando un elemento de formulario oculto para cada elemento de la matriz. Crear elementos de formulario ocultos para cualquier hashes así. Una forma conveniente de hacerlo es utilizar una plantilla, como en el siguiente ejemplo:

<? Php

//La plantilla:

. $ Tag_template = '<input type = "hidden" name = "% nombre%" value = "% Valor%" /> "" \ n ";

// Comenzar bucle:

foreach ($ clean_data como $ name => $ value) {

$ Search = array ( 'nombre de%%', '% value%'); // Array de los marcadores de posición.

$ Replace = array ($ name, $ value); // Matriz de datos reales para la sustitución de marcadores de posición.

str_replace echo ($ búsqueda, en lugar de $, $ tag_template); // Muestra las etiquetas de formulario.

}

// Muestra el elemento de forma oculta para el hash:

echo '<input type = "hidden" name = "movies_hash" = "' $ hash.. '" /> "" \ n ".;

?>

8 Abra el archivo del script que procesará los datos del formulario. Este script validar y procesar los datos al igual que cualquier otra secuencia de comandos de procesamiento de formularios, excepto los datos serializados necesita ser comprobada de forma no serializada. Crear un nuevo hash con los datos recibidos, y asegúrese de que coincide con el hash en $ _POST. Si coincide, unserialize la cadena con la función "html_entity_decode" y la función "unserialize". Por ejemplo, escriba lo siguiente:

$ New_hash = MD5 ( "Su super-secreto-cadena" $ _POST [ 'favorite_movies'].);

if ($ new_hash == $ _POST [ 'movies_hash']) {

$ Decodificado = html_entity_decode ($ _POST [ 'favorite_movies']);

$ Movies_array = unserialize ($ decodificada);

}