Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/02/2012, 14:13
Avatar de fvz676fvz
fvz676fvz
 
Fecha de Ingreso: junio-2011
Mensajes: 24
Antigüedad: 12 años, 10 meses
Puntos: 1
Pregunta Formulario registro

Soy nuevo en Php y estoy practicando con un formulario.
Cree las BD para este formulario(una de usarios temporales, hasta que me confirmen el e-mail, y la otra seria la definitiva)
El tema es que hice la validacion de los campos(que tuvieran un formato correcto y estos ya no existieran en la base de datos) y la validacion corre bastante bien pero cuendo esta se encuetra con algun dato que ya fue ingresado, por ejemplo en nombre de usario me da el error pero igual me lo agrega en la base de datos, les dejo los codigos y agradezco su ayuda

index.php
<?php

include ('funciones.php');

//Valores Variables por defecto
$usuario ="";
$usuario_value ="";
$email ="";
$email_value ="";
$pass ="";
$pass_value ="";

$exist_usuario ="";
$exist_email ="";

$exist_user =0;
$exist_mail =0;



if (isset($_POST['Enviar_datos'])){
if(!validateUsuario($_POST['Usuario']))
$usuario ="error";
if(!validateExistUsuario($_POST['Usuario']))
$exist_usuario ="error";
if(!validateMail($_POST['E_mail']))
$email ="error";
if(!validateExitEmail($_POST['E_mail']))
$exist_email ="error";
if(!validatePass($_POST['Pass']))
$pass ="error";


$usuario_value = $_POST['Usuario'];
$email_value = $_POST['E_mail'];
$pass_value = $_POST['Pass'];


if($usuario!="error" && $email!="error" && $pass!="error"){
if($exist_user =="error"){
$exist_user= 1;
}
if($exist_email=="error"){
$exist_mail= 1;
}
if(!$exist_mail &&!$exist_user){
$estatus= 1;
}
}
}
?>


<head>


<title>Formulario de registro</title>
</head>

<body>
<div class="contenedora">
<div class="frm">

<h2>Formulario de registro</h2>
<form action="index.php" method="POST" name="Form" id="form">
<h3>Ingrese sus datos</h3>
<label title="Usuario"
class="form_ing">Usuario:<?php if ($usuario=="error"){echo "<span style='color:#FB0202;
margin-left:122px;
font-size:12px;'>El nombre de usuario no es valido</span>";}
elseif ($exist_usuario=="error"){echo "<span style='color:#FB0202;
margin-left:122px;
font-size:12px;'>El usuario ingreseado ya existe</span>";}
else {echo "<span style='color:#042B86;
margin-left:122px;
font-size:12px;'>Debe de ser entre 4 y 6 caracteres</span>";}
?><br /></label>
<input type ="text"
class ="form_camp"
name ="Usuario"
id ="usuario"
value ="<?php if ($usuario!= 'error'){echo $usuario_value;}?>"
tabindex="1"/><br />

<label title="E-mail"
class="form_ing">E-mail:<?php if ($email=="error"){echo "<span style='color:#FB0202;
margin-left:130px;
font-size:12px;'>El e-mail ingresado no es valido</span>";}
elseif ($exist_email=="error"){echo "<span style='color:#FB0202;
margin-left:130px;
font-size:12px;'>El e-mail ingreseado ya existe</span>";}
else {echo "<span style='color:#042B86;
margin-left:130px;
font-size:12px;'>Verifique bien su e-mail</span>";}
?><br /></label>
<input type ="text"
class ="form_camp"
name ="E_mail"
id ="e_mail"
value="<?php if ($email!='error'){echo $email_value;}?>"
tabindex="2"/><br />

<label title="Pass"
class="form_ing">Contrase&ntilde;a:<?php if ($pass =="error"){echo "<span style='color:#FB0202;
margin-left:90px;
font-size:12px;'>La contraseña ingresada no es valida</span>";}
else {echo "<span style='color:#042B86;
margin-left:90px;
font-size:12px;'>Debe de ser entre 4 y 10 caracteres</span>";}
?><br /></label>
<input type ="password"
class ="form_camp"
name ="Pass"
id ="pass"
value="<?php if ($pass!='error'){echo $pass_value;}?>"
tabindex="4"/><br />
<label class="clausulas_grl">Todos los campos son obligatorios</label><br /><br />
<label class="botones">
<input type="reset" value="Cancelar" name="Borrar_datos"/>
<input type="submit" value="Enviar" name="Enviar_datos"/></label>

</form>

<?php if (insertarReg($usuario_value,$email_value,$pass_val ue))
?>
<h1>Gracias</h1>
</div>
</div>



</body>
</html>



funciones.php

<?php
function validateUsuario ($usuario){

if((strlen($usuario)<=3 || strlen($usuario)>=7))
return 0;

else if (!preg_match("/^[0-9a-zA-z]+$/",$usuario))
return 0;
else
return 1;
}

function validateExistUsuario ($usuario){

$servidor ="localhost";
$usuario_db ="root";
$password ="";
$sdb ="formulario";

$ilink=mysql_connect($servidor,$usuario_db,$passwo rd)
or die(mysql_error());

mysql_select_db($sdb,$ilink);
$consulta = "select usuario_db from user_temp where usuario_db = '$usuario'";
$resultado = mysql_query($consulta,$ilink)or die (mysql_error());
if (mysql_num_rows($resultado)>0)
return 0;
else
return 1;
}


function validateMail($email){
$email = $_POST[ "E_mail"];
$mail_correcto = 0;

if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) &&
(substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {
//miro si tiene caracter .
if (substr_count($email,".")>= 1){
//obtengo la terminacion del dominio
$term_dom = substr(strrchr ($email, '.'),1);
//compruebo que la terminación del dominio sea correcta
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
//compruebo que lo de antes del dominio sea correcto
$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
if ($caracter_ult != "@" && $caracter_ult != "."){
$mail_correcto = 1;
}
}
}
}
}

if ($mail_correcto){
return 1;
}
else
return 0;
}

function validateExitEmail($email) {
//declaro variables de conexion con mysql
$servidor ="localhost";
$usuario_db ="root";
$password ="";
$sdb ="formulario";

$ilink = mysql_connect($servidor,$usuario_db,$password)
or die (misql_error());

mysql_select_db($sdb,$ilink);
$consulta = "select email from user_temp where email = '$email'";
$resultado = mysql_query($consulta,$ilink) or die (mysql_error());
if (mysql_num_rows($resultado)>0)
return 0;
else
return 1;
}


function validatePass ($pass){

if((strlen($pass)<=3 || strlen($pass)>=11))
return 0;

else if (!preg_match("/^[0-9a-zA-z]+$/",$pass))
return 0;
else
return 1;
}

//ING DE DATOS A LA BD
function insertarReg($usuario_, $email_, $pass_){

$servidor = "localhost";
$usuario_db = "root";
$password = "";
$sdb = "formulario";

$ilink3=mysql_connect($servidor,$usuario_db,$passw ord) or die(mysql_error());
mysql_select_db($sdb,$ilink3);

$inserta= "insert into user_temp (usuario_db,email,pass,fecha_alta) values ('$usuario_','$email_','$pass_',CURDATE())";
$resultado3=mysql_query($inserta,$ilink3) or die (mysql_error());

if (!$resultado3)
return false;
else{
return true;

}
}


?>