javascript - php在html代码中访问session变量值

标签 javascript php html

我想要实现的是在html form上打印php session 变量。上面是我尝试打印valid_firm Session变量的表单,但是方式它用于打印变量不起作用...... newFirm-form.php

<!DOCTYPE>
 <html>
  <head>
    <meta charset="utf-8">
    <meta content="no-cache" http-equiv="cache-control"></meta>
  </head>

<body>
  <form id="firm-form" method="post" />
      <p>Firm Name</p><input class="firm-name" type="text" name="firm-name"  />

      <p>Email</p><input type="text" name="firm-email" />
      <p>Telephone</p><input type="text" name="telephone" />
      <p>Address</p><input type="text" name="address" />
      <p>City</p><input type="text" name="city" />
      <p>Firm Code</p><input type="text" name="firm-code" /> <br/>
  </form>
  <?php print $_SESSION["valid_firm"]; ?>
  <input class="submit" type="submit" value="Submit"><br />
  <span class="error" style="display:none"> Please Fill The Empty Fields</span>
  <span class="success" style="display:none"> Form Submitted Success</span>


</body>
<footer>
  <script type="text/javascript" src="../js/libs/jquery-1.11.3-min.js">     </script>
  <script type="text/javascript" src="../js/newFirm.js"></script>
  </footer>

 </html>

使用 ajax post 方法调用的 JavaScript 文件来提交表单

  $(document).ready(function() {
     var empty_fields = 0;
     $(".submit").on("click", function(){
       $("#firm-form *").filter(":input").each(function(){
      if(!$(this).val()){
      empty_fields += 1;
    }
  });
  if(empty_fields > 0){
    $(".error").fadeIn(800).show();
    $(".success").fadeOut(800).hide();
  }
  else {
    var firm_name = $(".firm-name").val();
    $.ajax({
      type:"POST",
      url:"../registration-control/register-firm.php",
      data: "firm_name=" + firm_name,
      success: function(){
        $(".success").fadeIn(800).show();
        $(".error").fadeOut(800).hide();
      }
    });
  }
  empty_fields = 0;
    });

  });

以及保存 session 变量的php文件

<?php
if (isset($_POST["firm_name"])){
  validateName($_POST["firm_name"]);

$_SESSION["firm"] = $_POST["firm_name"];
 //echo $_SESSION["firm"]." from register-firm";
  }

   function validateName($firm_name){
       var_dump($firm_name);
      if (preg_match("/^[A-ZΑ-Ω]{1}[a-zA-Zα-ωΑ-Ω0-9\.]*/", $firm_name) &&         !ctype_digit($firm_name)){
     $_SESSION["valid_firm"] = 1;
   }
   $_SESSION["valid_firm"] = 0;
  }
 ?>

最佳答案

我不知道你的session_start()在哪里应首先在要访问 session 的每个页面中调用此函数

已编辑

我能说什么,谢谢你的-1。

当我说你的session_start()在哪里时我这样做是因为为了能够访问 php 脚本中的 session ,您必须调用 session_start()之前调用$_SESSION 。更多的是session_start()应该在 <!DOCTYPE html> 之前的任何响应之前调用.

关于javascript - php在html代码中访问session变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33317676/

相关文章:

javascript - JQUERY "Click to scroll"单击任何内容时都会返回到顶部

javascript - 为所有外部链接 Blogspot 创建重定向页面

javascript - 如何让 html2canvas 在 ie8 中工作?

php - .load() 中的内容在主页上未激活

php clone 无法正常工作

php - 拖放文件上传不起作用

javascript - "MultiplicativeExpression"是什么意思?

html - 如何从 YUI GRID 工具中获取边框?

javascript - 如何通过 Json 将 Java 方法调用到 JavaScript 中?

html - float div不向左浮动