Avatar billede pcmagasinet Nybegynder
22. september 2001 - 15:09 Der er 3 kommentarer og
1 løsning

Sessions

Hejsa!

Jeg har et lille spørgsmål ang. sessions:

Jeg har fx to filer.

      - test.php
      - test2.php

Filerne ser sådan ud:

test.php:
<?
session_start();

// Register our variables
session_register(\"navn\");
session_register(\"alder\");

$navn = \"Christian\";$alder = \"1\";

?>
<a href=\"test2.php\">Klik her</a>

test2.php:
<?
echo $navn;
?>

Det er selvfølgeligt forkert, men hvad jeg skal jeg skrive i de to filer, for at test2.php henter variabler frem, fra den session jeg oprettede i test.php

Ved godt det måske er lidt dårligt formuleret, men håber i forstår det :o)

Christian
Avatar billede cyberdude Nybegynder
22. september 2001 - 15:19 #1
test2.php:
<?
session_start();
echo $navn;
?>

Avatar billede cyberdude Nybegynder
22. september 2001 - 15:20 #2
du skal simpelt bare huske at starte din session på alle de sider du vil have dine session variabler tilgengelig på......
altså en
session_start()
i toppen af hver fil.......
Avatar billede pcmagasinet Nybegynder
22. september 2001 - 16:00 #3
Ok, det har jeg forstået nu :-)

Hvad gør jeg så galt her, uanset hvilket brugernavn man skriver, sætter den id=4 ind i sessionen:
<?
require(\"mysql.php\");
require(\"variabler.php\");

$login = mysql_query(\"select * from session where brugernavn=\\\"$brugernavnet\\\"\")
  or die(\"Der kan ikke etableres forbindelse til serveren!...\");

$number = mysql_num_rows($login);
if ($number > 0){

while ($row  =  mysql_fetch_array($login))
  {
    $id=$row[\"id\"];
    $kodeord=$row[\"kodeord1\"];
    $brugernavn=$row[\"brugernavn\"];

}
if ($kodeord != $password){
Echo \"Forkert brugernavn/kodeord!...\";
}
if ($kodeord == $password){
session_start();
session_register(\"brugernavn\");
session_register(\"kodeord\");
session_register(\"acces\");
session_register(\"id\");

$brugernavn = \"$bruger\";
$kodeord = \"$kodeord\";
$acces = \"1\";
$id = \"$id\";

?>
<font face=\"Verdana\" size=\"2\">
Tjekker Login....
<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=main.php\">
<?
}
}
else{
Echo \"Det angivne brugernavn eksisterer ikke\";
}
?>
Avatar billede cyberdude Nybegynder
22. september 2001 - 20:28 #4
hmm det lyder underligt.....

prøv denne her:

<?
require(\"mysql.php\");
require(\"variabler.php\");

$login = mysql_query(\"select * from session where brugernavn=\\\"$brugernavnet\\\"\")
  or die(\"Der kan ikke etableres forbindelse til serveren!...\");

$number = mysql_num_rows($login);
if ($number > 0){

while ($row  =  mysql_fetch_array($login))
  {
    $id=$row[\"id\"];
    $kodeord=$row[\"kodeord1\"];
    $brugernavn=$row[\"brugernavn\"];

}
if ($kodeord != $password){
Echo \"Forkert brugernavn/kodeord!...\";
}
if ($kodeord == $password){
session_start();
session_register(\"brugernavn\");
session_register(\"kodeord\");
session_register(\"acces\");
session_register(\"id\");

$brugernavn = \"$bruger\";
$kodeord = \"$kodeord\";
$acces = \"1\";


?>
<font face=\"Verdana\" size=\"2\">
Tjekker Login....
<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=main.php\">
<?
}
}
else{
Echo \"Det angivne brugernavn eksisterer ikke\";
}
?>


Jeg har fjernet $id = \"$id\";
da man godt kan tildele en variabel en værdi for først bagefter at registrere den som en del af session...... så prøv at fjerne denne, dA DET MULIGVIS KAN GIVE PROBLEMER......
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