Avatar billede blaz Nybegynder
05. april 2005 - 17:09 Der er 6 kommentarer

Session problem, stort!

Hej, jeg har et større problem med mine sessions. Når man logger ind, bliver man logget ind på en andens bruger hvis han er logget ind. En anden er logget ind som "jens", jeg logger ind - og jeg kommer ind på Jens's bruger. Min kode:

Min "auth" fil:

<?php

ob_start();

include("dbinc.php");
$logonsuccess = 1;
$message = "";

if (!$brugernavn) {
$message = "Indtast brugernavn.<br>";



$logonsuccess = 0;



}
if (!$passwd) {

$message = $message . "Indtast kodeord<br>";

$logonsuccess = 0;



}

$result = mysql_query("SELECT brugernavn, passwd FROM c_users WHERE brugernavn = '$brugernavn' and passwd = password('$passwd')");

if (!$result) {



$logonsuccess = 0;
$message = $message . "Fejl.<br>";



} else {

$rowcount = mysql_num_rows($result);

}


if ($rowcount <> 1) {
$logonsuccess = 0;

echo $message;

}

if ($logonsuccess) {

session_register("brugernavn");


$brugernavn = $brugernavn;
echo "Login blev udført, <a href=\"loggetInd.php\">videre</a>.";
}
else {
echo "Login fejlede, <a href=\"loginbar.php\">prøv igen</a>.<br>";

}
ob_end_flush();

?>
Avatar billede mysli Nybegynder
05. april 2005 - 17:54 #1
Prøv dette i stedet;

<?php

ob_start();

include("dbinc.php");

if (!$brugernavn) {
    $message = "Indtast brugernavn.<br>";

    $logonfail = 1;
   
}

if (!$passwd) {

    $message = $message . "Indtast kodeord<br>";

    $logonfail = 1;

}

if ($burgernavn && $passwd){

    $sql = mysql_query("SELECT * FROM c_users WHERE brugernavn = '$brugernavn'") or die ("mySQL fejl: " .mysql_error());
    while($data = mysql_fetch_array($sql)){
   
    if($name == $data['brugernavn'] && $passwd == $data['passwd']){
          session_start();
          $_SESSION['brugernavn'] = $data['brugernavn'];
          echo "Login blev udført, <a href=\"loggetInd.php\">videre</a>.";
      } else {
               
                echo "Login fejlede, <a href=\"loginbar.php\">prøv igen</a>.<br>";
            }
        }
    }
    else {
    echo $message;
}

ob_end_flush();
?>
   
    if($name == $data['brugernavn'] && $passwd == $data['passwd']){
          session_start();
          $_SESSION['brugernavn'] = $data['brugernavn'];
          echo "Login blev udført, <a href=\"loggetInd.php\">videre</a>.";
      } else {
               
                echo "Login fejlede, <a href=\"loginbar.php\">prøv igen</a>.<br>";
    } else {
    echo $message;
}

}
ob_end_flush();
?>
Avatar billede mysli Nybegynder
05. april 2005 - 17:54 #2
Undskyld, retter lige lidt. 2 sek
Avatar billede mysli Nybegynder
05. april 2005 - 17:57 #3
Sådan, nu skulle den være der:

<?php

ob_start();

include("dbinc.php");

if (!$_POST['brugernavn']) {
    $message = "Indtast brugernavn.<br>";

    $logonfail = 1;
   
}

if (!$_POST['passwd']) {

    $message = $message . "Indtast kodeord<br>";

    $logonfail = 1;

}

if ($_POST['brugernavn'] && $_POST['passwd']){

    $sql = mysql_query("SELECT * FROM c_users WHERE brugernavn = '$brugernavn'") or die ("mySQL fejl: " .mysql_error());
    while($data = mysql_fetch_array($sql)){
   
    if($_POST['brugernavn'] == $data['brugernavn'] && $_POST['passwd'] == $data['passwd']){
          session_start();
          $_SESSION['brugernavn'] = $data['brugernavn'];
          echo "Login blev udført, <a href=\"loggetInd.php\">videre</a>.";
      } else {
               
                echo "Login fejlede, <a href=\"loginbar.php\">prøv igen</a>.<br>";
            }
        }
    }
    else {
    echo $message;
}

ob_end_flush();
?>
Avatar billede blaz Nybegynder
06. april 2005 - 17:46 #4
Virker ikke...
Avatar billede mysli Nybegynder
06. april 2005 - 22:53 #5
Hvad er problemet? Hvad sker der?

Må jeg se din db struktur?
Avatar billede blaz Nybegynder
08. april 2005 - 17:17 #6
Du misforstår mig. Mit eneste problem er at min session ikke bliver registreret ordentligt, min egen kode virker udemærket - men i visse tilfælde sker der fejl. Kan dette have noget med Whitehat.dks server at gøre?
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