我是编程新手并正在尝试会话。我相信我写的代码是正确的,但是花了很多时间试图围绕这个概念,我无法弄清楚为什么程序不起作用。
当我调试session-page.php
中的代码时,控件转到if(isset...)
但是然后转到下一个会话变量,而不是在浏览器上输入代码块或显示提交按钮。请有人向我解释为什么这件事无法正常工作。
另外,我可以不使用<form>
而只使用isset($_GET[ ])
吗?
会话page.php文件[CODE]
<?php
session_start();
if(isset($_POST['sub']))
{
$_SESSION['xyz']="Hello World";
}
$_SESSION['abc']="Hey Buddy!";
?>
<form method="post">
<a href="test-page.php"><input type='submit' name='sub' value='redirect'></a>
</form>
测试page.php文件[CODE]
<?php
session_start();
if($_SESSION['xyz']!="Hello World")
{
header("location:session-page.php");
}
echo $_SESSION['abc'];
?>
答案 0 :(得分:2)
您希望拥有此类工作流程(基于您目前拥有的工作流程):
<强> /session-page.php 强>
<?php
session_start();
if(!empty($_POST['sub'])) {
$_SESSION['xyz'] = "Hello World";
header('Location: test-page.php');
exit;
}
if(empty($_SESSION['abc']))
$_SESSION['abc']="Hey Buddy!";
?>
<form method="post" action="#">
<input type='submit' name='sub' value='redirect'>
</form>
<强> /test-page.php 强>
<?php
session_start();
if($_SESSION['xyz'] != "Hello World") {
header("location:session-page.php");
exit;
}
echo $_SESSION['abc'];
?>
答案 1 :(得分:0)
试试这个。
<form method="post" action="" >
<input type='submit' name='sub'value='redirect'>
</form>