HOla amigos/as, a ver si me pueden ayudar con esto que no le saco la solucion.
Tengo un codigo que me inserta en bbdd el email y la contraseña , (y algunos datos mas ).
Pero el problema es que si en el formulario le doy a enviar de nuevo por segunda vez, me vuelve a insertar en la base de datos de nuevo el email y contraseña.
Se que se puede restringir esto mediante sql. pero necesito limitar la duplicidad del email y la contraseña mediante php.
¿Como se puede hacer esto?
De veras que no me sale por mas que lo intento.
Miren este es el codigo que tengo:
Gracias de antemano:
archivo 1, llamado : OperacionesMysql.php
Código PHP:
Ver originalclass OperacionesMysql
{
private $servidor = 'localhost';
private $usuario = 'root';
private $pass = '';
private $basedatos = 'bbdd_estadisticas';
public $nombre_tabla = 'usuarios';
public $array_datos = array(
'nombre'=>'$nombre',
'apellidos'=>'$apellidos',
'nick'=>'$nick',
'email'=>'$email',
'password'=>'$password',
'repassword'=>'$repassword',
'sexo'=>'$sexo',
'dia'=>'$dia',
'mes'=>'$mes',
'ano'=>'$ano'
);
//CONECTAMOS A LA BASE DE DATOS..................................................................
public function ConectarBbdd()
{
$con = mysqli_connect($this->servidor, $this->usuario, $this->pass, $this->basedatos) or
die ('Lo siento pero no conecta a la BBDD');
return $con;
}
//INSERTAR DATOS...................................................................................
function InsertarDatos($nombre_tabla, $array_datos)
{
$sql = "INSERT INTO " . $nombre_tabla . " (";
$sql .= ") VALUES('". implode("', '", $array_datos)."') ";
$con = $this->ConectarBbdd();
header("Location:formulario_registrate.php"); }
//SELECCIONAR TODOS LOS DATOS DE UNA TABLA..........................................................
public function SeleccionarTodosDatos($nombre_tabla)
{
$sql = "SELECT * FROM " . $nombre_tabla . " ";
$con = $this->ConectarBbdd();
return $res;
}
} //fin de OperacionesMysql
archivo 2, llamado : validar_formulario_registrarse.php
Código PHP:
Ver originalinclude '../../clases/OperacionesMysql.php';
$op = new OperacionesMysql();
//RECIBIBOS LOS DATOS DEL FORMULARIO.....................................................
$nombre = trim(($_POST['nombre'])); $apellidos = trim(($_POST['apellidos'])); $nick = trim(($_POST['nick'])); $email = trim(($_POST['email'])); $password = trim(($_POST['password'])); $repassword = trim(($_POST['repassword'])); $sexo = $_POST['sexo'];
$dia = $_POST['dia'];
$mes = $_POST['mes'];
$ano = $_POST['ano'];
$nombre_tabla = $op->nombre_tabla;
$op->SeleccionarTodosDatos($nombre_tabla);
{
if (($fila['email'] == $email) and ($fila['password'] != $password))
{
header("Location:formulario_registrate.php?tipo_error_registro_usuario=email_existente"); }
else
if (($fila['email'] != $email) and (($fila['password'] == $password) or ($fila['repassword'] == $repassword)))
{
header("Location:formulario_registrate.php?tipo_error_registro_usuario=password_existente"); }
else
if (($fila['email'] == $email) and (($fila['password'] == $password) or ($fila['repassword'] == $repassword)))
{
header("Location:formulario_registrate.php?tipo_error_registro_usuario=email_y_password_existente"); }
} //fin de while
//INSERTAR CAMPOS EN LA TABLA USUARIOS EN LA BBDD.................................................................
//Lineas para solo poner el nombre de la tabla en el archivo "OperacionesMysql.php"
$nombre_tabla = $op->nombre_tabla;
'nombre'=>$nombre,
'apellidos'=>$apellidos,
'nick'=>$nick,
'email'=>$email,
'password'=>$password,
'repassword'=>$repassword,
'sexo'=>$sexo,
'dia'=>$dia,
'mes'=>$mes,
'ano'=>$ano
);
$op->InsertarDatos($nombre_tabla, $array_datos);