我想要实现的是在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/