This commit is contained in:
JoseluCross
2018-10-01 16:47:43 +02:00
parent e796883167
commit 40e0291517
4 changed files with 26 additions and 19 deletions

View File

@@ -8,10 +8,14 @@
</div>
<div class="row">
<div class="col-sm-12">
{% if page.state == 1 %}
{% if page.state == 'BAD_CREDENTIAL' %}
<p class="text-danger">Bad credentials</p>
{% elseif page.state == 2 %}
{% elseif page.state == 'POST_ERROR' %}
<p class="text-danger">Error during sign-up, check your data</p>
{% elseif page.state == 'MAIL_IN_USE' %}
<p class="text-danger">The e-mail is currently in use</p>
{% elseif page.state == 'NICK_IN_USE' %}
<p class="text-danger">The nickname is currently in use</p>
{% endif %}
</div>
</div>

View File

@@ -382,9 +382,9 @@ class DB
* @param $email user's email
* @return int user's identifier
*/
public function loadIDU($email)
public function loadIDU($field,$mode='email')
{
$query = "SELECT IDU FROM Users WHERE email='" . $email . "'";
$query = "SELECT IDU FROM Users WHERE $mode='" . $field . "'";
return $this->getQuery($query)["IDU"];
}
@@ -434,7 +434,9 @@ class DB
public function register($email, $pass, $nick)
{
if ($this->loadIDU($email))
return false;
return 'MAIL_IN_USE';
else if ($this->loadIDU($nick,'nick'))
return 'NICK_IN_USE';
else {
$password = hash('sha256', $pass);
dbw_query($this->conn, "INSERT INTO Users (`email`,`pass`,`nick`) VALUES ('$email','$password','$nick')");

View File

@@ -162,7 +162,7 @@ $app->get('/signup', function(Request $request) use ($app){
})->bind('register')->method('GET|POST');
function loginRegister($default,$state=0){
function loginRegister($default,$state=''){
global $app;
$page = array(
@@ -179,20 +179,21 @@ function loginOrRegister($state,$request){
switch ($state){
case 3:
return loginRegister('login',1);
return loginRegister('login','BAD_CREDENTIAL');
case 1:
if(checklogin($request->get('email'),$request->get('pwd'))){
if(checklogin($request->get('email'),$request->get('pwd'))==''){
return $app->redirect($app["url_generator"]->generate('home'));
}else{
return loginRegister("login",1);
return loginRegister("login",'BAD_CREDENTIAL');
}
case 2:
if(register($request->get('emailre'),$request->get('emailre-re'),
$request->get('pwdre'), $request->get('pwdre-re'),$request->get('nick'))){
$state = register($request->get('emailre'),$request->get('emailre-re'),
$request->get('pwdre'), $request->get('pwdre-re'),$request->get('nick'));
if ($state == '')
return $app->redirect($app["url_generator"]->generate('home'));
}else{
return loginRegister("sing-up",2);
}
else
return loginRegister("sing-up",$state);
}
}

View File

@@ -34,7 +34,7 @@ function checklogin($email,$pass){
$_SESSION['token'] = $token;
$_SESSION['sessionID'] =$idu;
$db->close();
return true;
return '';
}
$db->close();
return false;
@@ -51,14 +51,14 @@ function checklogin($email,$pass){
function register($email,$emailre,$pass,$passre,$nick){
$db = new DB();
if($emailre != $email || $pass != $passre)
return false;
$bool = $db->register($email,$pass,$nick);
if($bool) {
return 'POST_ERROR';
$state = $db->register($email,$pass,$nick);
if($state) {
$db->close();
return checklogin($email, $pass);
}else {
$db->close();
return false;
return $state;
}
}