Cita:
Iniciado por Alexis88 En lugar de regresar un valor, regresa un array con las respuestas y solo para las que sean de error, muestras el respectivo mensaje.
Un saludo
Hola.
Gracias por contestar he hecho lo siguiente con array:
Código PHP:
Ver original<?php
require 'Config.php';
$Result = new stdClass();
$Result->Error = [];
$password = $_POST['password'];
$mail = $_POST['mail'];
$checkmail = Mysqli::Query("SELECT Mail FROM users WHERE Mail = '".$mail."'");
if($mail == null):
$Result->Error[] = ['Mail' => 'Required_M'];
elseif(!Functions::Validate($mail)):
$Result->Error[] = ['Mail' => 'Mail_A'];
elseif($checkmail->num_rows >= 1):
$Result->Error[] = ['Mail' => 'Mail_B'];
else:
$RsM_Ok = true;
endif;
if($password == NULL):
$Result->Error[] = ['Password' => 'Required_P'];
elseif($password != $_POST['repassword']):
$Result->Error[] = ['Password' => 'Password'];
else:
$RsP_Ok = true;
endif;
if($_POST['fdia'] == NULL || $_POST['fmes'] == NULL || $_POST['fyear'] == NULL):
$Result->Error[] = ['Date' => 'Required_D'];
else:
$RsD_Ok = true;
endif;
if(isset($_POST['terms']) == 'acepto'): $RsT_Ok = true;
else:
$Result->Error[] = ['Terms' => 'Required_T'];
endif;
if(isset($RsM_Ok, $RsP_Ok, $RsD_Ok, $RsT_Ok)): $password = crypt($password, '$6$x19$\w/dasd%$ewrwg$sadas%&asdasdaw$'); $username = strstr($mail, '@', true);
Mysqli::Query("INSERT INTO users (username, Mail, Password, Day_Month, Year) VALUES ('".$username."', '".$mail."', '".$password."', '".$_POST['fdia']." de ".$_POST['fmes']."', '".$_POST['fyear']."')");
$Reg = Mysqli::Query("SELECT Mail FROM users WHERE Mail = '".$mail."'");
$Register = $Reg->fetch_array();
$_SESSION['mail'] = $Register['Mail'];
$Result->Error = 'Ok';
endif;
for($contador=0; $contador < count($Result); $contador++) endif;
?>
En efecto me muestra todos los resultados pero no en la web ¿Tengo que modificar algo en el JS?