2017-02-23 57 views
-1

Я пытаюсь использовать переменную «user» из этого javascript, чтобы я мог использовать ее в своем php-скрипте. Я хочу повторить пользовательскую переменную в php-скрипте. Я не могу этого сделать, поскольку я пытаюсь выполнить echo $ user; . Я также не могу найти что-либо в Интернете, чтобы помочь мне в этом.Использование javascript var в PHP

alert("Welcome again " + user); 

Вместо предупреждения я хочу, чтобы напечатать на экране приветствия снова пользователя (имя пользователя) Спасибо вам

<!DOCTYPE html> 
<html> 
<head> 
<script> 

    function setCookie(cname,cvalue,exdays) { 
    var d = new Date(); 
    d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
    var expires = "expires=" + d.toGMTString(); 
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 
    } 

    function getCookie(cname) { 
     var name = cname + "="; 
     var decodedCookie = decodeURIComponent(document.cookie); 
     var ca = decodedCookie.split(';'); 
     for(var i = 0; i < ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0) == ' ') { 
     c = c.substring(1); 
     } 
    if (c.indexOf(name) == 0) { 
     return c.substring(name.length, c.length); 
    } 
    } 
    return ""; 
} 

    function checkCookie() { 
    var user=getCookie("username"); 
    if (user != "") { 
     alert("Welcome again " + user); 
    } else { 
     user = prompt("Please enter your name:",""); 
     if (user != "" && user != null) { 
      setCookie("username", user, 30); 
     } 
    } 
} 

    </script> 
    <?php echo "Welcome back : ".$user;?> 
    </head> 
    <body onload="checkCookie()"> 
    </body> 
    </html> 
+2

объяснить, что вы имеете в виду эхо? echo - это команда PHP, а alert - javascript. И ни разу не будет встречаться – RiggsFolly

+0

извините, что я отредактировал мой вопрос – xenon

ответ

1

Я думаю, что вы можете использовать

<script> 
    document.write("Welcome again " + user); 
</script> 

вместо предупреждения если вы хотите распечатать его на экране.

или вы действительно хотите использовать PHP-функцию echo?

+0

yes Мне действительно нужно поместить его в php – xenon

0

Ну, если вам нужно напечатать переменную с помощью PHP, вам необходимо перенаправить пользователя на страницу PHP с параметром URL-адрес, как так:

window.location.href="index.php?uname=+user+";

А затем получить параметр:

if(isset($_GET['uname'])) { 
    $uname = $_GET['uname']; //after filtering and validating it of course 
} 

А затем повторить его:

echo $uname; 
0

я вещь вам имеют огромное недоразумение, как (и где) выполняются JavaScript и PHP.

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

Затем выполняется JavaScript. Поэтому PHP-код в вашем файле не имеет доступа к переменным JavaScript.

Вы обязательно должны сделать это примерно так:

  • клиент получает страницу с сервера
  • Клиент выполняет JavaScript и каким-то образом определяет имя пользователя.
  • Клиент делает другой запрос с именем пользователя в качестве параметра для сервера, вызывающего страницу PHP.
  • На сервере вы можете обрабатывать параметр, который является именем пользователя, и делать с ним то, что вы хотите.
0

почему вы не читали его с печеньем:

<?php echo "Welcome back : ".($_COOKIE['user']!='' ? $_COOKIE['user'] : 'Guest');?>