Avatar billede tobrukDk Novice
18. marts 2012 - 23:38 Der er 7 kommentarer og
1 løsning

Vil ikke log mig ind som rank 5

Hej


det er sådan at jeg er i gang med at lave et log ind system som skal bestemme hvor brugere bliver sendt henne og kan for lov til at være henne :)



CREATE TABLE IF NOT EXISTS `brugere` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `Rank` tinyint(4) NOT NULL,
  `email` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `djnavn` varchar(255) NOT NULL,
  `profilbillede` varchar(255) NOT NULL,
  `profiltekst` longtext NOT NULL,
  `facebook` varchar(255) NOT NULL,
  `pris` int(10) NOT NULL,
  `booking` varchar(255) NOT NULL,
  `hemmelig` varchar(255) NOT NULL,
  `club` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
)


Så har jeg valgt at bygge det op på i sql.


`Rank` tinyint(4) NOT NULL,

skal køre til at kun styr hvorfor en rank man er i.


og det er sådan her at jeg har fået hjælp af en ven til at lave den her men den er snart ½ år gammel og jeg har lavet nogle andre ting om osv.. :)



<?php
session_start();

include ("include/database/db.php");

$email = $_POST["email"];
$password = $_POST["password"];
$error = "";

$userQuery = mysql_query("SELECT * FROM brugere WHERE email='$email'");

if(mysql_num_rows($userQuery) < 1)
{
    $error .= "Brugeren eksisterer ikke.<br>";
}
else
{
    $userArray = mysql_fetch_array($userQuery);

    if($userArray["password"] != SHA1($password))
    {
        $error .= "Password og brugernavn passer ikke sammen.<br>";
    }
}
if($error != "")
{
    header("Location: index.php");
}
else
{
    $_SESSION["logged_in"] = 1;
    $_SESSION["user_id"] = $userArray["id"];
    if ($userArray['rank']==5) {
        header("Location: admin.php");
    }
    header("Location: user.php");
}


når jeg prøve at log ind så går den over til index.php

.. hvad er problem siden at den gøre sådan som den gøre?
Avatar billede kjeldsted Novice
19. marts 2012 - 02:34 #1
Hvis du bliver sendt videre til index.php kan det vel kun være
if($error != "")
{
    header("Location: index.php");
}
der gøre dette?
Kan i hvert fald ikke se andre steder at den skulle kunne dette. Så det må vel have noget med den at gøre.
Avatar billede tobrukDk Novice
19. marts 2012 - 08:54 #2
altså den her


if($error != "")
{
    header("Location: index.php");
}
skulle det være noget galt med ikke også?
Avatar billede kjeldsted Novice
19. marts 2012 - 13:22 #3
Øh, ja. Det er vel det eneste sted at den kan henvise til index.php.
Hvad er indholdet af $error?
Avatar billede tobrukDk Novice
19. marts 2012 - 14:39 #4
$error indhold det her


$error = "";



hvis jeg bruger det her og tilpasser det til min hjemmeside

    <?php
    session_start();
    mysql_connect("host","brugernavn","password");
    mysql_select_db("database");
    $bruger = $_POST["brugernavn"];
    $pass = $_POST["password"];
    $error = "";
    $userQuery = mysql_query("SELECT id,brugernavn,password FROM brugere WHERE brugernavn='$bruger'");
    if(mysql_num_rows($userQuery) != 1)
    {
    $error .= "Brugeren eksisterer ikke.<br>";
    }
    else
    {
    $userArray = mysql_fetch_array($userQuery);
    if($userArray["password"] != MD5($pass))
    {
    $error .= "Password og brugernavn passer ikke sammen.<br>";
    }
    }
    if($error != "")
    {
    echo $error . "<a href=\"java script:history.back(-1);\">Tilbage</a>";
    }
    else
    {
    $_SESSION["logged_in"] = 1;
    $_SESSION["user_id"] = $userArray["id"];
    header("Location: user.php");
    }
    ?>

så ville det her hjælp mig men jeg forstår det ikke overhovedet :(
Avatar billede tobrukDk Novice
19. marts 2012 - 14:45 #5
#4 hvis jeg brugt det der så vil det virker mener jeg , skulle bare lave $bruger = $_POST["brugernavn"] om til email
Avatar billede tobrukDk Novice
19. marts 2012 - 15:41 #6
Den er blevet lavet om til den her


<?php
if (!empty($_POST)) {
    session_start();
 
    include("include/database/db.php");
 
    $email = $_POST["email"];
    $password = $_POST["password"];
    $error = "";
 
    $userQuery = mysql_query("SELECT id,email,password,admin FROM brugere WHERE email='$email'");
 
    if(mysql_num_rows($userQuery) < 1)
    {
        $error .= "Brugeren eksisterer ikke.<br>";
    }
    else
    {
        $userArray = mysql_fetch_array($userQuery);
 
        if($userArray["password"] != SHA1($password))
        {
            header("Location: index.php");
            exit();
        }
    }
    if($error != "")
    {
        header("Location: index.php");
        exit();
    }
    else
    {
        $_SESSION["logged_in"] = 1;
        $_SESSION["user_id"] = $userArray["id"];
        if ($userArray['admin']==1) {
            header("Location: admin_index.php");
            exit();
        }
        header("Location: user.php");
        exit();
    }
}
?>
den hedder godkendt.php og nu når jeg prøve at log ind med rigtigt og forkert så bliver den bare på siden og vise ingen ting :)
Avatar billede tobrukDk Novice
19. marts 2012 - 17:43 #7
Fik klart problem og det virker nu ;


<?php
    session_start();
 
    include("include/database/db.php");
 
    $email = $_POST["email"];
    $password = $_POST["password"];
    $error = "";
 
    $userQuery = mysql_query("SELECT id,email,password,rank FROM brugere WHERE email='$email'") or die(mysql_error());
 
    if(mysql_num_rows($userQuery) < 1)
    {
        $error .= "Brugeren eksisterer ikke.<br>";
    }
    else
    {
        $userArray = mysql_fetch_array($userQuery);
 
        if($userArray["password"] != sha1($password))
        {
            header("Location: index.php");
            exit();
        }
    }
    if($error != "")
    {
        echo 'fejl';
    }
    else
    {
        $_SESSION["logged_in"] = 1;
        $_SESSION["user_id"] = $userArray["id"];
        if ($userArray['rank']==1) {
            header("Location: admin_index.php");
            exit();
        }
        header("Location: user.php");
        exit();
    }   
?>
Avatar billede tobrukDk Novice
19. marts 2012 - 17:44 #8
jeg har glemt method="POST"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester