0
I have a login system only for customers, I wanted to make sure that when making a special login the user would be directed to another page. I know we have to use the IF
but I don’t know how to
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.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.
}
?>
but according to your code redirects already happen. I suggest replacing the functions
mysql
formysqli
since the one you’re using is obsolete– Wees Smith
n, what happens in mine is that anyone logging in goes to index.php and what I wanted to do was that when I created an Administer account went to the index.php did you notice? That’s what I want to do.
– Lucas Sintra
Lucas, you can create a column named "level" in your table, for example. Clients that are not administrators would have number 1, those that are number 2, (example) and then just program in indexlogin.php according to the level column number, which page the user will be redirected. Understood?
– Luizinho
As Wees said, you better switch from mysql to mysqli or you also have PDO as an option, and it’s also good to filter the data, so you don’t have a problem with sql Injection. Search by var filter.
– Luizinho
I noticed Louie. but then when registering the account will have that level? will always be higher than 1?
– Lucas Sintra
and there will only be one Adm?
– Lucas Sintra
Boy, you still haven’t got the right name instead of the email, is it so hard to understand that the only change in your indexlogin.php is changing
setcookie("login",$email);
forsetcookie("login",$nome;
. If you don’t understand this simple modification of your code (which was asked in the previous question) I think it will be difficult to understand an answer to this new question.– user60252
Leo I already did but I while switching to this will not work my code. ent I decided to leave as had
– Lucas Sintra
@Lucassintra, take a look there I added another alternative.
– user60252