Toegang tot variabele?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Opleidingstraject tot Low Code Developer Cross Bor

Opleidingstraject tot Low Code Developer Cross Border Solutions Den Haag HBO/WO IT Professional "Wij zetten Mendix en E-magiz in voor onze kritieke processen om de favoriete bezorger te zijn. We zoeken hiervoor Developers in spe die gaat leren ontwikkelen in Mendix en E-magiz voor het uitbreiden van onze Cloud IT-platformen en softwareoplossingen voor onze belangrijkste internationale klanten. Dit vraagt om analytisch vermogen, creativiteit, klantgerichtheid en uitstekende communicatie skills". Wat ga je doen? Als onze nieuwe Junior Developer word je onderdeel van de digitale transformatie van onze internationale business unit naar een e-commerce dienstverlener. PostNL’s cross border unit (CBS) groeit in snel tempo

Bekijk vacature »

Rick Okkersen

Rick Okkersen

01/04/2019 13:37:53
Quote Anchor link
Hoi allemaal,

Ik heb een bestand genaamd functions.php en dat ziet er ongeveer zo uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php

/*Heel wat andere regels*/

class USER {

public $test = "hoi";

function
authenticate(){
    ini_set('session.cookie_domain', '.example.com');
    session_start();

    if (!isset($_SESSION['username'])) {
      header("Location: https://example.com");
      exit();
    }
else {
      if ($_SESSION['school'] != "correcteschool") {
        $school = $_SESSION['school'];
        if ($school != "admin") {
          $url = "https://" . $school . ".example.com";
          header("Location: $url");
        }
      }
    }

    $username = $_SESSION['username'];
    $school = $_SESSION['school'];
  }
}


/*De rest van de code*/

?>


Dit is mijn index.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

include "includes/functions.php";

$user = new USER();
$user->authenticate();

echo $school;

?>


er gebeurd niks (geen school in ieder geval)
als ik de echo tag in de functie zet, en de functie "aanroep" werkt het wel.

Als ik de test variabele wil printen kan ik dit doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo $user->test;

?>


Kan iemand mij helpen?

Ik heb de adressen veranderd omwille van privacyredenen
Gewijzigd op 01/04/2019 13:38:49 door Rick Okkersen
 
PHP hulp

PHP hulp

13/06/2021 22:52:26
 
Ward van der Put
Moderator

Ward van der Put

01/04/2019 13:52:43
Quote Anchor link
Waar wordt de sessievariabele $_SESSION['school'] ingesteld?
 
Rick Okkersen

Rick Okkersen

01/04/2019 13:58:32
Quote Anchor link
In de pagina functions.php (bovenste code) in de functie onderin:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $school = $_SESSION['school'] ?>


De sessie wordt op een ander subdomein ingesteld, dit werkt....
 
- SanThe -

- SanThe -

01/04/2019 14:06:51
Quote Anchor link
Moet dat niet zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $_SESSION['school'] = ... iets ...; ?>
 
Ward van der Put
Moderator

Ward van der Put

01/04/2019 14:09:42
Quote Anchor link
De variabele $school bestaat alleen binnen de functie authenticate() en niet erbuiten. Je hebt die variabele echter niet nodig, want de waarde is toch gelijk aan $_SESSION['school'] en die is wél overal toegankelijk.
 
Rick Okkersen

Rick Okkersen

01/04/2019 14:11:34
Quote Anchor link
- SanThe - op 01/04/2019 14:06:51:
Moet dat niet zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $_SESSION['school'] = ... iets ...; ?>


Ja, dat klopt. Maar dat is al ergens op een ander subdomein gebeurd... Hier stel ik $school gelijk aan die sessie variabele

Toevoeging op 01/04/2019 14:11:50:

Ward van der Put op 01/04/2019 14:09:42:
De variabele $school bestaat alleen binnen de functie authenticate() en niet erbuiten. Je hebt die variabele echter niet nodig, want de waarde is toch gelijk aan $_SESSION['school'] en die is wél overal toegankelijk.


Daar heb je gelijk in! Dankjewel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.