Php 如果(isset)$\u故障后

Php 如果(isset)$\u故障后,php,Php,我真的在努力解决这个问题,我已经尝试了所有我能找到的关于这个问题的youtube/google页面,似乎没有什么能解决这个问题 单击“提交”时,数据库仅收集“idContactForm”,而不收集其余名称/电子邮件/主题/消息 我已经尝试了使用ifisset$\u POST行可以找到的所有内容,但我似乎总是得到未定义的索引:$name/$email/$subject/$message上的错误 我做错了什么 <?php include 'config.php'; if

我真的在努力解决这个问题,我已经尝试了所有我能找到的关于这个问题的youtube/google页面,似乎没有什么能解决这个问题

单击“提交”时,数据库仅收集“idContactForm”,而不收集其余名称/电子邮件/主题/消息

我已经尝试了使用ifisset$\u POST行可以找到的所有内容,但我似乎总是得到未定义的索引:$name/$email/$subject/$message上的错误

我做错了什么

 <?php

    include 'config.php';

    if (!isset($_POST['submitted'])) {

        $name = trim(mysqli_escape_string($conn,$_POST['Name']));
        $email = trim(mysqli_escape_string($conn,$_POST['Email']));
        $subject = trim(mysqli_escape_string($conn,$_POST['Subject']));
        $message = trim(mysqli_escape_string($conn,$_POST['Message']));

    } else {
    ## connect mysql server
        $mysqli = new mysqli('localhost', 'root', '******', 'tomepublications');
        # check connection
        if ($mysqli->connect_errno) {
            echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
            exit();
        }


            # insert data into mysql database
            $sql = "INSERT  INTO `contactform` (`idContactForm`, `Name`, `Email`, `Subject`, `Message`) 
                    VALUES (NULL, '{$name}', '{$email}', '{$subject}', '{$message}')";

            if ($mysqli->query($sql)) {
                //echo "New Record has id ".$mysqli->insert_id;
                echo "<p>Registred successfully!</p>";
            } else {
                echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
                exit();
            }
        }

    ?>  
HTML


变量区分大小写。您的表单使用name=name,全部小写,但您的查找,$\u POST['name']大写N

变量区分大小写。您的表单使用name=name,全小写,但您的查找,$\u POST['name']大写N

如果您的if是错误的,$name、$email、$subject和$message不在else的范围内

<?php

include 'config.php';

if (isset($_POST['submitted'])) {

    ## connect mysql server
    $mysqli = new mysqli('localhost', 'root', '******', 'tomepublications');
    # check connection
    if ($mysqli->connect_errno) {
        echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
        exit();
    }

    $name = trim(mysqli_escape_string($conn,$_POST['name']));
    $email = trim(mysqli_escape_string($conn,$_POST['email']));
    $subject = trim(mysqli_escape_string($conn,$_POST['subject']));
    $message = trim(mysqli_escape_string($conn,$_POST['message']));


    # insert data into mysql database
    $sql = "INSERT  INTO `contactform` (`idContactForm`, `Name`, `Email`, `Subject`, `Message`) 
                VALUES (NULL, '{$name}', '{$email}', '{$subject}', '{$message}')";

        if ($mysqli->query($sql)) {
            //echo "New Record has id ".$mysqli->insert_id;
            echo "<p>Registred successfully!</p>";
        } else {
            echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
            exit();
        }
    }

?>  

您的if是错误的,$name、$email、$subject和$message不在else的范围内

<?php

include 'config.php';

if (isset($_POST['submitted'])) {

    ## connect mysql server
    $mysqli = new mysqli('localhost', 'root', '******', 'tomepublications');
    # check connection
    if ($mysqli->connect_errno) {
        echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
        exit();
    }

    $name = trim(mysqli_escape_string($conn,$_POST['name']));
    $email = trim(mysqli_escape_string($conn,$_POST['email']));
    $subject = trim(mysqli_escape_string($conn,$_POST['subject']));
    $message = trim(mysqli_escape_string($conn,$_POST['message']));


    # insert data into mysql database
    $sql = "INSERT  INTO `contactform` (`idContactForm`, `Name`, `Email`, `Subject`, `Message`) 
                VALUES (NULL, '{$name}', '{$email}', '{$subject}', '{$message}')";

        if ($mysqli->query($sql)) {
            //echo "New Record has id ".$mysqli->insert_id;
            echo "<p>Registred successfully!</p>";
        } else {
            echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
            exit();
        }
    }

?>  

在else块中构建SQL查询时,这些变量$name、$email、$subject、$message仍然没有定义。变量仅在if块中定义。

当在else块中构建SQL查询时,这些变量$name、$email、$subject、$message仍然未定义。变量只在if块中定义。

嗨,Dagon,Thanx对于快速回复,我现在已经将所有内容都改为小写,仍然给我相同的错误,问题的另一半由IAMFreehi Dagon回答,Thanx对于快速回复,我现在已经将所有内容改为小写,仍然给我相同的错误和IAMFreey回答的问题的另一半您必须在运行mysqli_escape_string之前连接到服务器您必须在运行mysqli_escape_string之前连接到服务器