Get window location in php

Window.location (JS) vs header() (PHP) for redirection

Solution 4: PHP redirects are better if you can as with the JavaScript one you’re causing the client to load the page before the redirect, whereas with the PHP one it sends the proper header. Using tags have the same issue as Javascript in causing the initial page to load before doing the redirect.

Window.location (JS) vs header() (PHP) for redirection

using JS : (in tag)

 

using PHP : (in tag)

header('Location: https://stackoverflow.com'); end(); 

Which one I should use ? or another ?

and what about using ?

Many good answers , I don’t know which answer I will accept, Thanks so much

The result is same for all options. Redirect.

  • Show content of your site, and next redirect user after a few (or 0) seconds.
  • Don’t need JavaScript enabled.
  • Don’t need PHP.
  • Javascript enabled needed.
  • Don’t need PHP.
  • Show content of your site, and next redirect user after a few (or 0) seconds.
  • Redirect can be dependent on any conditions if (1 === 1) < window.location.href = 'http://example.com'; >.
  • Don’t need JavaScript enabled.
  • PHP needed.
  • Redirect will be executed first, user never see what is after. header() must be the first command in php script, before output any other. If you try output some before header, will receive an Warning: Cannot modify header information — headers already sent
Читайте также:  Python copy file line by line

A better way to set the location in JS is via:

window.location.href = 'https://stackoverflow.com'; 

Whether to use PHP or JS to manage the redirection depends on what your code is doing and how. But if you’re in a position to use PHP; that is, if you’re going to be using PHP to send some JS code back to the browser that simply tells the browser to go somewhere else, then logic suggests that you should cut out the middle man and tell the browser directly via PHP.

It depends on how and when you want to redirect the user to another page.

If you want to instantly redirect a user to another page without him seeing anything of a site in between, you should use the PHP header redirect method.

If you have a Javascript and some action of the user has to result in him entering another page, that is when you should use window.location .

The meta tag refresh is often used on download sites whenever you see these «Your download should start automatically» messages. You can let the user load a page, wait for a certain amount of time, then redirect him (e.g. to a to-be-downloaded file) without Javascript.

PHP redirects are better if you can as with the JavaScript one you’re causing the client to load the page before the redirect, whereas with the PHP one it sends the proper header.

However the PHP shouldn’t go in the , it should go before any output is sent to the client, as to do otherwise will cause errors.

Using tags have the same issue as Javascript in causing the initial page to load before doing the redirect. Server-side redirects are almost always better, if you can use them.

JavaScript | window.location and document.location, window.location and document.location: These objects are used for getting the URL (the current or present page address) and avert browser to a new page or window. The main difference between both is their compatibility with the browsers. The window.location is read/write on all compliant browsers.

Javascript «window.location» stopping PHP redirect

Basically there’s a callto function, and a timer. The timer is displayed visually via Javascript countdown, and at the same time there’s a php redirect which has been set to the same length as the Javascript countdown. However, the window.location callto function is preventing the PHP header redirect from working. Can anybody tell me why?

