Toegang tot variabele?
Ik heb een bestand genaamd functions.php en dat ziet er ongeveer zo uit:
Code (php)
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
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*/
?>
/*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)
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:
Kan iemand mij helpen?
Ik heb de adressen veranderd omwille van privacyredenen
Gewijzigd op 01/04/2019 13:38:49 door Rick Okkersen
Waar wordt de sessievariabele $_SESSION['school'] ingesteld?
De sessie wordt op een ander subdomein ingesteld, dit werkt....
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.
- SanThe - op 01/04/2019 14:06:51:
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