Avatar billede rema Nybegynder
07. juni 2004 - 21:02 Der er 32 kommentarer og
1 løsning

lav først en session når man logger ind

Jeg skal bruge en session som først bliver brugt når man logger ind, som her på eksperten.

Detter er hvad jeg har:

session_start();
if (!$_SESSION['id']){
$_SESSION['id'] = $brugernavnkode;
$_SESSION['adgang2'] = $adgang; }

$id = $_SESSION['id'];
$adgang2 = $_SESSION['adgang2'];

mvh rema
Avatar billede Slettet bruger
07. juni 2004 - 21:04 #1
Har du et mere konkret spørgsmål?
Avatar billede jaw Nybegynder
07. juni 2004 - 21:07 #2
du kan vel vende den om, så du ser på om brugerens indtastede brugernavn og pass passer til den i databasen eller hvor du nu har dem, og hvis ja: sæt session, og hvis nej: så gør noget andet?
Avatar billede rema Nybegynder
07. juni 2004 - 21:09 #3
skal jeg bare lave en if sætning før: if($brugernavn){ session }else{ }
Avatar billede jaw Nybegynder
07. juni 2004 - 21:14 #4
jeg ville sige:

if($brugernavn == $row[brugernavn] && $password == $row[password]) {
  her sættes SESSION
} else {
  noget andet}

Hvor $row[brugernavn] og $row[password] er dem fra database eller hvor du checker brugerens navn og pass fra...
Avatar billede rema Nybegynder
07. juni 2004 - 21:48 #5
Måske det er en helt anden fejl jeg får! Det jeg bruger er et domæne der bliver henvist til et subdomæne, på en anden server. Det går fint når jeg har skrevet brugernavn og password, men så snart jeg klikker på et link er der ikke nogle session mere. Kan det være det???
Avatar billede jaw Nybegynder
07. juni 2004 - 21:49 #6
husker du session_start(); ?
Avatar billede rema Nybegynder
07. juni 2004 - 21:50 #7
ja:

<? if($login){
    session_start();
        $_SESSION['id'] = $brugernavnkode;
        $_SESSION['adgang2'] = $adgang;
        $_SESSION['login'] = $login;
    }
Avatar billede jaw Nybegynder
07. juni 2004 - 21:51 #8
også på den side du hopper hen på? Du siger du hopper videre til et andet domæne, hvor dine sessions så ikke længere er, eller misforstår jeg?
Avatar billede rema Nybegynder
07. juni 2004 - 21:58 #9
du kan se hvad jeg mener på: http://www.elias.bz bruger navn: ww kode: qq
Avatar billede jaw Nybegynder
07. juni 2004 - 22:00 #10
ja, det kan jeg sådan set godt se, men jeg kan jo ikke lige se hvor det går galt for dig...
Avatar billede jaw Nybegynder
07. juni 2004 - 22:01 #11
men du har kun index.php hvor du har alle siderne i, ikke? Og har du session_start() andre steder end 3 kommentarer oppe? Sæt det aller øverst i din index.php i stedet...
Avatar billede rema Nybegynder
07. juni 2004 - 22:02 #12
Her er min session fil:

<? if($login){
    session_start();
        $_SESSION['id'] = $brugernavnkode;
        $_SESSION['adgang2'] = $adgang;
        $_SESSION['login'] = $login;
    }
       
    $login = $_SESSION['login'];
    $id = $_SESSION['id'];
    $adgang2 = $_SESSION['adgang2'];

print $id;
print $adgang2;
print $login;
?>

kan du bruge den til noget???
Avatar billede jaw Nybegynder
07. juni 2004 - 22:04 #13
ja, men når nu siden bliver reloadet eller personen hopper til en anden side, vil $login jo ikke længere være en session, da du kun bruger session_start() hvis $login er sat... Er du med?
Prøv at flytte den helt op i toppen af din fil.
Avatar billede rema Nybegynder
07. juni 2004 - 22:05 #14
alle sider bliver hentet ind i index.php og include 'session.php' er aller øverste, hvis det var det du mente?
Avatar billede jaw Nybegynder
07. juni 2004 - 22:06 #15
njah, det var ikke helt det jeg mente... Men i din session.php, så sæt session_start() udenfor din if($login)
Avatar billede rema Nybegynder
07. juni 2004 - 22:12 #16
Nu er session_start(); uden for:
<? session_start();
if($login){
        $_SESSION['id'] = $brugernavnkode;
        $_SESSION['adgang2'] = $adgang;
        $_SESSION['login'] = $login;
    }
       
    $id = $_SESSION['id'];
    $login = $_SESSION['login'];
    $adgang2 = $_SESSION['adgang2'];

print $id;
print $adgang2;
print $login;
?>

