【问题标题】:Using javascript var in PHP在 PHP 中使用 javascript var
【发布时间】:2017-02-23 01:06:11
【问题描述】:

我一直在尝试使用这个 javascript 中的“用户”变量,以便可以在我的 php 脚本中使用它。我想在 php 脚本中回显用户变量。我无法这样做,因为我一直在尝试回应 $user; .我也无法在互联网上找到任何帮助我解决这个问题的东西。

 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>

【问题讨论】:

  • 请解释一下您所说的回声是什么意思? echo 是一个 PHP 命令,而 alert 是 javascript。两人永远不会相遇
  • 很抱歉我已经编辑了我的问题

标签: javascript php html css cookies


【解决方案1】:

我认为你可以使用

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

如果你想在屏幕上打印它而不是警告。

还是真的要使用 PHP 函数 echo?

【讨论】:

    【解决方案2】:

    好吧,如果您需要使用 PHP 打印变量,您需要使用 url 参数将用户重定向到您的 PHP 页面,如下所示:

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

    然后获取参数:

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

    然后回显:

    echo $uname;
    

    【讨论】:

      【解决方案3】:

      我觉得你对 JavaScript 和 PHP 的执行方式(和位置)有很大的误解。

      当客户端(很可能是浏览器)请求页面时,PHP 在服务器上执行。之后,整个页面(包括您的 JavaScript)被发送到客户端,客户端完全是另一台计算机(通常)。

      然后执行 JavaScript。因此,文件中的 PHP 代码无法访问 JavaScript 变量。

      你肯定需要这样做:

      • 客户端从服务器接收页面
      • 客户端执行 JavaScript 并以某种方式确定用户名。
      • 客户端使用用户名作为参数向调用 PHP 页面的服务器发出另一个请求。
      • 在服务器上,您可以处理用户名参数,并根据需要使用它。

      【讨论】:

        【解决方案4】:

        你为什么不从 cookie 中读取它:

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

        【讨论】:

          猜你喜欢
          • 2014-04-04
          • 1970-01-01
          • 1970-01-01
          • 2014-12-04
          • 2016-11-23
          • 2023-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多