php会话不会;单击“提交”按钮时无法处理表单
php sessions doesn't work with form when submit button is clicked
我马上就要考试了。我被课程卡住了。在大多数情况下,无论我尝试过什么,它对我都不起作用。它曾经对我有效,但刷新页面后,我再也看不到它有效。我的样品:
qwer.php:
<?php
session_name('Private');
session_id('TEST');
if(isset($_POST["Submit"])){
session_start();
$_SESSION['counter']=5;
$_SESSION["lolvalue"]=isset($_POST["imie"]);
}
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<form name="myform" method="post" action="qwew.php" onsubmit="return validateform();">
<input type="text" name="imie"><br>
<input type="submit" name="Submit">
</form>
<a href='qwew.php'>Link to protected file</a>
</body>
</html>
<script type="text/javascript">function validateform(){
checkit=/^[A-Z]{1}[a-zA-Z0-9]{7,16}$/;
if(!(myform.imie.value.match(checkit))){alert("blabla...bla");
return false;}
}
</script>
qwew.php
<?php
session_name('Private');
session_id('TEST');
session_start();
echo "here it is: ".$_SESSION["lolvalue"]." and ".$_SESSION["counter"];
session_destroy();
?>
问题是,表单和重定向到另一个页面应该通过点击提交来完成。请帮我弄清楚我哪里错了。此外,我忘了标注我正在使用XAMPP,session.use_cookies和session.use_trans_sid已启用
qwer.php
<?php
session_start();
if(isset($_POST["Submit"])) {
$_SESSION['counter']=5;
$_SESSION["lolvalue"]=isset($_POST["imie"]);
header('Location:qwew.php');
die();
}
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<form name="myform" method="post" action="qwer.php" onsubmit="return validateform();">
<input type="text" name="imie"><br>
<input type="submit" name="Submit">
</form>
<a href='qwew.php'>Link to protected file</a>
</body>
</html>
qwew.php
session_start();
if(isset($_SESSION["lolvalue"]) && isset($_SESSION["counter"]))
echo "here it is: ".$_SESSION["lolvalue"]." and ".$_SESSION["counter"];
else {
header('Location:qwer.php');
die();
}
此代码永远不会执行:
if(isset($_POST["Submit"])){
session_start();
$_SESSION['counter']=5;
$_SESSION["lolvalue"]=isset($_POST["imie"]);
}
这是因为您的HTML表单正在向qwew.php
文件发送POST
请求,而不是向qwer.php
发送。
qwew.php
<?php
session_start();
if(isset($_POST["Submit"])){
$_SESSION['counter']=5;
$_SESSION["lolvalue"]=isset($_POST["imie"]);
echo "here it is: ".$_SESSION["lolvalue"]." and ".$_SESSION["counter"];
}
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<form name="myform" method="post" action="qwew.php" onsubmit="return validateform();">
<input type="text" name="imie"><br>
<input type="submit" name="Submit">
</form>
<a href='qwew.php'>Link to protected file</a>
</body>
</html>
<script type="text/javascript">function validateform(){
checkit=/^[A-Z]{1}[a-zA-Z0-9]{7,16}$/;
if(!(myform.imie.value.match(checkit))){alert("blabla...bla");
return false;}
}
</script>
相关文章:
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 点击相同的按钮打开模型,然后提交表单
- 为什么我的按钮组件提交它所在的表单
- 在表单完成并确认密码之前,请禁用提交按钮
- 输入文本框为空时的阻止按钮asp.网络表单
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- HTML4表单使用mattw@scriptarchive.comcgi脚本我可以嵌入贝宝按钮
- 单击表单中的按钮会导致页面刷新
- 从输入时提交到jQuery,无需提交按钮,无需表单操作
- 单选按钮表单代码和下拉菜单代码
- 在单选按钮表单选项上附加链接
- 如果电子邮件输入处于焦点上,则阻止输入按钮表单提交 (jquery)
- jquery动态选择单选按钮(表单重置问题)
- Jquery History/Hashchange Event-返回按钮-表单提交时
- 创建第二个addtocart按钮/表单
- HTML/Javascript单选按钮表单,重定向到不同的链接
- 停止不必要的按钮表单提交html js
- JSF提交按钮-表单在一秒钟内被提交X次(直到重新创建视图)-如何防止它
- next和prev按钮表单流的HTML表单验证
- 如何在提交无按钮表单时激发函数