Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

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
<?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
1
Resp
292
Visitas
Por patrigoga hace 5 meses
Principiante offline

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!
1
Puntos
Por alber hace 5 meses
Administrador offline

Relaccionados

Para comentar Inicia sesión o Registrate