nu printer den $id, $adgang2, $login, men når man trykker på et link forsvinder $id og $adgang2 men ikke $login ???
Avatar billede jaw Nybegynder
07. juni 2004 - 22:18 #17
erhm, det må jeg nok indrømme at jeg ikke lige kan overskue, hvis det du har pastet til mig er det eneste der skulle "print'e" $id, $adgang2 og $login
Avatar billede jaw Nybegynder
07. juni 2004 - 22:20 #18
men hvorfor gemmer den "login" i $login og ikke "ww" som jeg indtaster som brugernavn?
Avatar billede rema Nybegynder
07. juni 2004 - 22:23 #19
når man har trykket på "log ind" bliver man sendt til en anden side hvor den tjekker i db, og hvis det er rigtigt bliver man sendt tilbage med dette link:

index.php?login=login&adgang=<? print $row[adgang]; ?>&brugernavnkode=<? print $row[navn]; ?>
Avatar billede jaw Nybegynder
07. juni 2004 - 22:25 #20
hvorfor sætter du ikke bare dine sessions der så?
Avatar billede rema Nybegynder
07. juni 2004 - 22:26 #21
prøver lige
Avatar billede rema Nybegynder
07. juni 2004 - 22:49 #22
Så virker det næsten, det virker når jeg bruger session med det samme inden man bliver sendt videre, nu skriver den bare at header er sat:(

;O)
Avatar billede jaw Nybegynder
07. juni 2004 - 22:50 #23
ja, okey...

prøv at fjerne dit session_start() fra include-filen og læf det i index.php i stedet
Avatar billede rema Nybegynder
07. juni 2004 - 22:53 #24
alså fjerne session_start(); fra min session.php og sætte den i toppen af min index.php
Avatar billede rema Nybegynder
07. juni 2004 - 22:55 #25
det kan den vist ikke li' nu er der ikke nogle session
Avatar billede jaw Nybegynder
07. juni 2004 - 22:58 #26
nå okey... så prøv en sidste ting:
Sæt den tilbage hvor den var før, og skriv ob_start(); efter session_start();
Avatar billede rema Nybegynder
07. juni 2004 - 23:03 #27
Det samme. har skrevet: session_start(); ob_start();
Avatar billede jaw Nybegynder
07. juni 2004 - 23:06 #28
Så kan jeg desværre ikke hjælpe dig mere, uden at have dine filer... :( Men du er i hvert fald på rette spor, og den fejl du får, skyldes at der bliver udskrevet anden kode, inden din session_start() bliver sendt, eller at du sender den flere gange...
Avatar billede rema Nybegynder
07. juni 2004 - 23:12 #29
Du skal have mange tak for hjælpen og du skal have dine point;O)  Hvis jeg paster den fil som tjekker bruger navn & password og laver fejlen, gider du så se på den???

På forhånd tak

rema
Avatar billede jaw Nybegynder
07. juni 2004 - 23:13 #30
Det vil jeg da gerne prøve :) Men det bliver altså ikke før i morgen (aften!)...

Og du skulle ikke være på IRC, vel?
Avatar billede rema Nybegynder
07. juni 2004 - 23:19 #31
Tak;O)


<?

include 'connection.php';
$login = &$HTTP_POST_VARS['login'];

if(empty($login)) {
    echo 'Denne side kræver login adgang'; }
    else {

$brugernavn = &$HTTP_POST_VARS['brugernavn'];
$password = &$HTTP_POST_VARS['kode2'];


if(empty($brugernavn) OR empty($password)) {
    ?><meta http-equiv="refresh" content="0;URL=http://www.elias.bz"> <? }   
    else {

$result_user = mysql_query("select brugernavn from test where brugernavn = '$brugernavn'")
or die (mysql_error());
$result_pw = mysql_query("select password from test where password = '$password'")
or die (mysql_error());
 

$array_user = mysql_fetch_array($result_user);
$array_pw = mysql_fetch_array($result_pw);
if($array_user['brugernavn'] == $brugernavn AND $array_pw['password'] == $password) {
$result_navn = mysql_query("select navn, adgang from test where brugernavn = '$brugernavn'")
or die (mysql_error());
$row = mysql_fetch_array($result_navn)
?>
<?
$login = "Log ind";
$brugernavnkode = $row[navn];
$adgang = $row[adgang];
include 'session.php';
?><meta http-equiv="refresh" content="4;URL=http://www.elias.bz">



 
       
<?
}

else {
?> <meta http-equiv="refresh" content="0;URL=index.php">
<?
}
}
}
?>

nej, det er jeg ikke(ved ikke helt hvad det:()
Avatar billede jaw Nybegynder
07. juni 2004 - 23:21 #32
Jeg tager en kigger i morgen... godnat... og tak :)
Avatar billede rema Nybegynder
07. juni 2004 - 23:22 #33
godnat
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

Seneste artiklerRSS
07:52
07:37
07:32
07:02
06:42
12:00
23/10
23/10
23/10
23/10
23/10