El formulario es un elemento HTML que se utiliza para recopilar información del usuario de manera secuencial y organizada. Esta información se puede enviar a los servicios de back-end si estos lo requieren, o también se puede almacenar en una base de datos usando DBMS como MySQL. Dividir un formulario en varios pasos o páginas permite un mejor manejo de datos y capas de información. Esto se puede lograr mediante la creación de sesiones de navegador. Las sesiones HTML son una colección de variables que se pueden usar para mantener el estado de los atributos del formulario mientras el usuario cambia entre las páginas del dominio actual. Las entradas de la sesión se eliminarán tan pronto como el usuario cierre el navegador o abandone el sitio.
Sintaxis:
<?php session_start(); session_register('variable_name'); $_SESSION['variable_name']=variable_value; ?>
Ejemplo: Este ejemplo ilustrará los pasos para crear un formulario de tres páginas utilizando PHP y sesiones de navegador. Se refiere al formulario de registro de un instituto de entrenamiento. La primera página del formulario le pedirá al usuario que ingrese su nombre, correo electrónico y número de teléfono móvil, que se transferirá a otra página de PHP. Donde la información se almacenará en directorios de sesión.
- Código 1: Inicie su servidor localhost como Apache, etc. Complete la escritura de las etiquetas HTML y escriba el siguiente código dentro de la sección BODY. Guarde el archivo con el formato ‘form1.php’ en el directorio local de su localhost. Abra su navegador web y escriba su dirección localhost seguida de ‘\form1.php’ .
<form method=
"POST"
action=
"form2.php"
>
<pre>Name: <input type=
"text"
name=
"user_name"
>
</pre>
<pre>Email Address: <input type=
"text"
name=
"user_email_address"
>
</pre>
<pre>Mobile Number: <input type=
"number"
name=
"user_mobile_number"
>
</pre>
<input type=
"submit"
value=
"Next"
>
</form>
- Salida: abrirá su formulario de esta manera, la información solicitada se pasará a la página PHP vinculada con el formulario (acción = «formulario2.php») con el uso del método POST. En el siguiente paso, la información enviada se almacenará en la array de sesión.
- Código 2: Repita el proceso de guardar el archivo como se explicó anteriormente. Utilice el nombre de archivo ‘form2.php’. Cuando haga clic en ‘Siguiente’ en la página form1.php. Esta página le preguntará el nombre de la universidad/compañía, la ciudad, el estado en el que se encuentra el usuario y el curso que está solicitando.
<?php
// Initialize the session
session_start();
// Store the submitted data sent
// via POST method, stored
// Temporarily in $_POST structure.
$_SESSION
[
'name'
] =
$_POST
[
'user_name'
];
$_SESSION
[
'email_address'
]
=
$_POST
[
'user_email_address'
];
$_SESSION
[
'mobile_number'
]
=
$_POST
[
'user_mobile_number'
];
?>
<!-- Form
for
other details-->
<form method=
"POST"
action=
"form3.php"
>
<pre>
Company/College:
<input type=
"text"
name=
"college_name"
>
</pre>
<pre>
City:
<input type=
"text"
name=
"city"
>
</pre>
<pre>
State:
<input type=
"text"
name=
"state"
>
</pre>
<pre>
You're a:
<input type=
"radio"
name=
"profession"
value=
"Student"
>Student
<input type=
"radio"
name=
"profession"
value=
"Working Professional"
>
Working Professional
</pre>
<pre>
Course:
<select name=
"course"
>
<option value=
"DSnA"
>
Data Structures
and
Algorithms
</option>
<option value=
"Gate_test"
>
GATE Mock Test
</option>
<option value=
"Mock_interview"
>
Mock Interviews
</option>
<option value=
"Machine_learning"
>
Machine Learning
</option>
</select>
</pre>
<br>
<pre>
<input type=
"checkbox"
name=
"terms_and_conditions"
>
Terms
and
Conditions
</pre>
<br>
<input type=
"submit"
value=
"Register"
>
</form>
- Salida: será redirigido a esta página, que se verá así:
- Código 3: en este paso, extraeremos la información de la array de sesión y la almacenaremos en nuestra base de datos MySQL. Crea un tercer archivo llamado ‘form3.php’ y escribe el siguiente código dentro de la sección BODY, y aplica las etiquetas HTML necesarias.
<?php
//Initializing the session
session_start();
//writing MySQL Query to insert the details
$insert_query
= 'insert into subscriptions (
name,
email_address,
mobile_number,
college_name,
city,
state,
profession,
course,
terms_and_conditions,
) values (
' . $_SESSION['
name'] . ",
" . $_SESSION['email_address'] . "
,
" . $_SESSION['mobile_number'] . "
,
" . $_POST['college_name']. "
,
" . $_POST['city']. "
,
" . $_POST['state']. "
,
" . $_POST['profession']. "
,
" . $_POST['course']. "
,
" . $_POST['terms_and_conditions']. "
);"
//let's run the query
mysql_query(
$insert_query
);
?>
<pre>Successfully Registered</pre>
- Salida: Al hacer clic en Registrarse en la página 2, lo redirigirá a esta página donde sus datos se enviarán a la base de datos. Como requisito previo, debe vincular su página a una base de datos MySQL. Para eso, puede consultar este
Conclusión: las sesiones se pueden usar para mantener activos los datos del formulario hasta que se cierre el navegador o se abandone el sitio. Tenga en cuenta que al escribir la consulta final, hemos utilizado datos de la array $_SESSION y también datos de la array $_POST, que se publicaron en el último paso del formulario.
PHP es un lenguaje de secuencias de comandos del lado del servidor diseñado específicamente para el desarrollo web. Puede aprender PHP desde cero siguiendo este tutorial de PHP y ejemplos de PHP .
Publicación traducida automáticamente
Artículo escrito por chitrankmishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA