这看起来很简单,但我找不到一个好方法。
在第一页中,我创建了一个变量
$myVariable = "Some text";
表单对该页面的操作是"Page2.php"在page2。php中,我如何访问这个变量?我知道我可以用会话做到这一点,但我认为这对于一个简单的字符串来说太多了,我只需要传递一个简单的字符串(一个文件名)。
我怎样才能做到这一点呢?
谢谢!
这看起来很简单,但我找不到一个好方法。
在第一页中,我创建了一个变量
$myVariable = "Some text";
表单对该页面的操作是"Page2.php"在page2。php中,我如何访问这个变量?我知道我可以用会话做到这一点,但我认为这对于一个简单的字符串来说太多了,我只需要传递一个简单的字符串(一个文件名)。
我怎样才能做到这一点呢?
谢谢!
当前回答
**page 1**
<form action="exapmple.php?variable_name=$value" method="POST">
<button>
<input type="hidden" name="x">
</button>
</form>`
第二页
if(isset($_POST['x'])) {
$new_value=$_GET['variable_name'];
}
其他回答
在php中有三种传递值的方法。
邮寄 通过获得 通过设置session变量
这三种方法用于不同的目的。例如,如果我们想在下一页接收我们的值,那么我们可以使用'post' ($_POST)方法作为:-
$a=$_POST['field-name'];
如果我们在多个页面上需要变量的值,那么我们可以使用会话变量作为:-
$a=$_SESSION['field-name];
在使用此语法创建SESSION变量之前,我们必须在php页面的最开始添加此标记
session_start();
GET方法通常用于在同一页面上打印数据,该页面用于从用户获取输入。它的语法如下:
$a=$_GET['field-name'];
POST方法通常比GET方法更安全,因为当我们使用GET方法时,它可以在URL栏中显示数据。如果数据是更敏感的数据,如密码,那么它可以是inggeris。
谢谢上面的回答。以下是我是如何做到的,我希望对那些跟随我的人有所帮助。我希望从一个页面传递一个注册号到另一个页面,因此regName和regValue:
创建你的第一个页面,命名为set_reg.php:
<?php
session_start();
$_SESSION['regName'] = $regValue;
?>
<form method="get" action="get_reg.php">
<input type="text" name="regName" value="">
<input type="submit">
</form>
创建第二个页面,命名为get_reg.php:
<?php
session_start();
$regValue = $_GET['regName'];
echo "Your registration is: ".$regValue.".";
?>
<p><a href="set_reg.php">Back to set_reg.php</a>
虽然不像上面的答案那么全面,但出于我的目的,这以简单的方式说明了各种元素之间的关系。
例如,你可以通过在url中包含变量来调用你想要的页面:
header("Location: ../signup.php?newpwd=passwordupdated");
在你的注册。php页面上
if (isset($_GET['newpwd']) && $_GET['newpwd'] == "passwordupdated") {
//code here
}
HTML / HTTP是无状态的,换句话说,你在上一页所做/看到的与当前页面完全无关。除非你使用会话、cookie或GET / POST变量。会话和cookie都很容易使用,会话比cookie安全得多。更安全,但不是完全安全。
会话:
//On page 1
$_SESSION['varname'] = $var_value;
//On page 2
$var_value = $_SESSION['varname'];
记得运行session_start();语句在尝试访问$_SESSION数组之前,以及在任何输出发送到浏览器之前。
饼干:
//One page 1
$_COOKIE['varname'] = $var_value;
//On page 2
$var_value = $_COOKIE['varname'];
会话和cookie之间的最大区别是,如果使用会话,变量的值将存储在服务器上,如果使用cookie,则存储在客户机上。我想不出使用cookie而不是会话的任何好的理由,除非您希望在会话之间保存数据,但即使这样,可能更好的方法是将其存储在DB中,并根据用户名或id检索它。
GET和POST
你可以在下一页的链接中添加变量:
<a href="page2.php?varname=<?php echo $var_value ?>">Page2</a>
这将创建一个GET变量。
另一种方法是在提交到第二页的表单中包含一个隐藏字段:
<form method="get" action="page2.php">
<input type="hidden" name="varname" value="var_value">
<input type="submit">
</form>
然后在第二页
//Using GET
$var_value = $_GET['varname'];
//Using POST
$var_value = $_POST['varname'];
//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];
如果你想通过post来实现,只需将表单的方法更改为post。两者都同样不安全,尽管GET更容易被破解。
当我第一次开始用PHP编写代码时,每个新请求(除了会话数据)都是脚本的一个全新实例,这让我感到困惑。一旦你习惯了,它就很简单了。
它的工作原理。 发送数据抛出URL,没有表单。
$upit = "SELECT * FROM usluga";
$data = $mysql->query($upit);
while ($row = mysqli_fetch_object($data))
{
echo "<a href='"."index.php?tretmanId=$row->tretman_id"."'>$row->naziv</a>";
echo "<br><br>";
}
你可以通过"$_GET['name from URL']"在目标页面上获得这个值,就像这样
$TrermanIdFromUrl = $_GET['tretmanId'];