The Javascript window.location function (located after body due to it preventing code below it from being processed:

The PHP header redirect (above the html tag):

If I remove the window.location function the redirect works.

you should redirect just with javascript, don’t redirect with php. why doing a PHP redirect when you’re doing it already with javascript?

In order to delay the redirect you should use Javascript setTimetout() function, such as:

setTimeout(function () , time_in_miliseconds); 
 header( "refresh:5;url=wherever.php" ); 
header('Location: http://example.com/sub/script.php'); 

To make the script wait as you want , you’ll need to add a Sleep on it:

sleep(5); header('Location: http://example.com/sub/script.php'); 

Instead of a javascript redirect you should render an call-link with simple html and the href=»callto. «. If you want to show the call screen without user interaction you only have to trigger a click event on the link.

Javascript — Use JS Variable in window.location, I’m trying to create a reddit share button, but I’m having trouble defining the window’s location using variables. For example, this opens a share window on reddit, but it doesn’t prefill the url field (leading me to believe the url parameter isn’t being passed correctly):

Echo Javascript window.location.href not working

I have a function which echoes javascript to navigate to a different page. While navigation occurs, the

echo 'window.location.href="'.$url.'";'; 

does not work and simply prints it on the screen.

"window.location.href="./index.php"; 

I use my function this way: redirect(«./index.php»);

My php function is as follows

 function redirect($url) < if (!headers_sent()) < header('Location: '.$url); exit; >else < echo ''; echo ''; exit; > > 

Your browser treats the response as plaintext.

Prepend to you response a Content-Type: text/html\ n plus wrap your content inside an tag.

Why not just use output buffering and not have to deal with JavaScript or meta redirects at all?

 // Rest of page goes here // Bottom of page ob_end_flush(); ?> 

Javascript — window.open from PHP script, Teams. Q&A for work. Connect and share knowledge within a single location that is structured and easy to search. Learn more

Window.location = » is not working

$(document).ready(function() < $("#submit").click(function() < var value = document.getElementById("txt_sketch_no").value; var process_id = document.getElementById("process_id").value; var length = value.length; if (length else < window.location = 'dws_Support.php'; >>); >); 
 ">   In the above code I would like to redirect the page with the help of Javascript, but window.location = 'dws_Support.php' in else part is not working, but when we alert with in the else part it gets displayed but not redirected to 'dws_Support.php' . Please help.

Try using window.location.href=’dws_Support.php’

you don’t need form for redirecting with javascript ,problem come from your attribute action form, so use this code:

    

Here is your fail: you are listening click , but submit event of the form brakes your logic. This is the fixed one:

$(document).ready(function() < $("form").on('submit', function(e) < e.preventDefault(); var value = document.getElementById("txt_sketch_no").value; var process_id = document.getElementById("process_id").value; var length = value.length; if (length else < window.location = 'dws_Support.php'; >>); >); 

glad if you found the answer, but there is no problem with your coding, you just missed the return false; after redirect..

hope this can fix your problem. 🙂

Javascript — window.location.href doesn’t redirect, This is universal working solution for the window.location problem. Some browsers go into problem with window.location.href and also sometimes can happen that window.location fail. That’s why we also use window.location.replace() for any case and timeout for the «last try».

Источник

Как получить ссылку на текущую страницу при помощи JS и PHP

Привет, друзья. Сегодня поговорим о том, как в JS и PHP получить адрес текущей страницы. Дело в том, что разработчику часто нужно выполнить какой-то код, только на определенных страницах или в зависимости от каких-то GET параметров. Как раз в таких случаях удобно сохранить все данные из адресной строки в объект или строку, чтобы иметь возможность удобно манипулировать своим кодом/разметкой в зависимость от полученных параметров.

Обычно я сталкиваюсь с такими задачами:

  • Получение utm-меток, в зависимости от которых мы можем менять контент на странице.
  • Определение адреса страниц, на которых стоит подключить какой-то скрипт.
  • Получение адреса страницы для передачи ссылки в форму обратной связи, чтобы понимать с какой страницы совершён заказ ( в том числе и передача utm-меток в форму).

Как получить ссылку на текущую страницу в Javascript

Для начала давайте разберемся как справиться с задачей при помощи js. В javascript есть объект Location, который позволяет получить текущий URL страницы. Доступ к нему я обычно произвожу через глобальный объект Window или Document. В итоге Window.location возвращает нам объект со свойствами, в которых и содержится интересующая нас информация. Например, самыми популярными для меня свойствами являются: href, hostname, pathname и search.

window.location.href

console.log(window.location.href); // вернёт: https://smartlanding.biz/smartroulette-lp/index.php?utm_source=yandex

Команда возвращает полный адрес страницы, то есть ссылку со всеми параметрами.

window.location.hostname

console.log(window.location.hostname); //вернет smartlanding.biz

Команда возвращает домен текущей страницы.

window.location.pathname

console.log(window.location.pathname); //вернет /smartroulette-lp/index.php

Вернет путь до текущей страницы, исключая домен и параметры. То есть покажет категорию/рубрику/папку, в которой находится страница.

console.log(window.location.search); // Вернет ?utm_source=yandex

Возвращает GET-параметр начиная со знака «?», то есть позволяет получить любые параметры, которые вы передаёте вместе со ссылкой. В том числе и пресловутые UTM-метки.

Как видите, в js есть все, чтобы легко справиться с задачей получения ссылки на текущую страницу. Но это не все возможности, которые дает нам javascript. Также можно получить протокол, порт, домен с портом и хеш из адресной строки. Делается это при помощи следующих свойств: protocol, port, host и hash.

console.log(window.location.protocol); // вернет https: console.log(window.location.port); // вернет номер порта, если он присутствует в адресной строке console.log(window.location.host); // вернёт домен и порт, если он есть console.log(window.location.hash); // вернет хеш страницы, начиная с символа #, например, #testmarker

Как получить ссылку на текущую страницу в PHP

Теперь давайте посмотрим на PHP. На самом деле тут тоже дела обстоят подобным образом. Есть готовый массив $_SERVER , который содержит в том числе и путь к текущей странице.

Как и в прошлый раз покажу на примере адреса:

Полный адрес текущей страницы на PHP

$currentUrl= ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $currentUrl; // Выведет https://smartlanding.biz/smartroulette-lp/index.php?utm_source=yandex

Путь к текущей странице без параметров

$currentUrl = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $currentUrl = explode('?', $currentUrl); $currentUrl = $currentUrl[0]; echo $currentUrl; // Выведет https://smartlanding.biz/smartroulette-lp/index.php

Путь без домена и параметров

$currentUrl = $_SERVER['REQUEST_URI']; $currentUrl = explode('?', $url); $currentUrl = $Url[0]; echo $currentUrl; // Вернет /smartroulette-lp/index.php

Получить только GET-параметры текущей страницы

$currentUrl = $_SERVER['QUERY_STRING']; echo $currentUrl; // Выведет utm_source=yandex

Если остались какие-то вопросы — задавайте в комментариях. Попробуем решить.

Похожие публикации

Источник

Оцените статью