2016-04-13 2 views
-1

Я хочу связать полный URL-адрес в переменной PHP.как связать url с переменной в php

Мой URL-адрес выглядит так: http://develop.example.com/spf#users/admin.

Чтобы получить URL я использую следующее:

http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI] 

и для значения хэш-функции является использование этого JS:

document.write(window.location.hash); 

Так что моя переменная PHP выглядит следующим образом:

$current_url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"."<script>document.write(window.location.hash);</script>"; 

Когда я повторяю $current_url, я получаю этот вывод: http://develop.example.com/spf#users/admin.

Теперь я хочу, чтобы проверить на текущий URL:

if ($current_url != "http://develop.example.com/spf#users/admin") { 
    echo "you are NOT the admin"; 
} 
else { 
    echo "you are the admin"; 
} 

К сожалению, даже если URL точно такой же, он продолжает висеть на: «Вы НЕ админ».

Что здесь общего не работает?

+0

Но вы писали, что '$ current_url' содержит' http://develop.example.com/spf 'который, очевидно, не совпадает с' http: // develop.example.com/spf # users/admin'. Или я не понимаю, что вы пытаетесь сделать. –

+0

да, возможно, проблема: я хочу привязать хэш (# users/admin) к переменной php. Как я могу это сделать? Предполагается, что javascript будет выполнен, и значение должно быть в переменной php –

+1

Что? Как? JavaScript выполняется в браузере, спустя много времени после завершения выполнения PHP и завершения процесса веб-сервера. Как вы хотите выполнить этот JavaScript с помощью PHP? Он ничего об этом не знает. Вы должны узнать, как работает клиент-сервер, что имеет фундаментальное значение для разработки веб-приложений. –

ответ

0

вы можете использовать следующий скрипт, и ваш код верен, но проблема заключается в «document.write (window.location.hash);» этот код удалить его затем запустить

<?php 
    $current_url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 


    $match="http://localhost:900/at/"; 
    // echo base64_encode($current_url); 

    // echo "<br>"; 

    // echo base64_encode($match) ; 


    if ($current_url==$match) { 

     echo "you are the admin"; 

    } 
    else { 

    echo "you are NOT the admin"; 
    } 


    ?> 
Смежные вопросы