在不同的php文件之间使用会话变量
我不熟悉在不同的php文件之间使用会话变量,php,session,Php,Session,我不熟悉$\u SESSIONS,但需要它在不同的php文件之间重用变量。在下面的代码中,我想在另一个php文件中使用变量$word,但我不确定如何做到这一点 我的php文件如下所示: <?php if (isset($_POST["search"])) { //include database connection $word = mysql_real_escape_string($_POST["search"]); $word = htmlentities(
$\u SESSIONS
,但需要它在不同的php文件之间重用变量。在下面的代码中,我想在另一个php文件中使用变量$word
,但我不确定如何做到这一点
我的php文件如下所示:
<?php
if (isset($_POST["search"])) {
//include database connection
$word = mysql_real_escape_string($_POST["search"]);
$word = htmlentities($word);
$sql = ("SELECT task_id, task_date FROM customer JOIN task ON customer.id = task.customer_id WHERE mobil = $word ORDER BY task_date DESC LIMIT 0, 10");
$results = mysql_query($sql);
if (mysql_num_rows($results)==0) {
echo $word, " text bla";
}else {
echo $word, " text bla bla";
while ($row = mysql_fetch_assoc($results)) {
echo '<pre>', print_r($row), '<pre>';
}
}
}?>
我的PAGE2.php文件。
<?php session_start(); ?>
...
<?php
if ( isset($_SESSION['word']) ) {
$_SESSION['word'] = /* change existing session value */;
} else {
$_SESSION['word'] = /* new session value */;
}
?>
//On another page, after the variable is being set
echo $_SESSION['myword'];
要使用PHP会话,请执行以下操作:
启动会话,session_start()代码>
注意:会话启动()
必须是文件中PHP的第一行
创建会话,$\u会话['word]=$word代码>
要在另一页上访问它,请执行以下操作:
启动会话,session_start()代码>
访问会话,$word=$\u会话['word']代码>session\u start()
表示您正在使用会话变量,请确保它位于页面顶部。要创建会话,请执行以下操作:$\u session['word']=[some value]
。这可以在页面之间使用,只要顶部有session\u start()
。如果未设置初始化,请确保先设置它
<?php
session_start();
if (isset($_POST["search"])) {
//include database connection
$word = mysql_real_escape_string($_POST["search"]);
$word = htmlentities($word);
$_SESSION['word'] = $word;
$sql = ("SELECT task_id, task_date FROM customer JOIN task ON customer.id = task.customer_id WHERE mobil = $word ORDER BY task_date DESC LIMIT 0, 10");
$results = mysql_query($sql);
if (mysql_num_rows($results)==0) {
echo $word, " text bla";
}else {
echo $word, " text bla bla";
while ($row = mysql_fetch_assoc($results)) {
echo '<pre>', print_r($row), '<pre>';
}
}
}?>
...
首先应使用函数“session_start()”启动会话。
将其放在index.php/bootstrap.php(加载网站时始终加载的文件)中
之后,可以使用“$\u会话”全局设置数据
<?php
session_start();
if(isset($_SESSION['word'])) {
$word = $_SESSION['word'];
} else {
die('$'."_SESSION['word'] isn't set because you had never been at file one");
}
echo $word;
?>
在要保存$word的文件中:
<?php
session_start();
$_SESSION['word'] = $_POST['word']
?>
从那时起,你可以在另一个页面上使用这个变量
<?php
session_start();
echo $_SESSION['word'];
?>
请注意,当您使用共享webhosting时,您的会话数据通常存储在Web服务器上的全局文件夹中,并且该服务器上的每个网站都可以使用这些数据。要防止出现这种情况,应使用“session\u save\u path()”函数或创建自己的会话处理程序来更改会话保存路径 首先,您必须通过会话启动()代码>直接在打开PHP“标记”之后(
)
然后必须将变量保存到会话中。
您可以使用$\u SESSION['word']=$word代码>用于此目的
在另一个文件中,还必须使用session_start()调用session_start()后的第一次调用时使用code>如果在$\u会话
超级全局数组中设置了任何内容,您可以重新访问它
如果未设置,则可以设置为:
$\u会话['a name']='something'代码>
例如:
PHP文件1
PHP文件2
实现这一点的方法有很多,这取决于您想如何使用它。您可以在该文件中包含您的文件,您可以使用require或require\u一次,或者您可以使用session super global
应用程序中的所有文件都可以访问$\u会话超级全局。唯一需要确保的是在页面上使用session_start()作为该页面上的第一件事。如果在任何输出进入浏览器后使用session_start(),它将无法工作。通常,您希望在index.php文件的第一行运行session_start()。然后你可以用
然后在任何你想访问的页面上,只要把它校准
你在谷歌被禁止了吗?请注意,它们已不再维护,并且是。而是学习,并使用或。将帮助您做出决定。@JayBlanchard我知道这一点,并将在发布前对其进行更改。但是现在我只需要看看上面代码中关于$\u会话的建议。@Cherry在我写的时候,我总是阅读php手册。我还尝试/测试了基于谷歌搜索的不同解决方案,但都无法奏效。请记住我是编程新手,我尽量把问题简短。但我以后会记住这一点。我测试了你的建议,但一开始它不起作用。原来我只需要将
放在我的PAGE2.php文件的第一个位置。首先,我指的是在
等之前。
<?php
session_start();
if (isset($_POST["search"])) {
//include database connection
$word = mysql_real_escape_string($_POST["search"]);
$word = htmlentities($word);
$_SESSION['word'] = $word;
$sql = ("SELECT task_id, task_date FROM customer JOIN task ON customer.id = task.customer_id WHERE mobil = $word ORDER BY task_date DESC LIMIT 0, 10");
$results = mysql_query($sql);
if (mysql_num_rows($results)==0) {
echo $word, " text bla";
}else {
echo $word, " text bla bla";
while ($row = mysql_fetch_assoc($results)) {
echo '<pre>', print_r($row), '<pre>';
}
}
}?>
<?php
session_start();
if(isset($_SESSION['word'])) {
$word = $_SESSION['word'];
} else {
die('$'."_SESSION['word'] isn't set because you had never been at file one");
}
echo $word;
?>
<?php
session_start();
$_SESSION['word'] = $_POST['word']
?>
<?php
session_start();
echo $_SESSION['word'];
?>
<?php
if (isset($_POST["search"])) {
//include database connection
$word = mysql_real_escape_string($_POST["search"]);
$word = htmlentities($word);
$_SESSION['word'] = $word;
$sql = ("SELECT task_id, task_date FROM customer JOIN task ON customer.id = task.customer_id WHERE mobil = $word ORDER BY task_date DESC LIMIT 0, 10");
$results = mysql_query($sql);
if (mysql_num_rows($results)==0) {
echo $word, " text bla";
}else {
echo $word, " text bla bla";
while ($row = mysql_fetch_assoc($results)) {
echo '<pre>', print_r($row), '<pre>';
}
}
}?>
<?php
echo $_SESSION['word'];