Toegang tot variabele?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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

20/04/2024 06:45:08
 
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.