Avatar billede benzon Praktikant
13. april 2003 - 22:16 Der er 12 kommentarer og
1 løsning

Session´s id har lidt probs

<?php
if (isset($_POST['name']) && isset($_POST['password'])) {
    include("mysql.php");
    $username = $_POST['name'];
    $userpassword = $_POST['password'];
    $res = mysql_query("select * from users where name = '$username' and password = '$userpassword'") or die(mysql_error());
    $row = mysql_fetch_array($res);
    if ($username && $userpassword && $row['name'] == $username && $row['password'] == $userpassword) {
        session_start();
        $_SESSION["name"] = $_POST["name"];
        $_SESSION["password"] = $_POST["password"];
        $_SESSION["level"] = "yes";
        header("Location: index.php?side=true");
    }else{
        header("Location: index.php?side=false");
    }
}else{
    header("Location: index.php?side=false");
}
?>

Selve login delen fungere som den skal der er slet ikke noget der

MEN i header("Location: index.php?side=true");
vil jeg gerne ha SID ind bag efter true men hvordan gør jeg det jeg hved hvordan jeg gør det på et link men på en header hved jeg sku ikke lige hva jeg skal gøre :\ håber der er en der kan hjælpe mig big time :)

<A HREF="nextpage.php?<?=SID?>">linktekst</A>
Avatar billede schaefner Juniormester
13. april 2003 - 23:25 #1
$session_id = SID;
header("Location: index.php?side=true?$session_id");

/Jesper Sørensen
Avatar billede schaefner Juniormester
13. april 2003 - 23:26 #2
header("Location: index.php?side=true&$session_id");

Sådan :)
Avatar billede benzon Praktikant
13. april 2003 - 23:50 #3
virkede ikke sådan lige umidlbart desvære

jeg fandt dog en løsning

$sessionname = session_name();
$sessionid = session_id();
header("Location: index.php?side=true&$sessionname=$sessionid");

Det der blev jeg nød til at lave og så adde det i header
Avatar billede schaefner Juniormester
13. april 2003 - 23:50 #4
Den virkede fint her
Avatar billede benzon Praktikant
13. april 2003 - 23:55 #5
hmmm nyeste version af php ? apache 2 ?
Avatar billede schaefner Juniormester
13. april 2003 - 23:59 #6
På mit webhotel er det v. 4.2.2
Avatar billede benzon Praktikant
14. april 2003 - 00:00 #7
du kan måske sige mig om den her kode ville være nok i toppen af alle sider der kræver at du er logget ind
$username == $_SESSION['name'];
$userpassword == $_SESSION['password'];
if ($username && $userpassword && $row['name'] == $username && $row['password'] == $userpassword) {
echo "";
}else{
header("Location: index.php?side=false");
}

burde det i realiteten ikke foresætte vis det er at name og password er det samme som i mysql

og vis ikke så smider den personen videre right ?
Avatar billede schaefner Juniormester
14. april 2003 - 00:03 #8
Det burde være nok:

<?php
if (!isset($_SESSION['name'],$_SESSION['password'])) {
    header("Location: index.php?side=false");
}
?>

Medmindre du _VIL_ tjekke med data fra databasen
Avatar billede benzon Praktikant
14. april 2003 - 00:06 #9
tja har den sådan at jeg ville kunne smide en bruger ud azap vis der bliver lavet noget lort fra bruges side hehe så det er nok den beste måde jeg selv kom med hehe
Avatar billede benzon Praktikant
14. april 2003 - 00:07 #10
men ok man kunne jo også sætte de 2 måder sammen så har du en enu bedre tjek funktion i sidste ende :)
Avatar billede benzon Praktikant
14. april 2003 - 00:09 #11
<?php
if (!isset($_SESSION['name'],$_SESSION['password'])) {
    header("Location: index.php?side=false");
}else{
    $username == $_SESSION['name'];
    $userpassword == $_SESSION['password'];
    if ($username && $userpassword && $row['name'] == $username && $row['password'] == $userpassword) {
        echo "";
        }else{
            header("Location: index.php?side=false");
            }
}
?>
Avatar billede benzon Praktikant
14. april 2003 - 00:22 #12
og med userlevel ville det være noget i den her stil vis både admin og member skal have adgang til en side

<?php
if (!isset($_SESSION['name'],$_SESSION['password'])) {
    header("Location: index.php?side=false");
}else{
    $username == $_SESSION['name'];
    $userpassword == $_SESSION['password'];
    $userlevel == $_SESSION['level'];
    if ($username && $userpassword && $row['name'] == $username && $row['password'] == $userpassword) {
        if($userlevel == "admin" OR $userlevel == "member") {
            echo "";
        }else{
            $sessionname = session_name();
            $sessionid = session_id()
            header("Location: index.php?side=false2&$sessionname=$sessionid");
        }
    }else{
        header("Location: index.php?side=false");
    }
}
?>
Avatar billede benzon Praktikant
14. april 2003 - 00:23 #13
er vi bare lidt enige ? :D hehe
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