Avatar billede blanko Nybegynder
06. juni 2004 - 20:51 Der er 11 kommentarer og
1 løsning

Huske min session

Hej

JEg er ved at lave en side, hvor jeg vil lave menu,login og indhold på 1 side, istedet for at lave frames.

Når man logger ind laver jeg en:
$_SESSION["loginok"] = true;

Det virker fint 1.gang. Men når så jeg klikker på et menupunkt, som linker til sig selv:
<A HREF="index.php?side=forside&menu=0">
så husker den ikke min $_SESSION["loginok"]

Er det ikke muligt at lave det sådan ?
Avatar billede dennismp Nybegynder
06. juni 2004 - 20:53 #1
har du husket at starte med session_start() på alle sider hvor du bruger $_SESSION ?
Avatar billede blanko Nybegynder
06. juni 2004 - 21:07 #2
Det har jeg osse..
Avatar billede dennismp Nybegynder
06. juni 2004 - 21:10 #3
Så burde det virke.. Har du lidt kode man kan se på?
Avatar billede blanko Nybegynder
06. juni 2004 - 21:18 #4
<?
session_start();

if (isset($_POST['logind']))
{
$dopass = $_POST['password'];
include('include/config.php');

$tjek = mysql_query("SELECT username, psw FROM users WHERE username='$_POST[navn]' AND psw='$dopass'") or die mysql_error());

$result=mysql_query("select * from users WHERE username='$_POST[navn]' AND psw='$dopass'")
or die mysql_error());

if(mysql_num_rows($tjek) != 0)
{
$_SESSION['sessionnr'] = session_id();
$_SESSION['Name'] = $_POST['navn'];
                           
$r=mysql_fetch_array($result);
$_SESSION['ID'] = $r['id'];

$_SESSION["loginok"] = true;
}


......også en masse kode......bla.a:

print('<tr>');
print('<td width="100%"><I><A HREF="index.php?side=forside&menu=0">Forsiden</A></I></td>');
print('</tr>');

...................

længere nede:

if($_SESSION['loginok']==true)
{
print('<tr>');
print('<td width="100%" align=left class=vmenu>Velkommen</td>');
print('<td width="100%" align=center>'.$_SESSION['Name'].'</td>');
print('</tr>');
}

elseif($_SESSION['loginok']==false)
{
print('<form action="" method="post">');
print('<input type="hidden" name="logind" value="logind">');
print('<tr>');
print('<td width="100%" align=left class=vmenu>Login</td>');
print('<td width="100%" align=center><input type="text" name="navn" size=12></td>');
print('</tr>');
print('<tr>');
print('<td width="100%" align=left class=vmenu>Password</td>');
print('<td width="100%" align=center><input type="password" name="password" size=12></td>');
print('</tr>');
print('<tr align=right>');
print('<td width="100%" align=right><input type="submit" name="submit" value="logind"></td>');
print('</tr>');
}
Avatar billede dennismp Nybegynder
06. juni 2004 - 21:45 #5
Har du prøvet at skrive session_id() ud.. ændre den sig når du trykker på dit link (hvor den glemmer) ?
Avatar billede sukos Juniormester
06. juni 2004 - 22:02 #6
Hmm, tror ikke det er så godt at bruge det på den, med true og false?
Hvorfor ikke bare sige

$_SESSION["loginok"] = 1;
}else{
$_SESSION["loginok"] = 0;

if($_SESSION['loginok']== 1)
Avatar billede blanko Nybegynder
06. juni 2004 - 23:02 #7
session_id() ændrer sig ikke....

Og det hjælper heller ikke med at ændre true til værdien 1
Avatar billede sukos Juniormester
06. juni 2004 - 23:06 #8
hmm, hvorfor henter du forresten fra to tabeller?

OG det er vel ikke fordi du får slettet den igen, førend du spørger efter? altså i kode som vi ikke kan se?
Avatar billede sukos Juniormester
06. juni 2004 - 23:09 #9
Du kan også prøve med
<?php
ini_set('error_reporting', "E_ALL");
ini_set('session.save_path', "/fuld/sti/til/dir/");

session_start();

....................................


1. Få vist alle fejlmeddelser
2. Vide hvor du har din session liggende. Prøv at åbne den og se hvad som står i den, både før og efter login og samt efter klik på links
Avatar billede blanko Nybegynder
06. juni 2004 - 23:18 #10
aahhh....nu slog jeg display_errors = on i php.ini  :

Warning: session_start() [function.session-start]: open(/tmp\sess_0ac5f6ec497d6b09962a33ac6fca913f, O_RDWR) failed: No such file or directory (2) in e:\projekter\minhjemmeside\index.php on line 2

Kan jeg sætte denne path i php.ini ?
Jeg kan umiddelbart ikke se hvor..
Avatar billede blanko Nybegynder
06. juni 2004 - 23:20 #11
har fundet det...tak for hjælpen sukos.

smider du et svar ?
Avatar billede sukos Juniormester
07. juni 2004 - 06:13 #12
Et svar.
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