También he visto otras preguntas, pero quiero evitar que mi página se actualice después de completar el formulario de registro y con la validación de php muestra un error en un lapso. o no actualizar los datos del formulario o no borrar los datos del formulario también funcionará. Solo quiero que los datos del formulario sean exactos, pero que se muestre el error. por favor encuentra el código
<form action="signup.php" id="form" method="POST" onsubmit="">
<a style="text-decoration:none ;" href="index.php"><h1 >Mero <span>Notes</span></h1></a>
<h3>Register Your Account</h3>
<?php
echo '<p style="margin-top:10px;color:red;">'.$message.'</p>';
?>
<p id="validationSpan"></p>
<input placeholder="Full Name" type="text" required="required" name="fullName" value=""/>
<input placeholder="Email" type="text" required="required" name="email" />
<input placeholder="Password" type="password" name="password" required="required" id="id_password" minlength="8" onkeyup="passValidation();"/>
<input placeholder="Confirm Password" type="password" name="conPassword" required="required" id="id_conPassword" onkeyup="passValidation();"/>
<input placeholder="Contact" type="number" required="required" name="contactNum" />
<button type="submit" class="regButton" type="submit" value="Sign Up" id="regBtn" onclick="return passValidationAlert()">SignUp </button>
<h4 style="text-align: right; color:black;font-size:12px;">
Already Have an Account ?
<a class="buttomLogin" href="index.php">Login here</a>
</h4>
</form>
El código php se ve así
if(mysqli_num_rows($result)>0){
$_SESSION['error']=true;
$message='The Entered Email is Already Taken';
}
elseif($password!=$confirmPassword){
$message='Password did not match';
}
{
$epassword=password_hash($password,PASSWORD_BCRYPT);
$sql = "INSERT INTO signupdatabasemn (fullName, email, password, phoneNumber)
VALUES ( '$fullName', '$email', '$epassword', $phoneNumber) ";
$result2= mysqli_query($conn, $sql);
if ($result2>0) {
header('Location: /demosite3fnl/index.php');
} else {
}
}
?>
La solución más simple sería poner los datos de la publicación en el valor de entrada para que cuando la página se actualice, permanezca donde debería estar. Por ejemplo:
<input placeholder="Email" type="text" required="required" name="email" value="<?= $_POST['email'] ?>"/>
actualizado Acabo de ver tu código actualizado. Parece que el formulario está enviando una solicitud a un archivo php diferente. En este caso, intente devolver los datos publicados usando get. Ver más aquí