2015-09-06 5 views
0

Я хочу показать переменные javascript в php, и я использовал файлы cookie для этого, но я запустил это, получив некоторые ошибки. Это связано с тем, что ошибкиПоказать cookies в php

Notice: Use of undefined constant latitude - assumed 'latitude' in C:\wamp\www\varCoo.php on line 16 

Notice: Undefined index: latitude in C:\wamp\www\varCoo.php on line 16 

Notice: Use of undefined constant longitude - assumed 'longitude' in C:\wamp\www\varCoo.php on line 17 

Notice: Undefined index: longitude in C:\wamp\www\varCoo.php on line 17 

Что-то не так с моим кодом?

<!DOCTYPE html> 
<head> 
<title>Untitled Document</title> 
</head> 

<body> 
<script> 
    var x = -40; 
    var y = 72; 
    document.cookie = latitude + "=" + x; 
    document.cookie = longitude + "=" + y; 
</script> 
<?php 
    echo $_COOKIE[latitude]; 
    echo $_COOKIE[longitude]; 
?> 
</body> 
</html> 
+0

так же, как замечает говорят, и печенье, не признаются в эху, если они не были проверены, если они установлены/не пусто и выбросит, что ошибка при начальной загрузке страницы. –

ответ

1

Ключи массива должны быть в кавычках (если вы хотите, чтобы это уведомление исчезло).

<?php 
    echo $_COOKIE['latitude']; 
    echo $_COOKIE['longitude']; 
?> 

FYI, ваш пример сценария не будет работать в любом случае, как печенье данные не доступны для PHP, пока они не будут установлены, и новый запрос был сделан.

+0

Я добавил цитаты, но все еще остается две ошибки. Как сделать данные cookie доступными для php? – Nishan256

+0

Вам необходимо установить куки-файлы в javascript, а затем сделать новый запрос на страницу для своего php-скрипта, возможно, используя window.location для перенаправления там. –

+0

Это значит, что я не могу сделать это на одной странице? Не могли бы вы привести мне пример для этого (чтобы отправить переменную javascript в php на одной странице с помощью файлов cookie) – Nishan256

0

Теперь он работает !!!, я изменил широту + "=" + x на "широта =" + x; и echo $ _COOKIE ['широта']. И долготы слишком

<!DOCTYPE html> 
<head> 
<title>Untitled Document</title> 
</head> 

<body> 
<script> 
    var x = -40; 
    var y = 72; 
    document.cookie = "latitude=" + x; 
    document.cookie = "longitude=" + y; 
</script> 
<?php 
    echo $_COOKIE['latitude']; 
    echo $_COOKIE['longitude']; 
?> 
</body> 
</html> 
+0

, удалите файлы cookie и попробуйте –

+0

'первая проверка с помощью php if (isset ($ _ COOKIE ['lat']) && isset ($ _ COOKIE [ 'lan'])) {// echo $ cookie } else {?> document.body.innerHTML = x + '
' + y;

2

Вы можете написать таким образом

<script> 
    var x = -40; 
    var y = 72; 
    document.cookie = 'latitude' + "=" + x; 
    document.cookie = 'longitude' + "=" + y; 
</script> 

<?php 
if(isset($_COOKIE['latitude']) && isset($_COOKIE['longitude'])) 
    { 
    echo $_COOKIE['latitude']; 
    echo $_COOKIE['longitude']; 
    }else{ 
    ?> 
    <script type="text/javascript"> 
    document.body.innerHTML = x +'<br>'+y; // or in some element as you like 
    </script> 
    <?php 
} 
?> 
</body>