Impedir que se duplique informacion en mi base de datos sql

Iniciado por freespace16, 6 Diciembre 2015, 20:48 PM

0 Miembros y 1 Visitante están viendo este tema.

freespace16

Hola, estoy trabajando en una pagina que esta vinculada a un software que en este caso es un juego en el que se loguean a traves de la pagina osea que si te registraste en la pagina como usuario ej: pepito y tu contraseña; al momento de entrar en el juego coloques lo mismo y entres. Pero para eso necesito que la informacion osea username no se pueda duplicar.

Lo que quiero es que si alguien coloca pepito y ya ese username existe salga "este usuario ya existe". Como lo hago?? aqui esta el codigo de la pagina de registro. registro.php

Código (php) [Seleccionar]
<?php require_once('Connections/freespace.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
  
$insertSQL sprintf("INSERT INTO usuarios (usuario, nombres, apellidos, contrasena, tipo, dia, mes, ano) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['Usuario'], "text"),
                       
GetSQLValueString($_POST['Nombre'], "text"),
                       
GetSQLValueString($_POST['Apellidos'], "text"),
                       
GetSQLValueString($_POST['Contrasena'], "text"),
                       
GetSQLValueString($_POST['tipo'], "text"),
                       
GetSQLValueString($_POST['dia'], "text"),
                       
GetSQLValueString($_POST['mes'], "text"),
                       
GetSQLValueString($_POST['ano'], "text"));

  
mysql_select_db($database_freespace$freespace);
  
$Result1 mysql_query($insertSQL$freespace) or die(mysql_error());

  
$insertGoTo "index.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}
?>

Código (html5) [Seleccionar]
<!DOCTYPE html>
<html lang="en" class="no-js">

   <head>

       <meta charset="utf-8">
       <title>Registrate Es Gratis!!</title>
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       <meta name="description" content="">
       <meta name="author" content="">

       <!-- CSS -->
       <link rel='stylesheet' href='http://fonts.googleapis.com/css?family=PT+Sans:400,700'>
       <link rel="stylesheet" href="assets/css/reset.css">
       <link rel="stylesheet" href="assets/css/supersized.css">
       <link rel="stylesheet" href="assets/css/style.css">

       <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
       <!--[if lt IE 9]>
           <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
       <![endif]-->

   <!-- Copyright 2001, 2002, 2003 Macromedia, Inc. All rights reserved. -->
   </head>

   <body bgcolor="#FFFFFF" text="#000000">

       <!-- MENU-LOCATION=NONE -->
<div class="page-container">
 <h1>Registrate!</h1>
         <h3>Preparate a entrar al mundo de FreeSpace</h3>
           <form name="form" action="<?php echo $editFormAction?>" method="POST">
               <input type="text" name="Nombre" class="nombre" placeholder="Nombre">
               <input type="text" name="Apellidos" class="apellidos" placeholder="Apellidos">
               <input type="text" name="Usuario" class="username" placeholder="Usuario">
               <input type="text" name="E-mail" class="username" placeholder="E-mail">
               <input type="password" name="Contrasena" class="password" placeholder="Contraseña">
               &nbsp;&nbsp;&nbsp;
               &nbsp;&nbsp;&nbsp;
               &nbsp;&nbsp;&nbsp;
               <p><select name="tipo">
                 <option>Sexo</option>
                 <option>Hombre</option>
                 <option>Mujer</option>
               </select></p>
               &nbsp;&nbsp;&nbsp;
               &nbsp;&nbsp;&nbsp;
               <h2>Fecha de nacimiento</h2>
               &nbsp;&nbsp;&nbsp;
               <p><select name="dia">
                 <option>Dia</option>
                 <option>1</option>
           <option>2</option>
           <option>3</option>
           <option>4</option>
           <option>5</option>
           <option>6</option>
           <option>7</option>
           <option>8</option>
           <option>9</option>
           <option>10</option>
           <option>11</option>
           <option>12</option>
           <option>13</option>
           <option>14</option>
           <option>15</option>
           <option>16</option>
           <option>17</option>
           <option>18</option>
           <option>19</option>
           <option>20</option>
           <option>21</option>
           <option>22</option>
           <option>23</option>
           <option>24</option>
           <option>25</option>
           <option>26</option>
           <option>27</option>
           <option>28</option>
           <option>29</option>
           <option>30</option>
           <option>31</option>
               </select>
                <select name="mes">
                  <option>Mes</option>
                  <option>Enero</option>
           <option>Febrero</option>
           <option>Marzo</option>
           <option>Abril</option>
           <option>Mayo</option>
           <option>Junio</option>
           <option>Julio</option>
           <option>Agosto</option>
           <option>Septiembre</option>
           <option>Octubre</option>
           <option>Noviembre</option>
           <option>Diciembre</option>
                </select>
                <select name="ano">
                  <option>Año</option>
                  <option value="1960"> 1960</option>
         <option value="1961"> 1961</option>
         <option value="1962"> 1962</option>
         <option value="1963"> 1963</option>
         <option value="1964"> 1964</option>
         <option value="1965"> 1965</option>
         <option value="1966"> 1966</option>
         <option value="1967"> 1967</option>
         <option value="1968"> 1968</option>
         <option value="1969"> 1969</option>
         <option value="1970"> 1970</option>
         <option value="1971"> 1971</option>
         <option value="1972"> 1972</option>
         <option value="1973"> 1973</option>
         <option value="1974"> 1974</option>
         <option value="1975"> 1975</option>
         <option value="1976"> 1976</option>
         <option value="1977"> 1977</option>
         <option value="1978"> 1978</option>
         <option value="1979"> 1979</option>
         <option value="1980"> 1980</option>
         <option value="1981"> 1981</option>
         <option value="1982"> 1982</option>
         <option value="1983"> 1983</option>
         <option value="1984"> 1984</option>
         <option value="1985"> 1985</option>
         <option value="1986"> 1986</option>
         <option value="1987"> 1987</option>
         <option value="1988"> 1988</option>
         <option value="1989"> 1989</option>
         <option value="1990"> 1990</option>
         <option value="1991"> 1991</option>
         <option value="1992"> 1992</option>
         <option value="1993"> 1993</option>
         <option value="1994"> 1994</option>
         <option value="1995"> 1995</option>
         <option value="1996"> 1996</option>
         <option value="1997"> 1997</option>
         <option value="1998"> 1998</option>
         <option value="1999"> 1999</option>
         <option value="2000"> 2000</option>
         <option value="2001"> 2001</option>
         <option value="2002"> 2002</option>
         <option value="2003"> 2003</option>
         <option value="2004"> 2004</option>
         <option value="2005"> 2005</option>
         <option value="2006"> 2006</option>
         <option value="2007"> 2007</option>
         <option value="2008"> 2008</option>
         <option value="2009"> 2009</option>
         <option value="2010"> 2010</option>
         <option value="2011"> 2011</option>
         <option value="2012"> 2012</option>
         <option value="2013"> 2013</option>
         <option value="2014"> 2014</option>
         <option value="2015"> 2015</option>
                </select></p>
             <button type="submit">Terminado!</button>
               <div class="error"><span>+</span></div>
               <input type="hidden" name="MM_insert" value="form">
           </form>
           <div class="connect">                
           </div>
       </div>

       <!-- javascript -->
       <script src="assets/js/jquery-1.8.2.min.js"></script>
       <script src="assets/js/supersized.3.2.7.min.js"></script>
       <script src="assets/js/supersized-init.js"></script>
       <script src="assets/js/scripts.js"></script>

   </body>

</html>


Mod: Obligatorio el uso de etiquetas GeSHi. Temas sobre PHP van al subforo de PHP. No escribir los títulos en mayúsculas (se considera gritar).

gAb1

Es muy sencillo, primero tienes que comprobar si el nombre existe y devolver un mensaje de error. Para ello tienes que hacer un select a la tabla y buscar el nombre que ha introducido el usuario, si existe mandas un mensaje si no existe continua con el registro.
Siento no poner ningún ejemplo, estoy en el movil.