Avatar billede Slettet bruger
28. januar 2004 - 23:00 Der er 26 kommentarer og
1 løsning

Sessions lynkursus

Ja jeg skal til at bruge sessions

Jeg har en login som ser sådan her ud:

session_start();
$sess = session_id();

<html>
<body>

<?PHP

include ("config.php");
$db = mysql_connect("$server","$userid","$pw");
mysql_select_db("$dbase",$db);

$user = $_POST['bruger'];
$pass = $_POST['kode'];

if($user == "privat")
{
if($pass == "privat") { echo "<script>window.location.href='admin2.php'</script>"; }
}

else {
echo "<br><br><br>";
echo "<FONT SIZE=4 FACE=Arial COLOR=#FFFFFF><B>Forkert bruger eller password!!</B></FONT>";

}

?>

Den her fil tjekker selvfølgelig om man har indtastet det rigtige og går videre hvis det er rigtigt. Det er ikke det sværre.

Er det her det rigtige sted at indsætte sessions hvis jeg gerne vil have den til at huske login?

Og jeg kan ikke huske den query man skal bruge. Jeg har lavet en kolonne i min tabel som hedder sess

HJÆLP MIG! :)


</body>
</html>
Avatar billede schaefner Juniormester
28. januar 2004 - 23:03 #1
er det kun en bestemt bruger der kan logge ind?
Avatar billede Slettet bruger
28. januar 2004 - 23:05 #2
Jep
Avatar billede Slettet bruger
28. januar 2004 - 23:06 #3
Jeg har haft det lavet en gang med flere brugere. Men smed det hele ud da jeg fik et mindre raserianfald
Avatar billede voirsous Nybegynder
28. januar 2004 - 23:06 #4
ud over jeg ikke helt forstår hvad du vil så har jeg fundet det har sammen (gætteri)

if($user == "privat"&&$pass == "privat")

#Giver session værdig
$_SESSION['loginOK'] = true;

echo "<script>window.location.href='admin2.php'</script>";
} else {
echo "<br><br><br>";
echo "<FONT SIZE=4 FACE=Arial COLOR=#FFFFFF><B>Forkert bruger eller password!!</B></FONT>";
}


admin2.php skal du tjekke om SESSIONEN loginOK er true, ellers skal brugeren brændes.
Avatar billede schaefner Juniormester
28. januar 2004 - 23:07 #5
hvorfor connecter du så til en database?

<?php
session_start();
include('config.php');
// $db = mysql_connect($server,$userid,$pw);
// mysql_select_db($dbase,$db);

if ($_POST['bruger'] == 'privat' && $_POST['kode'] == 'privat') {
    $_SESSION['laccess'] = 1;
    header("Location: admin2.php");
} else {
?>
<html>
<body>
<font size="4" face="arial" color="#ffffff"><b>Forkert bruger eller password!!</b></font>";
</body>
</html>
<?php
}
?>

På de sider du så vil teste om man er logget ind kan du putte dette i toppen:

<?php
session_start();
if (!isset($_SESSION['laccess'])) {
    header("Location: ingenadgang.php");
    exit;
}
?>
Avatar billede voirsous Nybegynder
28. januar 2004 - 23:08 #6
du kan også smide en exit; på og så ville jeg nok bruge noget andet til at stille brugeren videre end klientscript.
Avatar billede Slettet bruger
28. januar 2004 - 23:10 #7
Tror lige jeg skal forklare.

www.danishnerds.dk

Hvis man går ned på Login skal man selvfølgelig logge ind.
admin.htm smidder en videre til admin.php som i kan se øverst.
Hvis man er logget ind en gang skal man ikke logge ind igen..
Avatar billede schaefner Juniormester
28. januar 2004 - 23:11 #8
ja, men det burde også være tilfældet med det der er postet hidtil.
Avatar billede Slettet bruger
28. januar 2004 - 23:16 #9
hmm okay. Jeg prøver det om lidt og giver svar tilbage ;)
Avatar billede voirsous Nybegynder
28. januar 2004 - 23:18 #10
her er princippet i det:

