fand ich Problem, das wir nicht numerischen Index für $ _SESSION
aber wir können durch convert Anzahl an römischen Ziffern
erste Seite url
https://example.com/test.php?id=1548393
erste Seite verwenden Nummer in $ _SESSION verwenden können Code
<?php
session_start();
$roman_id = romanic_number($_GET['id']);
$_SESSION[$roman_id] = "mysecretstringline";
function romanic_number($integer, $upcase = true)
{
$table = array('M'=>1000, 'CM'=>900, 'D'=>500, 'CD'=>400, 'C'=>100, 'XC'=>90, 'L'=>50, 'XL'=>40, 'X'=>10, 'IX'=>9, 'V'=>5, 'IV'=>4, 'I'=>1);
$return = '';
while($integer > 0)
{
foreach($table as $rom=>$arb)
{
if($integer >= $arb)
{
$integer -= $arb;
$return .= $rom;
break;
}
}
}
return $return;
}
?>
zweite Seite URL
https://example.com/test2.php?id=1548393
Zweite Seite Code
<?php
session_start();
$roman_id = romanic_number($_GET['id']);
if(isset($_SESSION[$roman_id])){
echo "working";
}else{
echo "not working";
}
function romanic_number($integer, $upcase = true)
{
$table = array('M'=>1000, 'CM'=>900, 'D'=>500, 'CD'=>400, 'C'=>100, 'XC'=>90, 'L'=>50, 'XL'=>40, 'X'=>10, 'IX'=>9, 'V'=>5, 'IV'=>4, 'I'=>1);
$return = '';
while($integer > 0)
{
foreach($table as $rom=>$arb)
{
if($integer >= $arb)
{
$integer -= $arb;
$return .= $rom;
break;
}
}
}
return $return;
}
?>
Ausgang
working
dank @gre_gor und @Katie
$ _SESSION [ 'id'] ist der richtige Weg. –
Verwenden Sie keine Variablen innerhalb einer Sitzungsvariablen –
Bitte beachten Sie http: // stackoverflow.com/questions/19879839/how-create-session-mit-dynamic-name – Hemang