我有if else声明。代码逻辑是第一个if语句将获得所需的所有必要信息,第二个if语句将打印在第一个if语句中生成的所有信息。问题是当它触发第二个if语句时,它会忽略存储在第一个if语句中的所有数据。 任何人都可以帮我解决这个问题吗?谢谢
这只是一个示例代码,但代码的过程和逻辑在某种程度上是相同的。
<head>
<title>Sample PHP Web</title>
</head>
<body>
<form method = "post">
<input type = "submit" value = "submit" name = "submit">
<?php
if(isset($_POST['submit']))
{
$nn[0] = "man";
$nn[1]= "men";
echo'<input type = "submit" value = "print" name = "print">';
}
?>
</form>
<?php
if(isset($_POST['print']))
{
echo $nn[0];
echo $nn[1];
}
?>
</body>
答案 0 :(得分:2)
处理初始表单提交后,您设置为PHP变量的值将丢失。它们不会持续跨页面请求。如果您希望它们持久存在,则需要使用sessions。
<?php
session_start();
?>
<head>
<title>Sample PHP Web</title>
</head>
<body>
<form method = "post">
<input type = "submit" value = "submit" name = "submit">
<?php
if(isset($_POST['submit']))
{
$_SESSION['nn'][0] = "man";
$_SESSION['nn'][1]= "men";
echo'<input type = "submit" value = "print" name = "print">';
}
?>
</form>
<?php
if(isset($_POST['print']))
{
echo $_SESSION['nn'][0];
echo " "; // seperate words with a space
echo $_SESSION['nn'][1];
}
?>
</body>