Login for managers and clients [closed]

1

I have a login system only for clients, I wanted to make when doing a special login the user would be directed to another page. I know we have to use IF but I do not know how I do it.

My code:

indexlogin.php:

//LOGIN
$connect = mysql_connect("localhost", "a23144", "7a27ab") or die("Erro");                           // faz a conecxão a base de dados
$db = mysql_select_db("a23144",$connect) or die("Erro");                                            // selecionar a base de dados
if(isset($_POST["login"])) {        // vai verificar se existe
$nome =($_POST ["nome"]);  
$email =($_POST ["email"]);                                                                     // md5 é a segurança basica. o email fica encrpitado ou se ja eu n vou  saber o email  dele
$password = md5($_POST["password"]);                                                                // o email e a pass são as variaveis
$verificar = mysql_query("SELECT * FROM users WHERE email='$email' AND password='$password'");      // verifica a coluna da base de dados
if (mysql_num_rows($verificar)<=0){                                                             // faz a contagem dos dados que recebeu.                                    
    echo "
                <h3><META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.aepaa.pt/~a23144/Pap/index.php'>           
                <script type=\"text/javascript\">
                    alert(\"Dados de login incorretos!Tente novamente.\");
                </script></h3>
            ";                                                      // se não  econtrar os dados da erro
}else{

    setcookie("login",$email);


    header("Location: entrou.php");                                                                     // se econtrar os daods vai para o arquivo entrou.php
}
}

REGISTER

if(isset($_POST["registar"])) {                                                                     // vai verificar se existe
$nome = $_POST["nome"]; 
$email = md5($_POST ["email_registar"]);                                                                    // md5 é a segurança basica. o email fica encrpitado ou se ja eu n vou  saber o email  dele
$password = md5($_POST["password_registar"]);                                                               // o email e a pass são as variaveis
$password_rep = md5($_POST["password_rep"]);    
$verificar = mysql_query("SELECT * FROM users WHERE email='$email'");                                   // verifica a coluna da base de dados

if (mysql_num_rows($verificar)>0){                                                                          // faz a contagem dos dados que recebeu.                                    
    echo
            "
                <h3><META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.aepaa.pt/~a23144/Pap/index.php'>           
                <script type=\"text/javascript\">
                    alert(\"Conta já registada!Tente novamente.\");
                </script></h3>
            ";                                                                                              // Se ja tiver registada 

}elseif ($_POST["email_registar"]==""){                                                             // se não o  email  n tiver inserido na texto box diz "tem q inserir email"
    echo "<h3>Tem que inserir um email!</h3>";                                                                      


}elseif ($_POST["password_registar"]==""){
    echo "<h3>Tem que inserir uma Palavra-passe!</h3>";                                                                     


}elseif ($_POST["password_registar"]=!$_POST["password_rep"]){
    echo "<h3>As palavra-passe não coincidem!</h3>";                                                                        


}elseif ($nome==""){
    echo "<h3>Escreva o seu nome!</h3>";                                                                        

}else{                                                      
    // apos ter inserido os daddos todos corretamente ira receber a mensagem conta resgistada com  .....
    $insert = mysql_query("INSERT INTO users (nome,email,password) VALUES('$nome','$email','$password')");

    echo"<h3><META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.aepaa.pt/~a23144/Pap/index.php'>
                <script type=\"text/javascript\">
                    alert(\"Conta registada com sucesso!\");
                </script></h3>";
}

        }

And entered it.php:

<?php
    if(isset($_COOKIE["login"])) {      // apos confirmar os dados ao fazer o login corretramente ira dizer entra na conta.
    echo "<h3><META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.aepaa.pt/~a23144/Pap/index.php'>         
                <script type=\"text/javascript\">
                    alert(\"Bem Vindo! \");
                </script></h3>";
    echo $_COOKIE["login"];
    }else{

    header("Location: ./");   //faz com  q vai para logo ao index.
    }      
?>
    
asked by anonymous 23.06.2018 / 13:02

1 answer

1

indexlogin.php

$connect = mysql_connect("localhost", "a23144", "7a27ab") or die("Erro");                           // faz a conecxão a base de dados
$db = mysql_select_db("a23144",$connect) or die("Erro");                                            // selecionar a base de dados
if(isset($_POST["registar"])) {        // vai verificar se existe
    $nome =($_POST ["nome"]);  
    /*******corrigido aqui colocado md5 **********/
    $email =md5($_POST ["email"]);                                                                     // md5 é a segurança basica. o email fica encrpitado ou se ja eu n vou  saber o email  dele
    $password = md5($_POST["password"]); 

    // o email e a pass são as variaveis
    $verificar = mysql_query("SELECT * FROM users WHERE email='$email' AND password='$password'");      // verifica a coluna da base de dados

    $row = mysql_fetch_array($verificar);
    if (mysql_num_rows($verificar)<=0){
                                                                 // faz a contagem dos dados que recebeu.                                    
        echo "
                    <h3><META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.aepaa.pt/~a23144/Pap/index.php'>           
                    <script type=\"text/javascript\">
                        alert(\"Dados de login incorretos!Tente novamente.\");
                    </script></h3>
                ";                                                      // se não  econtrar os dados da erro
    }else{

        /********** Para o administrador *************/
        $nomeBanco = $row['nome'];
        $emailBanco = $row['email'];
        $senhaBanco = $row['password'];

        // verifica se os dados retornados do banco são seu email e sua senha de registro
       /***** substitua SeuEmail pelo seu email de registro
       e SuaSenha pela sua senha de registro **************/
        if( ($emailBanco==md5("SeuEmail")) && ($senhaBanco==md5("SuaSenha"))){

            // cria o cookie do administradoe com o nome dele
            setcookie("admin",$nomeBanco);
            header("Location: indexadm.php");
            exit();

        }else{  
            /*********  para usuarios comuns *************/
            $nome = $row['nome'];
            setcookie("nome",$nome); 

            header("Location: entrou.php");  
        }                                                                   // se econtrar os daods vai para o arquivo entrou.php
    }
}

entered.php

if(isset($_COOKIE["nome"])) {      // apos confirmar os dados ao fazer o login corretarmente ira dizer entra na conta.
echo "BEM VINDO!";
/***********************************
 pega o cookie com o nome do usuario
***********************************/
echo $_COOKIE["nome"];

}else{

header("Location: ./");   // ./faz com  q vai para logo ao index.
}

indexadm.php

if(isset($_COOKIE["admin"]) && $_COOKIE["admin"]=="Lucas Sintra") {      // apos confirmar os dados ao fazer o login corretarmente ira dizer entra na conta.
    echo "BEM VINDO ADMINISTRADOR ";
    /***********************************
    pega o cookie com o nome do administrador
    ***********************************/
    echo $_COOKIE["admin"];

   //código da sua pagina admin

}else{
   header("Location: ./");   // ./faz com  q vai para logo ao index.
}

OBS:

1 - DO NOT use mysql_ * functions because they are considered obsolete

Why should not we use functions of type mysql _ *?

2 - Use prepared statements, this will reduce the vulnerability of sql injection

not to repeat the same code on all pages use a connection.php

connection.php

    $hostname="localhost";  
    $username="a23144";  
    $password="7a27ab";  
    $db = "a23144";  
    $pdo = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);

REGISTER

if(isset($_POST["registar"])) { 

    /***********conexão***********/

    require_once('connection.php');

    /*****************************/


    $nome = $_POST["nome"]; 
    $email = md5($_POST ["email_registar"]);   
    $password = md5($_POST["password_registar"]);  
    $password_rep = md5($_POST["password_rep"]); 


    //********** consulta para verificar se conta já existe *********
    $verificar = $pdo->prepare("SELECT * FROM users WHERE email = ? AND password= ?");
    $verificar->bindValue(1, $email);
    $verificar->bindValue(2, $password);
    $verificar->execute();
    $row = $verificar->fetch(PDO::FETCH_ASSOC);
    $num = $verificar->rowCount();  // faz a contagem dos dados que recebeu.


    if ($num == 1) {

        echo
        "
            <h3><META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.aepaa.pt/~a23144/Pap/index.php'>           
            <script type=\"text/javascript\">
                alert(\"Conta já registada!Tente novamente.\");
            </script></h3>
        ";                                                    

    }elseif ($_POST["email_registar"]==""){                                                          
        echo "<h3>Tem que inserir um email!</h3>";                                                                      


    }elseif ($_POST["password_registar"]==""){
        echo "<h3>Tem que inserir uma Palavra-passe!</h3>";                                                                     


    }elseif ($_POST["password_registar"]=!$_POST["password_rep"]){
        echo "<h3>As palavra-passe não coincidem!</h3>";                                                                        


    }elseif ($nome==""){
        echo "<h3>Escreva o seu nome!</h3>";                                                                        

    }else{                                                      

        /************************** insere dados no banco *********************************/

        $insert = $pdo->prepare("INSERT INTO users (nome, email, password) 
        VALUES (:nome, :email, :password)");
        $insert->bindParam(':nome', $nome);
        $insert->bindParam(':email', $email);
        $insert->bindParam(':password', $password);
        $insert->execute();

            echo"<h3><META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.aepaa.pt/~a23144/Pap/index.php'>
            <script type=\"text/javascript\">
                alert(\"Conta registada com sucesso!\");
            </script></h3>";

    }

$pdo = null;

}

**** indexlogin.php ****

if(isset($_POST["login"])) {        // vai verificar se existe
    $nome =($_POST ["nome"]);  
    //corrigido aqui colocado md5
    $email =md5($_POST ["email"]);     // md5 é a segurança basica. o email fica encrpitado ou se ja eu n vou  saber o email  dele
    $password = md5($_POST["password"]); 

    // o email e a pass são as variaveis

    /***********conexão***********/

    require_once('connection.php');

    /*****************************/

    //********** consulta para verificar se conta já existe *********
    $verificar = $pdo->prepare("SELECT * FROM users WHERE email = ? AND password= ?");
    $verificar->bindValue(1, $email);
    $verificar->bindValue(2, $password);
    $verificar->execute();
    $row = $verificar->fetch(PDO::FETCH_ASSOC);
    $num = $verificar->rowCount();  // faz a contagem dos dados que recebeu.

    if ($num == 0) {

        echo "
              <h3><META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.aepaa.pt/~a23144/Pap/index.php'>           
               <script type=\"text/javascript\">
                  alert(\"Dados de login incorretos!Tente novamente.\");
                </script></h3>
        ";  // se não  econtrar os dados da erro

    }else{

        $nomeBanco = $row['nome'];
        $emailBanco = $row['email'];
        $senhaBanco = $row['password'];

       ***** substitua SeuEmail pelo seu email de registro
       e SuaSenha pela sua senha de registro **************/
        if( ($emailBanco==md5("SeuEmail")) && ($senhaBanco==md5("SuaSenha"))){

            // cria o cookie do administrador com o nome do usuario e envia para indexlogin.php
            setcookie("admin",$nomeBanco);
            header("Location: indexadm.php");
            exit();

        }else{  
            $nome = $row['nome'];
            setcookie("nome",$nome); 

            header("Location: entrou.php");  
        }  // se econtrar os daods vai para o arquivo entrou.php
    }

$pdo = null;

}
    
23.06.2018 / 20:33