Avatar billede mc.lucifer Praktikant
20. juli 2005 - 09:49 Der er 17 kommentarer og
1 løsning

Session i PHP

Ja jeg vil gerne lige have lidt hjælp til hvordan jeg kommer igang med en session i php. Derfor søger jeg lidt hjælp til dette
Jeg har fundet følgende via google.

http://www.razor.dk/php/guider/sessions/

Og har nu tilføjet

<?
if (isset($_GET['navn'])) {
  session_start(); // Lad os begynde!
  $_SESSION["navn"] = $_GET["navn"]; // Gem 
}
session_start();
?>

i mit dok.
og så har jeg

print "Dit navn er: <b>".$_SESSION['navn']."</b>";

Men det giver mig intet skal der ikke komme en helt vild lang ID det syntes jeg da at have set på experten.
Problemmet ligger nok i at jeg bare har Copy ´n´ Pasted det direkte ind og egetnlig ikke forstår hvad der sker. Men jeg vil i vertfald gerne have det til at fungere, nogen der kan hjælpe ?

MC
Avatar billede mc.lucifer Praktikant
20. juli 2005 - 09:50 #1
www.romdata.dk/t/info.php

Hvis den kan hjælpe med noget

MC
Avatar billede beef12 Nybegynder
20. juli 2005 - 09:52 #2
Jeg gætter på at din form indeholder method="POST" i stedet for GET.
Kan det passe?
Avatar billede mc.lucifer Praktikant
20. juli 2005 - 09:53 #3
Jamen det er jo nok der problemmet ligger, Jeg har bare kopieret ind i mit php ark, dvs jeg har ikke defineret nogle variabler. Jeg trode at php selv definerede session variablen

MC
Avatar billede beef12 Nybegynder
20. juli 2005 - 09:57 #4
Drejer det sig om "Quick Login" på siden: http://www.romdata.dk/t/ ?
Problemet med den er at du (så vidt jeg lige kunne se) slet ikke har lavet en form. Du har blot lavet 2 inputs.
Tilføj
<form method="GET" action="dinside">

... // dine inputs (password og brugernavn)

</form>
Avatar billede mc.lucifer Praktikant
20. juli 2005 - 09:59 #5
Nej slet ikke?

Siden skal du se bort fra, Jeg sidder nu her og gerne vil forstå session. og jeg mener at have set på experten en gang at linkene hed

http://www.exp.dk/spm/633696&sessionis=34234233ac565436d

Det er det jeg gerne vil have lavet sådanne at hver bruger der tilgår en givent side for sådanne en unik key "Læs Sessionid" og så er jeg lost nu, for jeg har ingen erfaringer med session derfor vil jeg gerne lære det

MC
Avatar billede steenolsen1 Nybegynder
20. juli 2005 - 10:17 #6
<?
if (isset($_GET['navn'])) {
  session_start(); // Lad os begynde!
  $_SESSION["navn"] = $_GET["navn"]; // Gem 
}
session_start();
?>

<form action="" method="get">
<input type="text" name="navn">
<input type="submit" name="OK" value="OK">
</form>

Prøv dette.
Avatar billede mc.lucifer Praktikant
20. juli 2005 - 10:19 #7
Jo men jeg ønsker jo ikke at brugeren bliver promtet for et navn, jeg vil gerne have at allebesøgende automatisk for en unik key "Sessionid" jeg kunne forstille mig at man skal før head i dokumentet definere variablen navn med en MD5 ?

