繁体   English   中英

使用会话和带有PDO的表单向mySQL添加行

[英]Adding a row to mySQL using a session and a form with PDO

我正在尝试向我的数据库中的表添加一个新行,表中只有两列,我使用表单来获取其中一个字段。 这是我正在使用的表格

<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

如何识别会话变量?

这是我设置会话的登录代码的一部分

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调用(在发送标头之前和完成任何访问$_SESSION键的尝试之前)。


我试过了,但它只给了我一个空白页面,并没有将它添加到表格中。

那么,这意味着你至少解决了上述问题。 对于空白页面,您应该搜索死亡的白屏 ,这在这里被充分记录为PHP环境中最常见的问题之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM