2016-09-23 1 views
0

ich überprüfen möchten, ob die Referrer auf der gültigen URLs in einem Array deklariert ist:Variable ID in Referrer URL

$ref = $_SERVER['HTTP_REFERER']; 

$ref_arr = array (
    SITE_URL . 'nouvelle-annonce/', 
    SITE_URL . 'nouvelle-annonce/matieres/', 
    SITE_URL . 'nouvelle-annonce/lieu/' 
); 

if ($ref == '' || !in_array($ref, $ref_arr)) { 
    // Fail 
} else { 
    // Pass 
} 

nun im Array Ich möchte etwas hinzufügen wie:

SITE_URL . 'annonce/***/modifier/matieres/ 

Wobei *** eine Zahl ist (1, sagen wir 1000000).

Wie geht das?

Antwort

0

Sie können regexp verwenden.

$pattern = "/^(annonce\\/)([\\d]{1,3})/"; 
$ref = "annonce/999/modifier/matieres/"; 
preg_match($pattern, $ref, $matches); 

Dann können Sie verwenden, wenn in_array ODER preg_match ..

-1

Erledigt, hier ist das, was ich suche:

$ref = $_SERVER['HTTP_REFERER']; 

$ref_arr = array (
    SITE_URL . 'nouvelle-annonce/', 
    SITE_URL . 'nouvelle-annonce/matieres/', 
    SITE_URL . 'nouvelle-annonce/lieu/' 
); 

if (isset($_GET['annonce-id'])) { 
    $ref_arr[] = SITE_URL . 'annonce/' . $_GET['annonce-id'] . '/modifier/matieres/'; 
    $ref_arr[] = SITE_URL . 'annonce/' . $_GET['annonce-id'] . '/modifier/lieu/'; 
} 

if ($ref == '' || !in_array($ref, $ref_arr)) { 
    // Fail 
} else { 
    // Pass 
} 
+0

Wenn das die Antwort ist, dann war Ihre Frage nicht klar . – symcbean