Validación de formularios del lado del servidor en PHP.

La validación puede ser una tarea bastante común en las aplicaciones web. Los datos ingresados ​​deben ser validados antes de enviarlos al servidor. Este artículo trata sobre la validación de formularios del lado del servidor en PHP. Después de leer este artículo, estaremos listos para validar el formulario con PHP.

La validación de formularios del lado del servidor es más segura que la validación de formularios del lado del cliente. La validación del lado del cliente depende de si JavaScript está deshabilitado o habilitado en el sistema cliente. Si JavaScript está deshabilitado, la validación del formulario del lado del cliente no funcionará. Sin embargo, el lado del servidor para la validación se realiza después del envío de datos.

Paso 1: cree el archivo index.php y agregue debajo de la línea de codes.nnnnn

En este archivo, hemos creado una página de registro básica que contiene nombre, correo electrónico, número de teléfono móvil, contraseña y confirmación de contraseña. Después de enviar el formulario, validate.php validará el formulario si los datos enviados cumplen con nuestros requisitos o no. Si todos los datos enviados cumplen con nuestros requisitos, podemos procesarlos para su uso posterior; de lo contrario, se mostrará un mensaje de error y se redirigirá al usuario a la página de inicio.

<?php
session_start(); 
$nameError  = isset($_SESSION['nameError'])?$_SESSION['nameError']:'';
$emailError  = isset($_SESSION['emailError'])?$_SESSION['emailError']:'';
$mobnoError  = isset($_SESSION['mobnoError'])?$_SESSION['mobnoError']:'';
$passwordError  = isset($_SESSION['passwordError'])?$_SESSION['passwordError']:''; 
?>
<html lang="en">
<head>c 
  <title>Server Side Form Validation In PHP</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">  
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> 
<body>
<h3 class="text-success" align="center">Server Side Form Validation In PHP</h3><br>
<div class="container">   
  <div class="panel-group">
    <div class="panel panel-primary">
     <div class="panel-heading">Server Side Form Validation In PHP</div>
        <form class="form-horizontal" method="post" action="validate.php">         
            <div class="panel-body">                 
                    <div class="form-group">
                        <label class="control-label col-sm-2" for="Name">Name:</label>
                        <div class="col-sm-5">
                          <input type="text" class="form-control" value = "<?php echo $_SESSION['name'];?>" id="name" name="name">
                          <span class="text-danger"><?=$nameError?></span>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="control-label col-sm-2" for="email">Email:</label>
                        <div class="col-sm-5"> 
                          <input type="email" class="form-control" value = "<?php echo $_SESSION['email'];?>" id="email" name="email">
                          <span class="text-danger"><?=$emailError?></span>
                        </div>
                    </div>  
                    <div class="form-group">
                            <label class="control-label col-sm-2" for="mobno">Mobile Number:</label>
                            <div class="col-sm-5">
                              <input type="number" class="form-control" value = "<?php echo $_SESSION['mobno'];?>" id="mobno" name="mobno">
                              <span class="text-danger"><?=$mobnoError?></span>
                            </div>
                    </div>
                <div class="form-group">
                        <label class="control-label col-sm-2" for="contact">Password:</label>
                        <div class="col-sm-5">
                          <input type="password" class="form-control"  id="password" name="password">
                          <span class="text-danger"><?=$passwordError?></span>
                        </div>
                </div>
                 <div class="form-group">
                        <label class="control-label col-sm-2" for="contact">Confirm Password:</label>
                        <div class="col-sm-5">
                           <input type="password" class="form-control"  id="cnfpass" name="cnfpass">                           
                        </div>
                </div>                
                <input type="submit"  name="submit" class="next btn btn-success" value="SUBMIT" id="submit" style="margin-left:30%"/>
            </div>                         
        </form>
      </div>
    </div>
</div> 
</body> 
</html>
Paso 2: Cree el archivo validate.php y agregue la siguiente línea de códigos.

Toda la lógica de validación del lado del servidor está escrita en este archivo. Aquí creamos un patrón de expresión regular para validar el nombre propio y el número de móvil. Para validar el correo electrónico, usamos la función incorporada de PHP FILTER_VALIDATE_EMAIL.

<?php 
session_start();
/* Post data */

$name = $_POST['name'];
$email = $_POST['email'];
$mobno = $_POST['mobno'];
$password = $_POST['password'];
$cnfpass = $_POST['cnfpass'];

/* regular expression pattern */

$namePtr = "/^[a-zA-Z ]+$/";
$mobnoPtr="/^[0-9]{10}+$/";
$errSts	= false;

if (!preg_match($namePtr,$name)) {
    $_SESSION['nameError'] = "Name must contain only alphabets and space";	
    $_SESSION['name']	= $name;
    $errSts	= true;
}else{
    $_SESSION['nameError'] = '';
    $errSts	= false;
    $_SESSION['name']	= $name;
}

if(!filter_var($email,FILTER_VALIDATE_EMAIL)) {
    $_SESSION['emailError']= "Please enter valid email id";
    $_SESSION['email']	= $email;
    $errSts	= true;
}else{
    $_SESSION['emailError'] = '';
    $_SESSION['email']	= $email;	
    $errSts	= false;
}

if(!preg_match($mobnoPtr, $mobno)){
    $_SESSION['mobnoError'] =  "Please enter valid mobile number";
    $_SESSION['mobno']	= $mobno;
    $errSts	= true;
}else{
    $_SESSION['mobnoError']	=	'';
    $_SESSION['mobno']	= $mobno;
    $errSts	= false;
}

if($password != $cnfpass || $password=='' || $cnfpass==''){
    $_SESSION['passwordError'] =  "Password and confirm password doesn't match";	 
    $errSts	= true;
}else{
    $errSts	= false;
}

if($errSts){
    header('Location:index.php');
}else{
    echo "<pre>";
    print_r($_POST);
}
?>

Arriba están los pasos para implementar la validación de formularios del lado del servidor en PHP.

Obtener geolocalización desde una dirección IP utilizando el ejemplo de registro automático de PHP en PHP #038; MYSQL.

Si quieres conocer otros artículos parecidos a Validación de formularios del lado del servidor en PHP. puedes visitar la categoría Código.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas