Avatar billede chriz7913 Nybegynder
30. april 2009 - 17:27 Der er 3 kommentarer og
1 løsning

Hjælp til PHP include med sessions

Hej, jeg har et script hvor jeg skal inkludere en php fil med parametre, virker fint:

include "http://localhost/theFile.php?msg=hej";

Men når jeg vil bruge sessions i den inkluderede fil, virker det ikke :s
==============
Dette eksempel virker...

show.php
<?
session_start();
$_SESSION['bruger'] = "Mads";
include "http://localhost/theFile.php";
echo "<br>The End";
?>
--------------
theFile.php
<?
session_start();
echo "Hej ".$_SESSION['bruger'];
echo "<br>Besked: \"".$_GET['msg']."\"";
?>
--------------
Output:

Hej Mads
Besked: ""
The End
==============
Dette eksempel virker ikke, og det er denne funktion jeg skal bruge...

show.php
<?
session_start();
$_SESSION['bruger'] = "Mads";
include "http://localhost/theFile.php?msg=Wullewullewap";
echo "<br>The End";
?>
--------------
theFile.php
<?
session_start();
echo "Hej ".$_SESSION['bruger'];
echo "<br>Besked: \"".$_GET['msg']."\"";
?>
--------------
Output:

Hej
Besked: "Wullewullewap"
The End
==============
I det sidste eksempel bliver sessions ($_SESSION['bruger']) altså ikke vist, hvis de udskrives fra en inkluderet php fil, hvor der er sendt parametre med.
Nogen der ved hvorfor?
Hilsen Chris
Avatar billede anitavizdk Nybegynder
30. april 2009 - 17:57 #1
Det er fordi det ikke er din bruger der henter filen, men php.
I "PHP's" session er $_SESSION['bruger'] ikke sat, så du får det ikke til at virke sådan.

Det virker også på mig mystisk at inkluderer filer på den måde.
Avatar billede anitavizdk Nybegynder
30. april 2009 - 18:02 #2
Du kan eventuelt smide session id'et med til det inkluderede script for at få det til at virke.
include "http://localhost/theFile.php?msg=Wullewullewap&PHPSESSID=".$_REQUEST['PHPSESSID'];

Men det er ikke noget jeg ville nok anbefale at du tænkte lidt over hvordan du kunne bygge det op på en anden måde.
Avatar billede dkfire Nybegynder
30. april 2009 - 18:07 #3
Der er ingen grund til at include en fil med parametre.
En inkluderet php fil vil dele variabler med den fil som inkludere den.


fil.php:
<?php
  $var = "Mads";
  include(fil1.php);
?>

fil1.php:
<?php
  echo "Hej ".$var;
?>

Avatar billede chriz7913 Nybegynder
07. november 2010 - 12:36 #4
tak, læg 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