MC
Avatar billede steenolsen1 Nybegynder
20. juli 2005 - 10:24 #8
Grunden til mit eksempel, er at du i din kode skriver if(isset($_GET[navn].... før du sætter din session. Hvis ikke variablen navn er sat, så kommer du ikke ind til der hvor du starter din session.

Du kan altså starte en session blot ved at skrive
<?
session_start();

i toppen af din side. Så HAR du en session på 32 tegn.

Hvis du vil inkludere den i dine links, hvilket jeg vil fraråde af hensyn til placering i søgemaskinerne, så skriver du bare:
echo '<a href="blabla.php?sid='.$PHPSESSID.'">Linktekst</a>';

Istedet ville jeg blot tilføje en
<?
session_start();

i toppen af alle mine sider, fordi du på den måde kan transportere sessionid'et videre til alle andre sider og ikke behøver at putte det ind i dine links.

Med på den?
Avatar billede steenolsen1 Nybegynder
20. juli 2005 - 10:25 #9
Jeg tror du får MD5 ind i "billedet" fordi det ser kryptisk ud med sådan en session. Et sessionid er altid 32 tegn - blanding af bogstaver og tal.
Avatar billede mc.lucifer Praktikant
20. juli 2005 - 10:28 #10
Se nu er vi der,

Nu fungere det som jeg gerne vil have det til.

Takker, smider du et svar, og må jeg vende tilbage hvis der kommer noget nyt op i forbindelse med session ?

MC
Avatar billede beef12 Nybegynder
20. juli 2005 - 10:29 #11
nå - dit spørgsmål var formuleret temmelig mærkeligt. Derfor misforstod vi.

Du skal vel bare have genereret en random streng bestående af tal og bogstaver så. Vis os scriptet der generer disse, så er vi bedre i stand til at hjælpe...
Avatar billede beef12 Nybegynder
20. juli 2005 - 10:30 #12
hov glemte at trykke refresh... glem den forrige post så
Avatar billede mc.lucifer Praktikant
20. juli 2005 - 10:31 #13
Ja jeg ved godt at det måske ikke var formuleret så godt, men det er jo det der er vanskligt, når man ikke ved hvad man snakker om, og så spørger om hjælp til noget man ikke kender til. så bliver det desværre lidt mærkligt. Jeg undskylder og siger endnu en gang tak for hjælpen

MC
Avatar billede steenolsen1 Nybegynder
20. juli 2005 - 10:31 #14
Sådan :-)

Ja du spørger bare, og så skal jeg forsøge at hjælpe. Har travlt idag - kæmper selv med noget programmering....
Avatar billede mc.lucifer Praktikant
20. juli 2005 - 10:32 #15
Skal nok moderere mig.

MC og endnu en gang tak
Avatar billede steenolsen1 Nybegynder
20. juli 2005 - 10:33 #16
:-)
Avatar billede mc.lucifer Praktikant
20. juli 2005 - 12:11 #17
Når jeg nu har en login form der validere mine brugere, hvad så med session ? Normalt ville jeg lave en Setcookie, men skal jeg også gøre det når jeg bruger session ?
og i det tilfælde hvad skal cookien så indeholde ? jeg mener jeg får jo en SessionID ved starten, og når brugeren så logger ind, med et brugernavn og password hvordan får jeg så kædet session ID og brugerinformationer sammen.

Det virker måsker lidt distret mit spørgsmål men som sagt ved jeg ikke helt hvad jeg snakker om. Håber det giver bare lidt meneing

MC
Avatar billede steenolsen1 Nybegynder
20. juli 2005 - 12:28 #18
Jeg skal lige forstå dig korrekt - formålet er, at når folk har logget ind, skal de kunne forskellige ting og ellers ikke. Er det korrekt?

Du kunne jo f.eks. starte en session sådan som du gør det nu, hvis det er fordi folk skal kunne se dele af din side og eventuelt bruge nogle af funktionaliteterne på den, uden at de er logget ind. Når en bruger så har logget ind - formodentlig mod en MySQL database - så kan du lave følgende:

Laver opslag i database, og tjekker bruger informationer... Vi forestiller os at brugeren har logget rigtigt på, og du registrerer derefter brugerens id i en session:
if(isset($bruger_er_logget_ind)) {
  $_SESSION[userid] = $brugerid[id] // brugerid hentet fra dbopslag.
}

Længere nede i din kode, kan du så skrive
if(isset($_SESSION[userid])) {
  bla bla bla
}

Ok?
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