Quelqu'un peut-il m'aider à nettoyer cela et à le rendre plus logique? Je suis frit en ce moment et ne peux pas sembler obtenir une bonne ligne de code écrite :)Mieux capturer l'ID d'affilié de session à partir de GET en PHP
J'essaye de capturer l'id d'affilié des URLs comme? Aid = 3056677. L'idée est IF aff ID est défini dans GET qui a la priorité, la session et finalement cookie avec le moins. En outre, nous ne voulons pas définir un identifiant qui n'existe pas.
Connaissez-vous une méthode plus éprouvée pour ce faire?
session_start(); // start session
// affiliate id
$g_aid = (isset($_GET['aid']) && $_GET['aid'] != '') ? trim($_GET['aid']) : false;
$s_aid = (isset($_SESSION['aid']) && $_SESSION['aid'] != '') ? trim($_SESSION['aid']) : false;
$c_aid = (isset($_COOKIE['aid']) && $_COOKIE['aid'] != '') ? trim($_COOKIE['aid']) : false;
if($g_aid !== false) // use get if set
$aid = $g_aid;
elseif($s_aid !== false) // next use session if get not set
$aid = $s_aid;
elseif($c_aid !== false) // cookie
$aid = $c_aid;
else
$aid = ''; // leave it empty
// if $aid is set is it in the $affiliates array?
//If not use the first key from that array
$aid = (isset($affiliates[$aid])) ? $aid : key($affiliates);
// save it and set it
// (maybe shouldn't be done if already stored?
setcookie('aid', $aid);
$_SESSION['aid'] = $aid;
J'ai fait une modification en utilisant un Fonction 'isValid' pour s'assurer que votre valeur est valide. L'opérateur ternaire se casse une fois qu'il trouve une variable valide. –