在不同的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'];