我正在用 PHP mysql 制作一个拼车网站。 成员在一个表中有一个帐户,其中包含他们的姓名和其他人的联系方式,他们可以提供进入另一个表的大量旅行(时间、地址)。
当乘客寻找行程时,我希望他们能够看到行程的时间和地址,以及司机的姓名。所以我想把第一个表的名字放在第二个表中,司机每次添加行程时都必须写他们的名字。
但是我不知道怎么得到这个名字。我虽然像下面的代码(恢复表单中写入的数据的页面)但它不起作用。 司机想修改行程时也是一样,我只想显示名称等于 session 名称的行程。
你能帮帮我吗?
<?php session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Covoiturage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="conteneur">
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=Covoit', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
if (isset($_SESSION['name']))
{
}
else
{header('Location: covoit.php');}
// Insertion
$req = $bdd->prepare('INSERT INTO Trajet (jour, heuredep, mindep, heureret, minret, commentaire)VALUES(?, ?, ?, ?, ?, ?)');
$req->execute(array(
$_POST['jour'],
$_POST['heuredep'],
$_POST['mindep'],
$_POST['heureret'],
$_POST['minret'],
$_POST['commentaire']));
$bdd->exec('UPDATE Trajet SET name = \'echo $_SESSION[\'name\'];\'');
$bdd->exec('UPDATE Trajet SET adresse = SELECT name FROM Conducteur WHERE name = $_SESSION[\'name\']');
header('Location: annoncer_merci.php');
?>
</div>
</body>
</html>`
最佳答案
重写你的
$bdd->exec('UPDATE Trajet SET name = \'echo $_SESSION[\'name\'];\'');
到
$bdd->exec("UPDATE Trajet SET name = ".$_SESSION['name']);
关于php - 如何在 PHP 中获取 session 名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20844651/