Avatar billede tobrukDk Novice
23. maj 2012 - 00:20 Der er 11 kommentarer og
1 løsning

problem med at sende brugere videre til den rigtigt side

hej

det er sådan at jeg er kommet utrolig lang med at få bygge op til mysqli, men nu er jeg kommet til et problem som gøre at den skal sende en brugere videre efter hvad rank han eller hun er i. så skal brugere bliver sende til den siden.


<?php
    session_start();
 
    include("include/database/db.php");
     
    if($stmt = $mysqli->prepare("SELECT id, djnavn, hemmelig, rank FROM `brugere` WHERE `email` = ? AND `password` = ?"))
{
    $stmt->bind_param('ss', $email, $password);
    $email = $_POST['email'];
    $password = sha1($_POST['password']);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($brugerID, $djnavn, $hemmelig, $rank);
    $stmt->fetch();
    $count_res = $stmt->num_rows;
    $stmt->close();

    if($count_res > 0) {
        $_SESSION["logged_in"] = true;
        $_SESSION["user_id"] = $brugerID;
        $_SESSION["djnavn"] = $djnavn;
        $_SESSION["hemmelig"] = $hemmelig;
        $_SESSION["rank"] = $rank;
        if($rank == 0)
        {
            header("Location: http://,,,.dk/blocker/");
            exit();
        }
        if($rank == 1)
        {
            header("Location: http://XXXXXXX.dk/admin-forside/");
            exit();
        }
        if($rank >= 2)
        {
            header("Location: http://,,,.dk/bruger-forside/");
            exit();
        }
    }
    else {
        header("Location: http://,,,.dk/bruger-findes/");
        exit();
    }
}
?>

DER KOMMER INGEN FEJL ELLER LIGNE PROBLEMER, dog viser den bare en hvid side..

Hvad gøre jeg galt siden det ikke virker som det skal??
Avatar billede keysersoze Guru
23. maj 2012 - 07:57 #1
hvis du er i tvivl om hvor langt din kode når så udskriv nogle hjælpevariabler for at se præcis hvor langt din kode når. Mit gæt er at $count_res er over 0 og at $rank ikke er at tal og du derfor enten skal sammenligne det som en string eller konvertere $rank til at være et tal.
Avatar billede tobrukDk Novice
23. maj 2012 - 14:38 #2
jeg har prøve at gøre sådan her

if($count_res > 0) {
        echo "hej";


men dog ske der ingen ting på siden eller ligne, den er stadig tom / hvid.. :)
Avatar billede tobrukDk Novice
23. maj 2012 - 14:41 #3
jeg har også prøve at bygge det sådan her

<?php
    session_start();
 
    include("include/database/db.php");
     
    if($stmt = $mysqli->prepare("SELECT id, djnavn, hemmelig, rank FROM `brugere` WHERE `email` = ? AND `password` = ?"))
{
    $stmt->bind_param('ss', $email, $password);
    $email = $_POST['email'];
    $password = sha1($_POST['password']);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($brugerID, $djnavn, $hemmelig, $rank);
    $stmt->fetch();
    $count_res = $stmt->num_rows;
    $stmt->close();
   
    echo "hej";
/*
    if($count_res > 0) {       
        $_SESSION["logged_in"] = true;
        $_SESSION["user_id"] = $brugerID;
        $_SESSION["djnavn"] = $djnavn;
        $_SESSION["hemmelig"] = $hemmelig;
        $_SESSION["rank"] = $rank;
        if($rank == '0')
        {
            header("Location: http://xxx.dk/blocker/");
            exit();
        }
        if($rank == '1')
        {
            header("Location: http://xxxxx.dk/admin-forside/");
            exit();
        }
        if($rank >= '2')
        {
            header("Location: http://xxxx.dk/bruger-forside/");
            exit();
        }
       
    }
   
    else {
        header("Location: http://xxxx.dk/bruger-findes/");
        exit();
    }
    */
}
?>

men den kommer ikke frem og siger "hej"
Avatar billede keysersoze Guru
23. maj 2012 - 15:01 #4
og hvad hvis du sætter den før din første if?
Avatar billede tobrukDk Novice
23. maj 2012 - 15:04 #5
så viser den det altså du mener her ikke også ?


echo "hej";
    if($stmt = $mysqli->prepare("SELECT id, djnavn, hemmelig, rank FROM `brugere` WHERE `email` = ? AND `password` = ?"))
{
    $stmt->bind_param('ss', $email, $password);
    $email = $_POST['email'];
Avatar billede tobrukDk Novice
23. maj 2012 - 15:07 #6
hvad tror du problem kan være siden at den ikke vil gør det?
Avatar billede tobrukDk Novice
23. maj 2012 - 15:46 #7

<?php
    session_start();
   
    include("include/database/db.php");
        echo "hej<br />";
    if($stmt = $mysqli->prepare("SELECT id, djnavn, rank FROM `brugere` WHERE `email` = ? AND `password` = ?"))
{
    $stmt->bind_param('ss', $email, $password);
    $email = $_POST['email'];
    $password = sha1($_POST['password']);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($id, $djnavn, $rank);
    $stmt->fetch();
    $count_res = $stmt->num_rows;
    $stmt->close();
    } else {
    /* Der er opstået en fejl */
    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
    }
    if($count_res > 0) {
        echo "hej igen<br />";
        echo "kommer her til<br />";
        $_SESSION["logged_in"] = true;
        $_SESSION["user_id"] = $id;
        $_SESSION["djnavn"] = $djnavn;
        $_SESSION["rank"] = $rank;
        if($rank == '0')
        {
            header("Location: http://----.dk/blocker/");
            exit();
        }
        if($rank == '1')
        {
            header("Location: http://----.dk/admin-forside/");
            exit();
        }
        if($rank >= '2')
        {
            header("Location: http://------.dk/bruger-forside/");
            exit();
        }
    }
   
    else {
        header("Location: http://----.dk/bruger-findes/");
        exit();
    }
?>


gøre sådan der og nu virker det , jeg ligge selv et svar :D men takker for hjælpen ! :D

men det som jeg gøre var sådan her


if($stmt = $mysqli->prepare("SELECT id, djnavn, rank FROM `brugere` WHERE `email` = ? AND `password` = ?"))
{
    $stmt->bind_param('ss', $email, $password);
    $email = $_POST['email'];
    $password = sha1($_POST['password']);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($id, $djnavn, $rank);
    $stmt->fetch();
    $count_res = $stmt->num_rows;
    $stmt->close();
    } else {
    /* Der er opstået en fejl */
    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
    }
Avatar billede tobrukDk Novice
23. maj 2012 - 15:57 #8
ligger et svar!.
Avatar billede keysersoze Guru
23. maj 2012 - 16:11 #9
ja - tak for hjælpen...
Avatar billede tobrukDk Novice
23. maj 2012 - 16:15 #10
Vil du have noget for det Keysersoze? jeg mener du skal have 15 point for den her.. :D
Avatar billede keysersoze Guru
23. maj 2012 - 18:12 #11
nej tak - det undrer mig bare at du gjorde hvad jeg foreslog og løste et problem (usynligt for os åbenbart da "hemmelig" ikke fandtes) vha mine forslag men alligevel valgte at lukke og beholde point selv så har lidt svært ved at se hvad du egentlig selv gjorde af tiltag ud over mine.
Avatar billede tobrukDk Novice
23. maj 2012 - 19:22 #12
nej men det bliver ret om til f.eks '1' osv... :) jeg forstår dig godt og det er blevet ret på nu
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