hola a todos BUenas madrugadas, estoy realizando un formulario en php pero los mensajes de error en el registro los envia a una pagina en blanco. Invoco la generosidad y sapiencia de este foro, soy nuevo en el php. Alguien podria guiarme o indicarme los pasos para mostrar mensajes de error en misma pagina?? Les adjunto mi codigo:
muchas gracias de antemano. Dios les bendiga con creces su ayudaaa !
<?php
if(isset($_POST['enviar']))
{ // comprobamos envio de datos
// creamos una función validar el email
function valida_mail($correo) {
if (preg_match('/(\w+)@(\w+)\.\w\w\w?/',$correo)) return true;
else return false;
}
function comprobar_usuario($usu){
if (ereg("^[a-zA-Z0-9\-_]{8,8}$", $usu)) return true;
else return false;
}
function comprobar_pass($contras){
if (ereg("^[a-zA-Z0-9\-_]{6,6}$", $contras)) return true;
else return false;
}
// Procedemos a comprobar que los campos del form esten vacios
$sin_espacios = count_chars($_POST['nombre'], 1);
if(!empty($sin_espacios[10])) { // comprobamos que el campo usuario no tenga espacios en blanco
echo "El campo <em>usuario</em> no debe contener espacios en blanco.";}
elseif($_POST['accion'] and str_word_count($_POST['nombre']) !=3 ){
echo "<span class='validacion'></br>faltan los apellidos</span>"; }
// echo '<SCRIPT LANGUAGE="javascript"> location.href = "insert2.php"; </SCRIPT>';
elseif(empty($_POST['nombre'])) { // comprobamos campo nombre completo no esté vacío
echo "No has ingresado tu nombre completo."; }
elseif(!valida_mail($_POST['mail'])) { // validamos que el e-mail ingresado sea correcto
echo "El e-mail ingresado no es válido."; }
//}elseif(!validateUsername($_POST['usuario'])) { // validamos que el e-mail ingresado sea correcto
//echo "usuario esta cagado.";
elseif(empty($_POST['usuario'])) { // comprobamos usuario no esté vacío
echo "No has ingresado usuario.";}
elseif(!comprobar_usuario($_POST['usuario'])) { // validamos que el usuario ingresado sea correcto
echo "El usuario es incorrecto."; }
else {
// "limpiamos" los campos de códigos maliciosos
$link = mysql_connect("localhost", "nscomput_sedesol", "sedesol");
mysql_select_db("sedesol");
$nombre = mysql_real_escape_string($_POST['nombre']);
$mail = mysql_real_escape_string($_POST['mail']);
$usuario = mysql_real_escape_string($_POST['usuario']);
$pass = mysql_real_escape_string($_POST['pass']);
// comprobamos que usuariono haya sido registrado antes
$sql = mysql_query("SELECT usuario FROM usuario WHERE usuario ='".$usuario."'");
if(mysql_num_rows($sql) > 0) {
echo "El usuario ya ha sido registrado anteriormente, intenta con otro.";
}
elseif(empty($_POST['pass'])) { // comprobamos que pass no esté vacío
echo "No has ingresado contraseña."; }
elseif(!comprobar_pass($_POST['pass'])) { // validamos que el campo pass ingresado sea correcto
echo "la contraseña es incorrecta."; }
elseif(empty($_POST['pass1'])) { // comprobamos que el campo pass1 no esté vacío
echo "repite nuevamente la contraseña."; }
elseif(!comprobar_pass($_POST['pass1'])) { // validamos que elcampo pass1 ingresado sea correcto
echo "esta mal contra."; }
elseif($_POST['pass'] != $_POST['pass1']) { // comprobamos contraseñas coincidan
echo "Las contraseñas ingresadas no coinciden."; }
else {
// encriptamos la contraseña ingresada con md5
$_POST['pass'] = md5('pass1');
// ingresamos los datos a la BD
$sql = "INSERT INTO usuario (id_usuario, nombre_completo, mail, usuario, pass, status, priv) VALUES ('','".$_POST['nombre']."', '".$_POST['mail']."','".$_POST['usuario']."', '".$_POST['pass']."', 'ACTIVO', 'u')";
$result = mysql_query($sql,$link);
if ($result){
echo "Datos ingresados correctos.";
}
else {
echo "Ha ocurrido un error";
}
}
}
}
else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registro de usuarios</title>
<script>
function sf(ID){
document.getElementById(ID).focus();
}
</script>
</head>
<body onload="sf('text');">
<br>
<TABLE BORDER=1 align =center bordercolor=A9A9A9>
<tr>
<TD COLSPAN=2 align=left>
<form id="form1" name="form1" method="post" action="insert.php">
<img src="imagenes/mexico3.png" >
</TD>
</TR>
<TR>
<TD><b>Nombre Completo:</b> </TD>
<TD>
<INPUT type="text" Maxlength="45" Size="47" name="nombre" id="text" tabindex="1">
</TD>
<!-- <td> <?php echo @$nombre; ?> </td> -->
</TR>
<TR>
<TD align =right ><b>e-m@il:</b></TD>
<TD>
<INPUT type="text" placeholder="
[email protected]" Maxlength="45" Size="47" name="mail" tabindex="2">
</TD>
<!-- <td> <td><?php echo @$mail; ?></td> </td> -->
</TR>
<TR>
<TD align =right><b>Usuario:</b></TD>
<TD>
<INPUT type="text" Maxlength="8" Size="8" name="usuario" tabindex="3"><span style="color: red;" > <font size=1>8 caracteres </font> </span>
</TD>
<!-- <td> <td><?php echo @$usuario; ?></td> </td> -->
</TR>
<TR>
<TD align =right><b>password:</b></TD>
<TD>
<INPUT type="password" name="pass" Maxlength="6" Size="1" tabindex="4"> <span style="color: red;"> <font size=1> 6 caracteres </font></span>
</TD>
</TR>
<TR>
<TD align =right><b>repite Password:</b></TD>
<TD>
<INPUT type="password" Maxlength="6" Size="1" name="pass1" tabindex="5"><span style="color: red;"> <font size=1> 6 caracteres </font></span>
</TD>
<input type="hidden" name="accion" value="enviar">
</TR>
<TR>
<TD COLSPAN=2 align="center">
<br>
<br>
<input type="Submit" name="enviar" value="Enviar" tabindex="7">
<br>
</TD>
</TR>
</body>
</form>
</TABLE>
<?php
}
?>