Php 如何正确设置逻辑以使用post变量
您好,我对每页标题上的以下代码有问题:Php 如何正确设置逻辑以使用post变量,php,html,forms,logic,Php,Html,Forms,Logic,您好,我对每页标题上的以下代码有问题: 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'])
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>
此部分仅显示echo:会话已存在。整个帖子短语都不起作用。
页脚将根据某些变量嵌入。因此,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>
...';
改变你的形式
<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>
此处会话打印正确此部分需要澄清。你到底想干什么
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:
它是存在的,但忘记添加问题。这似乎也是错误的,它不起作用。在我尝试之前,这篇文章没有价值。这是不必要的。html是在php解析器上设置的,因此它将回显html。您好,谢谢您回答这个问题。我尝试了编辑2,但根本不起作用。请检查您的php.ini以获取会话支持..:我将在会话中保存语言设置。因此,如果给定,它将从浏览器中读取首选语言,如果没有,它将手动设置默认语言。该设置保存在$var中。在下一步中,将设置会话,如果特定于post的id要更改会话中保存的语言,它将回显/header。此外,如果您尝试设置语言,使用a将更好地工作,并且需要更少的代码。
<?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";
}
}
<?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>
<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";
}
}
?>