Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未定义变量PHP+;MySQL_Php_Mysql_Database_Global Variables_Undefined - Fatal编程技术网

未定义变量PHP+;MySQL

未定义变量PHP+;MySQL,php,mysql,database,global-variables,undefined,Php,Mysql,Database,Global Variables,Undefined,我知道stackoverflow不赞成重复提问,但请容忍我,因为我浏览了许多类似的问题,但没有找到对我有帮助的具体解决方案。(他们大多提到避免数据库插入) 我遇到以下错误消息: here db connection success Notice: Undefined variable: firstname in C:\xampp\htdocs\practice_connection_app\submit.php on line 10 Notice: Undefined variable: l

我知道stackoverflow不赞成重复提问,但请容忍我,因为我浏览了许多类似的问题,但没有找到对我有帮助的具体解决方案。(他们大多提到避免数据库插入)

我遇到以下错误消息:

here db connection success
Notice: Undefined variable: firstname in  C:\xampp\htdocs\practice_connection_app\submit.php on line 10

Notice: Undefined variable: lastname in  C:\xampp\htdocs\practice_connection_app\submit.php on line 10

Notice: Undefined variable: conn in   C:\xampp\htdocs\practice_connection_app\submit.php on line 11

Fatal error: Call to a member function exec() on null in C:\xampp\htdocs\practice_connection_app\submit.php on line 11
第一个结果只是显示我已连接到使用phpMyadmin创建的数据库

以下是我的相关代码(我的html提交页面调用php操作):


学生信息

在相应的框中输入您的名字和姓氏。
第一:
最后:
数据库连接(我想)


和我的php提交页面

<?php
echo 'here ';
    $dsn = 'mysql:host=localhost;dbname=practice_students';


    try {
        $db = new PDO($dsn);
        echo 'db connection success';
        $sql = "INSERT INTO people (firstname, lastname)
               VALUES ('$firstname', '$lastname')";
        $conn->exec($sql);
        echo "Now we know your name! Hi," . " " . $firstname . " " . $lastname;
    } catch (PDOException $e) {
        $error_message = $e->getMessage();
        include('database_error.php');
        exit();
    }
?>

不确定您一直在阅读哪本手册,最终以该代码结束

当然,在清理后,您需要访问POST变量(使用
$\u POST['firstname']

编辑:

要访问发布的变量,可以执行以下操作:

$firstname = $_POST['firstname'];
但您确实需要进行一些santization,您可以使用php的
filter\u var

$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);

不过,你可以做得更好,并且对你的过滤器/消毒剂的使用要求非常严格。。。在您的代码“正常工作”后,请调查此部分:)

1。您没有在任何地方创建db连接(
$conn
)-您希望如何使用它?2.在您的代码中,您从
$\u POST
中填充
$firstname
$lastname
的位置在哪里?我不太确定这是否正确,但我可能应该将此页添加到问题中:请不要在注释中转储代码,因为这几乎是不可能的破译。编辑原始问题以添加任何新信息。说。即使是这样也不安全!了解有关如何在我的php中合并“POST”方法的语句?我想这就是我感到困惑的地方。谢谢编辑答案,向您展示如何访问post Var。这将非常有用!您还提到了清理,我现在拥有的是数据库插入的风险吗?您拥有bomb.com的域吗?因为那就是你。哈哈,非常感谢!你不知道我在这上面花了多长时间。
$firstname = $_POST['firstname'];
$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);