我正在尝试向数据库中的表添加新行,表中只有两列,并且我正在使用表单来获取其中一个字段。这是我正在使用的表格
<form action="add_list.php" method="post">
Name: <input type="text" name="listname">
<input type="submit" value="Add List">
</form>
这是 add_list.php
<?php
/* Execute a prepared statement by binding PHP variables */
$username = "mydb";
$password = "mydb";
$member = $_SESSION['SESS_MEMBER_ID'];
$listname = $_POST["listname"];
try {
$dbh = new PDO('mysql:;dbname=mydb', $username, $password);
$sth = $dbh->prepare('INSERT INTO lists VALUES (:member_id, :listname)');
$sth->execute(array(':member_id' => $member, ':listname' => $listname));
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();}
?>
我目前在第五行遇到错误
Undefined variable: _SESSION in /home/danu2_cj3/public_html/add_list.php on line 5
如何识别 session 变量?
这是我在其中设置 session 的登录代码的一部分
if($result) {
if(mysql_num_rows($result) == 1) {
//Login Successful
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
$_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
session_write_close();
header("location: lists.php");
exit();
}else {
//Login failed
header("location: login-failed.php");
exit();
}
最佳答案
消息的形式:
Undefined variable: _SESSION ...
通常是由于脚本开头缺少 session_start
调用(在发送 header 之前以及在尝试访问 $_SESSION
键之前)引起的完成)。
I have tried that but it just give me a blank page and does not add it to the table.
那么,这意味着你至少已经解决了上述问题。对于空白页,您应该搜索 white screen of death ,这里有详细记录,它是 PHP 环境中最常见的问题之一。
关于php - 使用 session 和带有 PDO 的表单向 mySQL 添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16038031/