Avatar billede razzia Nybegynder
28. september 2003 - 13:03 Der er 13 kommentarer og
1 løsning

Session problem ?

Jeg er igang med at lave et login system, til min side men problemet er at den ikke registere mine sessions.

Min kode er her:

<?
include "mysqlcon.inc";

$query = mysql_query("SELECT * FROM community WHERE brugernavn='$username' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="165">
<TR>
    <TD CLASS="bigtxt">Login</TD>
</TR>
<TR>
    <TD HEIGHT="3"></TD>
</TR>
<TR>
    <TD HEIGHT="1" BACKGROUND="img/streg.gif"></TD>
</TR>
<TR>
    <TD HEIGHT="10"></TD>
</TR>
<TR>
    <TD><CENTER><FONT COLOR="#FF0000">Fejl i login !!</FONT></CENTER></TD>
</TR>
</TABLE>
<?
} else {
while($reg = mysql_fetch_array($query)) {
$brugernavn = $reg["brugernavn"];
$password = $reg["password"];
}
session_start();
session_register ("brugernavn");
session_register ("password");
header ("location: test.php");
}
?>

og systemet er her www.razzia.frac.dk/login.php

Brugernavn: admin
Password: admin

---
Som du kan se når man logger ind så kommer man til test siden, men så er det at den siger man ikke har adgang. Har husket at bruge session_start();

Hvad er problemet ?
Avatar billede riversen Nybegynder
28. september 2003 - 13:05 #1
har du også brugt session_start på test siden ?
Avatar billede schaefner Juniormester
28. september 2003 - 13:09 #2
og en anden ting:

"mysqlcon.inc". Brug altid .php som fil-endelse, så er du sikker på at filen parses. Som den er nu kan alle se indholdet :)
Avatar billede riversen Nybegynder
28. september 2003 - 13:17 #3
ja, få lige ændret det i en far...alle kan se dit brugernavn og kode til databasen
Avatar billede razzia Nybegynder
28. september 2003 - 13:17 #4
ja jeg har brugt session start på test siden
Avatar billede schaefner Juniormester
28. september 2003 - 13:18 #5
prøv:

--- godkend.php ---

<?php
session_start();
include('mysqlcon.inc');
$username = $_POST['username'];
$password = $_POST['password'];
if (mysql_result(mysql_query("SELECT * FROM community WHERE brugernavn='$username' AND password='$password'"),0) == 0) {
    echo '<span style="color: red">Fejl i login! Prøv igen</span>';
} else {
    $_SESSION['username'] = $username;
    $_SESSION['password'] = $password;
    header("Location: test.php");
}
?>

--- test.php ---

<?php
session_start();
if (isset($_SESSION['username'],$_SESSION['password'])) {
    echo '<span style="color: red">Du er logget ind korrekt!</span>';
} else {
    echo '<span style="color: #008000">Du er ikke logget ind korrekt!</span>';
}
?>
Avatar billede schaefner Juniormester
28. september 2003 - 13:18 #6
hov, godkend.php skal lige være:

--- godkend.php ---

<?php
session_start();
include('mysqlcon.inc');
$username = $_POST['username'];
$password = $_POST['password'];
if (mysql_result(mysql_query("SELECT COUNT(*) FROM community WHERE brugernavn='$username' AND password='$password'"),0) == 0) {
    echo '<span style="color: red">Fejl i login! Prøv igen</span>';
} else {
    $_SESSION['username'] = $username;
    $_SESSION['password'] = $password;
    header("Location: test.php");
}
?>
Avatar billede razzia Nybegynder
28. september 2003 - 13:20 #7
sådan så er det rettet med MySQL
Avatar billede razzia Nybegynder
28. september 2003 - 13:23 #8
sådan det virker nu takke været Schaefner
Avatar billede razzia Nybegynder
28. september 2003 - 13:24 #9
Hvad har jeg gjort forkeret da, siden den anden måde ikke virkede. Brugte jeg en gammel form for session ?
Avatar billede schaefner Juniormester
28. september 2003 - 13:24 #10
så må det jo være et svar :)
Avatar billede schaefner Juniormester
28. september 2003 - 13:25 #11
farverne blev godt nok lige omvendt. Teksten skulle være rød når man ikke var logget ind og grøn når man var :)
Avatar billede razzia Nybegynder
28. september 2003 - 13:26 #12
hehe... Men kan du give mig en forklaring hvorfor min måde ikke virkede ?
Avatar billede schaefner Juniormester
28. september 2003 - 13:27 #13
det er som du selv siger højst sandsynlig fordi du har benyttet en ældre måde at sætte sessions på. Det kan også have været en fejl du har lavet, det skal jeg ikke kunne sige ;)

http://dk.php.net/manual/en/ref.session.php
Avatar billede razzia Nybegynder
28. september 2003 - 13:30 #14
okay... takker 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