fix registro

This commit is contained in:
Andros Fenollosa 2014-07-20 18:31:28 +02:00
parent ce40cf0872
commit b9bdc4c96b
3 changed files with 78 additions and 7 deletions

View File

@ -304,7 +304,36 @@ $(document).ready(function() {
$cajaMens.text(sHTMLVal) $cajaMens.text(sHTMLVal)
} else { } else {
//Comprueba si el alias esta libre //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)
}
})
} }
} }

View File

@ -2,7 +2,7 @@
/** /**
* Clase para utilizar la base de datos * Clase para utilizar la base de datos
* 1.1v * 1.2v
*/ */
class DB { class DB {
//Variables //Variables
@ -14,6 +14,7 @@ class DB {
private $sQuery; private $sQuery;
private $aRows = array(); private $aRows = array();
private $conn; private $conn;
private $iLastId = 0;
/** /**
* Constructor * Constructor
@ -41,6 +42,7 @@ class DB {
$this->sQuery = $insSQL; $this->sQuery = $insSQL;
$this->abrirConexion(); $this->abrirConexion();
$this->conn->query($this->sQuery); $this->conn->query($this->sQuery);
$this->iLastId = $this->conn->lastInsertId();
$this->cerrarConexion(); $this->cerrarConexion();
} }
/** /**
@ -59,15 +61,22 @@ class DB {
return $result; return $result;
} }
/** /**
* Método que cuenta los resultados de una consulta Select * Método que cuenta los resultados de una consulta Select
* @param String $insSQL Sentencia SQL * @param String $insSQL Sentencia SQL
* @return int número de consultas que cumplen la query * @return int número de consultas que cumplen la query
*/ */
public function contarResultadosQuery($insSQL){ public function contarResultadosQuery($insSQL){
$result = count($this->obtenerResultado($insSQL)); $result = count($this->obtenerResultado($insSQL));
return $result; return $result;
} }
/**
* Método que devuelve el último id al realizar un insert
*/
public function getLastId() {
return $this->iLastId;
}
} }
?> ?>

View File

@ -0,0 +1,33 @@
<?php
if(isset($_GET['alias']) && isset($_GET['pass']) && isset($_GET['email']) && isset($_GET['callback'])) {
//Bibliotecas
require 'DB.class.php';
//Variables
$sAlias = trim($_GET['alias']);
$sPass = trim($_GET['pass']);
$sCorreo = trim($_GET['email']);
$sSQL = 'SELECT id, count(id) AS numero FROM usuarios WHERE alias
= \'' . $sAlias . '\'';
$miDB = new DB();
$aFinal;
//Obtener resultados
$aRes = $miDB->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) . ')';
}
?>