From b9bdc4c96b14e11a5d5f677efb7c601d3f0d2004 Mon Sep 17 00:00:00 2001 From: Andros Fenollosa Date: Sun, 20 Jul 2014 18:31:28 +0200 Subject: [PATCH] fix registro --- js/main.js | 31 ++++++++++++++++++++++++++++++- server/DB.class.php | 21 +++++++++++++++------ server/registrarUsuario.php | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 7 deletions(-) create mode 100644 server/registrarUsuario.php diff --git a/js/main.js b/js/main.js index 1b404b0..85a80d1 100755 --- a/js/main.js +++ b/js/main.js @@ -304,7 +304,36 @@ $(document).ready(function() { $cajaMens.text(sHTMLVal) } else { //Comprueba si el alias esta libre - + $.ajax({ + url: sURLSer + 'registrarUsuario.php', + dataType: 'jsonp', + contentType: "application/json; charset=utf-8", + type: 'GET', + crossDomain: true, + data: { + 'alias' : $alias.val(), + 'pass' : $pass1.val(), + 'email' : $correo.val() + }, + success: function (respuesta) { + var aRespu = jQuery.makeArray(respuesta) + var iIdUsur = aRespu[0]['usuario']; + if(iIdUsur > 0) { + //Registro + localStorage.setItem('sesion', iIdUsur); + $(location).attr('href', 'logros.html'); + } else { + //Login incorrecto + $cajaMens.addClass('alert alert-danger') + $cajaMens.text('-El Alias ya está utilizado.') + $alias.addClass('errorForm') + } + }, + error: function (jqXHR, textStatus, errorThrown) { + mostrarMensSinRed() + console.log(textStatus + ': ' + errorThrown.message) + } + }) } } diff --git a/server/DB.class.php b/server/DB.class.php index 6ba5b6e..9ae2b1d 100644 --- a/server/DB.class.php +++ b/server/DB.class.php @@ -2,7 +2,7 @@ /** * Clase para utilizar la base de datos - * 1.1v + * 1.2v */ class DB { //Variables @@ -14,6 +14,7 @@ class DB { private $sQuery; private $aRows = array(); private $conn; + private $iLastId = 0; /** * Constructor @@ -41,6 +42,7 @@ class DB { $this->sQuery = $insSQL; $this->abrirConexion(); $this->conn->query($this->sQuery); + $this->iLastId = $this->conn->lastInsertId(); $this->cerrarConexion(); } /** @@ -59,15 +61,22 @@ class DB { return $result; } -/** - * Método que cuenta los resultados de una consulta Select - * @param String $insSQL Sentencia SQL - * @return int número de consultas que cumplen la query - */ + /** + * Método que cuenta los resultados de una consulta Select + * @param String $insSQL Sentencia SQL + * @return int número de consultas que cumplen la query + */ public function contarResultadosQuery($insSQL){ $result = count($this->obtenerResultado($insSQL)); return $result; } + + /** + * Método que devuelve el último id al realizar un insert + */ + public function getLastId() { + return $this->iLastId; + } } ?> \ No newline at end of file diff --git a/server/registrarUsuario.php b/server/registrarUsuario.php new file mode 100644 index 0000000..2da37c5 --- /dev/null +++ b/server/registrarUsuario.php @@ -0,0 +1,33 @@ +obtenerResultado($sSQL); + if($aRes[0]['numero'] == 0) { + //Nombre libre + $sSQL = "INSERT INTO usuarios VALUES (NULL, '$sAlias', '$sPass', '$sCorreo')"; + $miDB->ejecutarQuery($sSQL); + $iId = $miDB->getLastId(); + $aFinal = array('usuario' => $iId); + } else { + $aFinal = array('usuario' => '0'); + } + + //Devuelve JSON + header('Content-Type: application/json'); + echo $_GET['callback'] .'(' . json_encode($aFinal) . ')'; +} + +?> \ No newline at end of file