Avatar billede oliolioli Nybegynder
09. juli 2010 - 23:58 Der er 10 kommentarer og
1 løsning

Simpelt adminsystem problem

Jeg har et problem med mit lille adminsystem. Jeg har en række i min tabel, der hedder admin, der enten har værdien "ja" eller "nej".. som standard "nej". Problemet er bare, at ligemeget, om det er en bruger med værdien ja eller nej, der logger ind, bliver han genkendt som admin. Når jeg udskriver værdien det i min side, der kommer, når jeg er logget ind, er den altid "ja". Værdien gemmer jeg i en session, der også hedder admin, og det er den, der altid har værdien ja.

Koden til siden, når man logger ind: (uden tvivl den, problemet ligger i)

<?
session_start();
include("include.php");
include("mysql.php");

$password = $_POST[password];
$password = strip_tags($password);
$password = mysql_real_escape_string($password);
$brugernavn = $_POST[brugernavn];
$brugernavn = strip_tags($brugernavn);
$brugernavn = mysql_real_escape_string($brugernavn);
$query = mysql_query("SELECT admin FROM brugere WHERE brugernavn = '$brugernavn' AND password = '$password' LIMIT 1") or die(mysql_error());
$tjek = mysql_num_rows($query);
$show = mysql_fetch_array($query);
if(!$password){
    echo "Venligst angiv noget ved alle felter!";
} elseif(!$brugernavn){
    echo "Venligst angiv noget ved alle felter!";
}else{
if($tjek == 1){

$_SESSION['admin'] = $show['admin'];
$_SESSION['login'] = "true";
$_SESSION['brugernavn'] = $brugernavn;

header("location: redirect.html");

} else {
    echo("Forkert brugernavn/password.<br>klik <a href='logind.php'>her</a> for at komme tilbage");
}
}
?>
Avatar billede mbm2016 Nybegynder
10. juli 2010 - 00:32 #1
Kunne det være fordi du ikke indhendter password og brugernavn korrekt.

Dette:
$password = $_POST[password];

burde da være:
$password = $_POST['password'];

Og dette:
$brugernavn = $_POST[brugernavn];

burde være dette:
$brugernavn = $_POST['brugernavn'];
Avatar billede oliolioli Nybegynder
10. juli 2010 - 00:35 #2
Tror jeg næppe. Hvis jeg logger ind med enten brugernavn eller kode forkert, genkender den det med det samme, samme hvis felterne er tomme, og samme hvis jeg bruger rigtig brugernavn og kode. Så det tvivler jeg på.
Avatar billede oliolioli Nybegynder
10. juli 2010 - 00:37 #3
Har også prøvet med select brugernavn select id og select *
Avatar billede mbm2016 Nybegynder
10. juli 2010 - 00:39 #4
Kan det være fordi både din tabel og kolonne hedder admin ?
Avatar billede oliolioli Nybegynder
10. juli 2010 - 00:42 #5
Nej, min tabel hedder users
Avatar billede mbm2016 Nybegynder
10. juli 2010 - 01:19 #6
Har du noget kode overhovedet over den som du har postet?

Ellers prøv at starte koden med ob_start();

og slut den med ob_end_flush();
Avatar billede mbm2016 Nybegynder
10. juli 2010 - 01:20 #7
Hvis din tabel hedder users hvor skriver du så FROM brugere?
Avatar billede mbm2016 Nybegynder
10. juli 2010 - 01:22 #8
Er du sikker på at alle dine værdier i databasen, altså når du kigger med PHPMyAdmin, ved kolonnen admin er sat til nej undtagen din admin bruger?

Det jeg mistænker er nemlig at det er registreringskoden der kan være noget galt med
Avatar billede oliolioli Nybegynder
10. juli 2010 - 01:31 #9
Nå ja, den hedder brugere ;)anyways.. registreringskoden? altså inde i PHPmyadmin står der nej under admin ved alle undtagen min adminbruger. Og jeg har prøvet forskellige browsere for at være sikker på, at den ikke læser en gammel session. Mit logudscript fungerer desuden fint.
Avatar billede oliolioli Nybegynder
10. juli 2010 - 03:19 #10
Hvis jeg gør præcis det samme med id og SELECT *, så viser den det rigtige id :s
Avatar billede oliolioli Nybegynder
10. juli 2010 - 03:40 #11
fixet.. havde 1 = i stedet for 2 = (==) i en if sætning, som gjorde, den åbentbart oprettede en ny session.. ellers tak for hjælpen.
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