Como no repetir usuario con php
Hola, estoy desarrollando el registro de usuario y he creado un código de verifiación del formulario, el problema es que no se como crear el código de validación para que no se repita el usuario. este es el código. A ver si alguien me puede hechar una manecilla, gracias
archivo registro.php
Editado
archivo registro.php
<?php require_once('conexion.php'); $validarnombre=0; $validaremail=0; $query_datosregistro = sprintf("SELECT nombre FROM user WHERE nombre = %s ", GetSQLValueString($_POST["strNombre"], "text")); $datosregistro = mysqli_query($con, $query_datosregistro) or die(mysqli_error($con)); $row_datosregistro = mysqli_fetch_assoc($datosregistro); $totalRows_datosregistro = mysqli_num_rows($datosregistro); if($totalRows_datosregistro!=0) $validarnombre=1; ?> <?php $query_datosregistro2 = sprintf("SELECT email FROM user WHERE email = %s ", GetSQLValueString($_POST["strEmail"], "text")); $datosregistro2 = mysqli_query($con, $query_datosregistro2) or die(mysqli_error($con)); $row_datosregistro2 = mysqli_fetch_assoc($datosregistro2); $totalRows_datosregistro2 = mysqli_num_rows($datosregistro2); if($totalRows_datosregistro2!=0) $validaremail=1; if($validarnombre==1 && $validaremail==0) { echo 'Nombre no disponible'; } else if($validarnombre==0 && $validaremail==1) { echo 'Email no disponible'; } else if($validarnombre==1 && $validaremail==1) { echo 'Nombre y email no disponible'; } else { $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } //echo "antes"; if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "altausuario")) { //echo "si"; $insertSQL = sprintf("INSERT INTO user(nombre,categoria, modalidad, email, pass ) VALUES (%s, %s, %s, %s, %s)", GetSQLValueString($_POST["strNombre"], "text"), GetSQLValueString($_POST["categoria"], "text"), GetSQLValueString($_POST["categoria2"], "text"), GetSQLValueString($_POST["strEmail"], "text"), GetSQLValueString(md5($_POST["strPassword"]), "text")); $Result1 = mysqli_query($con, $insertSQL) or die(mysqli_error($con)); $insertGoTo = "registro-ok.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } } //sacar modalidades $query_DatosCategorias = "SELECT * FROM categoria GROUP BY categoria ORDER BY categoria "; $DatosCategorias = mysqli_query($con, $query_DatosCategorias) or die(mysqli_error($con)); $row_DatosCategorias = mysqli_fetch_assoc($DatosCategorias); $totalRows_DatosCategorias = mysqli_num_rows($DatosCategorias); ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <title>Flamencos</title> <!-- Bootstrap --> <link href="css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="css/estilo.css"> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body > <!-- jQuery (necessary for Bootstrap's JavaScript pugins) --> <script language="JavaScript" src="http://www.geoplugin.net/javascript.gp" type="text/javascript"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script> <script src="js/efectos.js"></script> <div class="container" style="background-color:#DBD7D7 ""> <?php include('cabecera.php'); ?> <?php include('menu.php'); ?> <div class="row"> <div class="col-xs-12 col-sm-6 col-md-3"> <?php include('sidebarizq.php'); ?></div> <div class="col-xs-12 col-sm-6 col-md-6"> <form action="registro.php" name="altausuario" class="form-horizontal" id="altausuario" method="post" onSubmit="javascript:return validaralta();"> <div class="form-group"> <label for="strNombre" class="col-sm-2 control-label">Nombre</label> <div class="col-sm-6"> <input name="strNombre" type="text" class="form-control" id="strNombre" placeholder="Nombre"> </div> </div> <div class="alert alert-danger oculto " role="alert" id="aviso1"><span class="glyphicon glyphicon-remove" ></span> Necesitamos saber tu nombre .</div> <div class="alert alert-danger oculto " role="alert" id="aviso12"><span class="glyphicon glyphicon-remove" ></span> Necesitamos saber tu nombre .</div> <div class="form-group"> <label for="categoria" class="col-sm-2 control-label">Categoría</label> <script> function Filtro_Categoria (valor){ $.ajax({ url: 'inc/modalidades.php', type: 'POST', data: 'valor=' + valor, success: function(respuesta){ $('#modalidad').html(respuesta); } }); } </script> <div class="col-sm-6"> <select class=" form-control col-sm-6" name="categoria" id="categoria" onChange="Filtro_Categoria(categoria.value)"> <option value="0">Selecciona una categoría</option> <?php do { ?> <option value="<?php echo $row_DatosCategorias ['categoria']?>"><?php echo $row_DatosCategorias ['categoria']?></option> <?php } while ($row_DatosCategorias = mysqli_fetch_assoc($DatosCategorias)); ?> </select></div> </div> <div class="form-group" id="modalidad"> <label for="categoria" class="col-sm-2 control-label">Modalidad</label> <div class="col-sm-6"> <select class=" form-control col-sm-6" name="categoria2" id="categoria2" onChange="Filtro_Categoria(categoria.value)"> <option value="0">Selecciona una Modalidad</option> <option value=""></option> </select></div> </div> <div class="alert alert-danger oculto" role="alert" id="aviso11"><span class="glyphicon glyphicon-remove" ></span> Necesita seleccionar una categoría .</div> <div class="form-group"> <label for="strEmail" class="col-sm-2 control-label">Email</label> <div class="col-sm-6"> <input name="strEmail" type="email" class="form-control" id="strEmail" placeholder="Email"> </div> </div> <div class="alert alert-danger oculto" role="alert" id="aviso2"><span class="glyphicon glyphicon-remove" ></span> Necesitamos saber tu e-mail.</div> <div class="alert alert-danger oculto" role="alert" id="aviso4"><span class="glyphicon glyphicon-remove" ></span> Los e-mails no coinciden.</div> <div class="form-group"> <label for="strEmail2" class="col-sm-2 control-label">Repetir Email</label> <div class="col-sm-6"> <input name="strEmail2" type="email" class="form-control" id="strEmail2" placeholder="Repetir Email"> </div> </div> <div class="form-group"> <label for="strPassword" class="col-sm-2 control-label">Password</label> <div class="col-sm-6"> <input name="strPassword" type="password" class="form-control" id="strPassword" placeholder="Password"> </div> </div> <div class="alert alert-danger oculto " role="alert" id="aviso7"><span class="glyphicon glyphicon-remove" ></span> Las contraseñas no coinciden.</div> <div class="alert alert-danger oculto" role="alert" id="aviso5"><span class="glyphicon glyphicon-remove" ></span> Necesitamos que escribas una contraseña.</div> <div class="form-group"> <label for="strPassword2" class="col-sm-2 control-label">Repetir Password</label> <div class="col-sm-6"> <input name="strPassword2" type="password" class="form-control" id="strPassword2" placeholder="Repetir Password"> </div> </div> <div class="alert alert-danger oculto" role="alert" id="aviso6"><span class="glyphicon glyphicon-remove" ></span> Necesitamos que escribas tu contraseña de nuevo.</div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <label> <input type="checkbox" name="intAcepto" > Acepto las <a href="#" data-toggle="modal" data-target="#condicionesuso">condiciones de uso</a>. </label> </div> </div> <div class="alert alert-danger oculto " role="alert" id="aviso10"><span class="glyphicon glyphicon-remove" ></span> Necesitamos que aceptes las condiciones de uso.</div> <div class="alert alert-danger oculto " role="alert" id="aviso12"><span class="glyphicon glyphicon-remove" ></span> tun nombre no es correcto</div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-success">Registrarme</button> </div> </div> <input type="hidden" class="form-control" id="MM_insert" name="MM_insert" value="altausuario"> </form> </div> <div class="col-xs-12 col-sm-6 col-md-3"><?php include('sidebardrc.php'); ?></div> </div> <?php $ciudad2 ="{$geoplugin->city} "; $ciudad3 ="{$geoplugin->region} "; ?> Hola soy de <?php echo $ciudad2 ?> que es de <?php echo $ciudad3 ?> </div> </body> </html> <?php mysqli_free_result($datosregistro); mysqli_free_result($datosregistro2);?>y este le archivo donde esta la funcion
function validaralta() { valid = true; $("#aviso1").hide("slow"); $("#aviso2").hide("slow"); $("#aviso3").hide("slow"); $("#aviso4").hide("slow"); $("#aviso5").hide("slow"); $("#aviso6").hide("slow"); $("#aviso7").hide("slow"); $("#aviso11").hide("slow"); $("#aviso10").hide("slow"); $("#aviso11").hide("slow"); //COLORES if (document.altausuario.strNombre.value == ""){ $("#aviso1").show("slow"); valid = false; } if (document.altausuario.strEmail.value == ""){ $("#aviso2").show("slow"); valid = false; } if (document.altausuario.strEmail2.value == ""){ $("#aviso3").show("slow"); valid = false; } if (document.altausuario.strPassword.value == ""){ $("#aviso5").show("slow"); valid = false; } if (document.altausuario.strPassword2.value == ""){ $("#aviso6").show("slow"); valid = false; } if (document.altausuario.intAcepto.checked == false) { $("#aviso10").show("slow"); valid = false; } if (document.altausuario.strEmail.value != document.altausuario.strEmail2.value){ $("#aviso4").show("slow"); valid = false; } if (document.altausuario.strPassword.value != document.altausuario.strPassword2.value){ $("#aviso7").show("slow"); valid = false; } return valid; }en cuanto a validar los datos del formulario, va bien, pero no se como hacer para que me indique que el registro de la base de datos, esta duplicado.
Editado
0
Puntos
Puntos
3033
Visitas
Visitas
1
Resp
Resp
Por patrigoga hace 82 meses
Principiante
Respuesta #1
Hola que tal, pues lo de strNombre, strEmail etc tiene toda la pinta de ser de ayzweb no estaría mal que allí te solucionaran tu caso ya que el código no me suena de nada.
Si quieres aprender como validar un nombre de usuario sin problemas te paso un enlace https://youtu.be/RZnELZ5PT64?t=2m48s
Salu2!
Si quieres aprender como validar un nombre de usuario sin problemas te paso un enlace https://youtu.be/RZnELZ5PT64?t=2m48s
Salu2!
1
Puntos
Puntos
Por alber hace 82 meses
Administrador