<?PHP
function sendvidere() {
#HTMl / Javasript / PHP der sender en bruger videre
}


#Findes session sender vi videre
if(isset($_SESSION['loginOK'])) {
sendvidere();
exit;
}

#Password & Brugernavn er okay
if($_POST['bruger']&&$_POST['pass']) {
$_SESSION['loginOK'] = true;
sendvidere() ;
exit;

#Send tilbage til admin.htm
} else {

}

?>
Avatar billede voirsous Nybegynder
28. januar 2004 - 23:18 #11
if($_POST['bruger']=="etellerandet"&&$_POST['pass']=="etellerandet"&&) {
selvfølgelig
Avatar billede Slettet bruger
28. januar 2004 - 23:24 #12
skal jeg bruge den du har skrevet eller den schaefner har skrevet?
Avatar billede voirsous Nybegynder
28. januar 2004 - 23:32 #13
mit er bare princippet, schaner er et konkret eksempel.
Avatar billede Slettet bruger
28. januar 2004 - 23:33 #14
okay. Tak for det ;)
Avatar billede Slettet bruger
28. januar 2004 - 23:38 #15
Hvis han allerede er logget ind hvordan får jeg den til at gå videre til den næste side?

Og hvis han ikke er logget ind skal han jo blive på den side man går hen på

<?php
session_start();
if (!isset($_SESSION['laccess'])) {
    header("Location: ingenadgang.php");
    exit;
}
?>

Hjælp mig tak :)
Avatar billede schaefner Juniormester
28. januar 2004 - 23:53 #16
Hvor skal den gå videre til næste side? Og hvilken side skal han blive på? Kort sagt: hvad mener du? :)
Avatar billede Slettet bruger
28. januar 2004 - 23:55 #17
Okay lad mig forklare.

En person kommer ind på admin.htm og logger sig ind.
admin.php tjekker om alt er rigtigt og skriver sess.
Hvis personen går tilbage til admin.htm skal den (hvis han er logget ind) automatisk gå videre til admin2.php (hvis ikke) blive på admin.htm
Avatar billede schaefner Juniormester
28. januar 2004 - 23:58 #18
så skal du lave admin.htm om til en php-side. Kald den f.eks. login.php og sæt dette som det første på siden:

<?php
session_start();
if (isset($_SESSION['laccess'])) {
  header("Location: admin2");
}
?>
Avatar billede Slettet bruger
29. januar 2004 - 00:00 #19
åh nej da =/ Men hvis det er som skal til så!!
Avatar billede Slettet bruger
29. januar 2004 - 00:12 #20
Uhh :) Du er en skat :) Smid et svar :)
Avatar billede schaefner Juniormester
29. januar 2004 - 00:12 #21
det er kun en enkel fil der skal omdøbes - ikke jordens undergang ;)
Avatar billede Slettet bruger
29. januar 2004 - 00:16 #22
Nej det er samtlige filer fordi hver side har design på :)

Men jeg har lavet det og det virker fint :) Tak :)

Smid så det svar :P
Avatar billede schaefner Juniormester
29. januar 2004 - 00:20 #23
nå ja, så var det næsten jordens undergang ;)

mvh. Jesper Sørensen
Avatar billede Slettet bruger
29. januar 2004 - 00:22 #24
=P
Avatar billede Slettet bruger
29. januar 2004 - 00:28 #25
Hvordan får man så admin2.php til at tjekke om man er loggget på?
Avatar billede schaefner Juniormester
29. januar 2004 - 00:29 #26
på admin2.php indsætter du dette i toppen:

<?php
session_start();
if (!isset($_SESSION['laccess'])) {
    header("Location: ingenadgang.php"); // Siden man bliver sendt til hvis man ikke er logget ind
    exit;
}
?>
Avatar billede Slettet bruger
29. januar 2004 - 00:31 #27
takker :)
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