Ik heb een probleem met SESSIE variabelen. Ik heb 2 pagina’s gemaakt.


Test_1.php (dit werkt)

<?PHP
session_start();
$_SESSION['een']="nummer een";
echo "Sessie een=: ". $_SESSION['een'];
?>
RESULTAAT: Sessie een=: nummer een
------------------------------------------------------------


Test_2.php (dit werkt NIET)

<?PHP
session_start();
echo "Sessie een=: ". $_SESSION['een'];
?>
RESULTAAT: Sessie een=:

Kan iemand een tip geven waar dit aan zou kunnen liggen.
PHP Version 7.4.21


[Session]

session.save_handler = files
session.save_path = /Applications/MAMP/tmp/php
session.use_strict_mode = 0
session.use_cookies = 1

; http://php.net/session.cookie-secure
;session.cookie_secure =
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440

; NOTE: If you are using the subdirectory option for storing session files
; (see session.save_path above), then garbage collection does *not*
; happen automatically. You will need to do your own garbage
; collection through a shell script, cron entry, or some other method.
; For example, the following script would is the equivalent of
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; find /path/to/sessions -cmin +24 -type f | xargs rm

; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
; http://php.net/session.referer-check
session.referer_check =

;
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form="
;session.trans_sid_hosts=“"


Groet,
Peter
Is het wel op hetzelfde domein? En is er een PHPSESSID cookie?
In map: MAMP/tmp/php/ staan de sessie van vandaag
sess_0a9f8gc54to6d431n5o0ocou9k
sess_0j7ssgbee3eaagrpn1oulrvta5
sess_0ken4k0er5leae0mnkevqjs2r1
sess_0m7elqbb9dma0h64p21mb0eesi

Standaard wordt MAMP/...../htdocs gebruikt
In mij site echter op een andere map.
Deze is in de server instellingen correct aangepast en werkt verder ok!

print_r($_COOKIE) geeft geen resultaat.
Je sluit toch niet de browser tussen de 2 pagina's. want dan stopt de sessie natuurlijk ook.
Nee de browser blijft gewoon open. Ik heb geen idee waar ik moet zoeken waardoor nu de site plat ligt. Balen.
Gezien de sessie op de server gewoon bestaat vermoed ik iets aan de client-side.
Test het eens in een andere browser of ander apparaat.
Ik heb getest op Safari. Reactie hetzelfde als op Chrome.
Firefox voert de scripts niet uit. Geef bij het uitvoeren een blank scherm zonder meldingen.

[size=xsmall]Toevoeging op 04/12/2022 00:22:05:[/size]

Is er misschien een foute instelling te zien op php.ini?
En wat geeft een
print_r($_SESSION);
Ik gebruik momenteel mijn macbook M1. Ik heb vervolgens de 2 bestanden op mijn oude macbook gezet. Hierop draait een andere versie php 7.3.8.

De resultaten zijn exact hetzelfde als op mijn M1.


[size=xsmall]Toevoeging op 04/12/2022 00:52:42:[/size]

<?PHP
session_start();
ini_set("display_errors", 1);
error_reporting(E_ALL);
print_r($_SESSION);
?>

Resultaat: Array ( )

[size=xsmall]Toevoeging op 04/12/2022 00:58:58:[/size]

Ik ga er een nachtje over slapen. Erg bedankt vast voor het meedenken. Misschien komt er nog ergens een helder moment.
Probeer eens het volgende:

<?php

$success = session_start();
echo 'Sessie werkt: ' . var_export($success, true);

?>
<?PHP
$success = session_start();
echo 'Sessie werkt: ' . var_export($success, true);
?>

Resultaat: Sessie werkt: true



[size=xsmall]Toevoeging op 04/12/2022 08:57:30:[/size]

De bovenste is een foutje.


[size=xsmall]Toevoeging op 04/12/2022 09:18:21:[/size]

Ik ben er door jullie hulp van overtuigd dat ik ergens een fout in een script heb staan. Ik ga vanavond verder zoeken. Bedankt.


[size=xsmall]Toevoeging op 05/12/2022 08:17:55:[/size]

Helaas nog geen oplossing. Getracht oplossing te vinden met Cookies. Werkt ook niet. Zou dat vervand kunnen hebben. In de browser staan cookies op TOESTAAN.

<?PHP
$value="Peter";
setcookie("MyCookie", "$value", time()+3600); /* expire in 1 hour */
redirect_to("get_cookie.php");
exit();
?>



<?PHP
$cookie_name="MyCookie";
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>


RESULTAAT:
Cookie named 'MyCookie' is not set!

[size=xsmall]Toevoeging op 05/12/2022 08:21:09:[/size]

In het eerste script is "$value" = $value dus zonder "

Reageren