你好我的每个页面的头部都有以下代码的问题:
session_start();
if (!isset($_SESSION['a'])){
...create the session from some variables...
$_SESSION['a'] = $var;
$var = $_SESSION['a'];
}else{
$var = $_SESSION['a'];
$what = "some text";
if (isset($_POST['one']) ){
$var = "new input";
$_SESSION['a'] = $var;
echo "one was posted";
}
if (isset($_POST['two']) ){
$var = "new input";
$_SESSION['a'] = $var;
echo "two was posted";
}
}
要发布的表单放在页脚中:
<form action="'.$_SERVER['PHP_SELF'].'" method="post">
<input type="submit" id="one" name="one"/><div>set one</div>
</form>
<form action="'.$_SERVER['PHP_SELF'].'" method="post">
<input type="submit" id="two" name="two"/><div>set two</div>
</form>
上面代码背后的逻辑似乎有些错误。在调用页面并发送帖子问题时,它不会回显,也不会将会话更改为新值。
所以,如果有人可以帮助我,我真的很感激。
非常感谢。
更新:
好的,代码完全适用于“else”部分:
else{
$var = $_SESSION['a'];
if (isset($_POST["one"]) ){
echo "post one was send";
}
if (isset($_POST["two"]) ){
echo "post en was send";
}
echo "session already exists.";
}
此部分仅显示echo:session已存在。整个帖子短语不起作用。 根据某些变量嵌入页脚。所以html中的所有内容都会得到回应:
echo '...
<ul class="drop_down">
<form action="'.$_SERVER['PHP_SELF'].'" method="post">
<input type="submit" id="one" name="one value="one"/><div>set one</div>
</form>
<form action="'.$_SERVER['PHP_SELF'].'" method="post">
<input type="submit" id="two" name="two" value="two"><div>set two</div>
</form>
</ul>
...';
答案 0 :(得分:0)
更改表格
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="submit" id="one" name="one" value="one"/><div>set one</div>
</form>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="submit" id="two" name="two" value="two"/><div>set two</div>
</form>
值需要发送..
修改#1:强>
在我的系统中,这工作正常......
<?php
session_start();
if (!isset($_SESSION['a'])){
$var='hi';
$_SESSION['a'] = $var;
$var = $_SESSION['a'];
}else{
$var = $_SESSION['a'];
$what = "some text";
if (isset($_POST['one']) ){
$var = "new input";
$_SESSION['a'] = $var;
echo "one was posted";
}
if (isset($_POST['two']) ){
$var = "new input";
$_SESSION['a'] = $var;
echo "two was posted";
}
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="submit" id="one" name="one"/><div>set one</div>
</form>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="submit" id="two" name="two"/><div>set two</div>
</form>
修改#2 强>
再试一次......
if (!isset($_SESSION['a'])){
$var='hi';
$_SESSION['a'] = $var;
$var = $_SESSION['a'];
}else{
$var = $_SESSION['a'];
$what = "some text";
if (isset($_POST['one']) ){
$var = "new input1";
$_SESSION['a'] = $var;
echo "one was posted";
print_r($_SESSION);
}
if (isset($_POST['two']) ){
$var = "new input2";
$_SESSION['a'] = $var;
echo "two was posted";
print_r($_SESSION);
}
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="submit" id="one" name="one"/><div>set one</div>
</form>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="submit" id="two" name="two"/><div>set two</div>
</form>
此处session
正确打印
答案 1 :(得分:0)
这部分需要澄清。你究竟想做什么?
if (!isset($_SESSION['a'])){
...create the session from some variables...
$_SESSION['a'] = $var;
$var = $_SESSION['a'];
}else{
$var = $_SESSION['a'];
$what = "some text";
试试这个:
<?PHP
session_start();
if (isset($_POST['one']) )
{
$_SESSION['a'] = "langauage one";
echo "one was posted";
}
elseif (isset($_POST['two']) )
{
$_SESSION['a'] = "langauge two";
echo "two was posted";
}
else
{
if (!isset($_SESSION['a']))
{
$_SESSION['a'] = "default langauge";
}
}
以下是SELECT
的示例 <?PHP
session_start();
if (isset($_POST['language']) )
{
$_SESSION['a'] = $_POST['language'];
echo "Language has ben set to ".$_POST['language'];
}
else
{
if (!isset($_SESSION['a']))
{
$_SESSION['a'] = "default langauge";
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<select title="Please choose your Language" name="language">
<option value="langauage one">langauage one</option>
<option value="langauge two">langauge two</option>
</select>
</form>
答案 2 :(得分:0)
形式:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="submit" id="one" name="one" value='one'/><div>set one</div>
</form>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="submit" id="two" name="two"value='two' /><div>set two</div>
</form>
腓:
<?php
session_start();
if (!isset($_SESSION['a'])){
$var = 1;
$_SESSION['a'] = $var;
//$var = $_SESSION['a']; this is unnecessary
}else{
$var = $_SESSION['a'];
$what = "some text";
if (isset($_POST['one']) ){
$var = "one";
$_SESSION['a'] = $var;
echo "one was posted";
}
if (isset($_POST['two']) ){
$var = "two";
$_SESSION['a'] = $var;
echo "two was posted";
}
}
?>