我正在第一次尝试使用PHP进行会话.例如,我希望创建一个名为phonemessearch2.php的页面的链接,该页面加载该页面并将变量phon1设置为"M",将phon3设置为"L",将phon4设置为"IY".amd umatch to"umatch".因此,我链接到此URL:
phonemessearch2.php?phon1 = M&phon3 = L&phon4 = IY&umatch = umatch
以下是目标页面中的代码:
session_set_cookie_params(3600,"/");
session_start();
//submitted form variable definitions
if(isset($_POST['umatch']))
{
$umatch = $_POST['umatch'];
} else {
if( !isset($_SESSION['umatch']) )
{
$umatch = '';
} else {
$umatch = $_SESSION['umatch'];
}
}
$_SESSION['umatch'] = $umatch;
if(isset($_POST['phon1']))
{
$phon1 = $_POST['phon1'];
} else {
if( !isset($_SESSION['phon1']) )
{
$phon1 = '';
} else {
$phon1 = $_SESSION['phon1'];
}
}
$_SESSION['phon1'] = $phon1;
if(isset($_POST['phon2']))
{
$phon2 = $_POST['phon2'];
} else {
if( …Run Code Online (Sandbox Code Playgroud) 我正在构建一个需要存储会话会话的PHP应用程序.
我正在构建的应用程序是Banking/Teller项目,当柜员登录时会创建一个会话,这将一直存在,直到柜员退出,就像登录/注销系统一样.
但是,当柜员输入客户编号时,将在数据库内查找并验证,然后必须创建另一个会话以存储有关客户的临时信息.应删除此cookie /其他方法,并在下次新客户到来时使用随机名称创建新的cookie.我应该将它存放在柜员会议中吗?创建一个新会话 - 您甚至可以在PHP,多个会话中执行此操作吗?或者我应该为客户会话创建一个完全独立的cookie?
概述:
实现这个的最佳方法是什么?
在表单页面上,我有以下内容:
<?php
session_start();
if (isset($_POST['submit'])){
$_SESSION['username'] = $_POST['username'];
}
?>
<form action="index.php">
<input type="text" name="username">
<input type="submit" name="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
在文件“index.php”上,我有:
<?php
session_start();
echo ($_SESSION['username']);
?>
Run Code Online (Sandbox Code Playgroud)
但是索引页面上的输出表明会话变量未定义。我该如何解决这个问题,为什么它是未定义的?
我有一个页面“A”。我在此页面上创建了一个会话变量。
此页面然后使用 重定向到控制器“A”中的函数“A” window.location。
我尝试使用以下行访问函数“A”中的会话变量
var_dump($request->session->get('variableSetOnPageA'));
Run Code Online (Sandbox Code Playgroud)
这返回NULL.
为什么?我需要'variableSetOnPageA'。
我试图在PHP中启动一个会话,以便存储有关用户ID的数据(将在mySQL DB中使用)。
但是,当我开始会话时,出现以下错误:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /Applications/MAMP/blah) in /Applications/MAMP/blah on line 38
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /Applications/MAMP/blah) in /Applications/MAMP/blah on line 38
Run Code Online (Sandbox Code Playgroud)
我了解错误是因为页面已提交或“标题已发送”而无法启动会话,但是我非常困惑,因为它所引用的行38行是启动会话的行:
Line 38: session_start();
Run Code Online (Sandbox Code Playgroud)
因此,如何说标头已经通过此行发送,这就是错误?
这是我的代码的简化部分。注意,HTML的一部分是通过jQuery使用AJAX加载的,是否可以?
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>
<div class="wrapper">
<div id="quiz-section">
// This part is where the HTML content loads via AJAX
</div>
</div>
<!-- Below PHP looks at the referral …Run Code Online (Sandbox Code Playgroud)