Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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/MySQLi联系人表单无法与$\u POST一起使用_Php_Html_Mysqli_Prepared Statement - Fatal编程技术网

PHP/MySQLi联系人表单无法与$\u POST一起使用

PHP/MySQLi联系人表单无法与$\u POST一起使用,php,html,mysqli,prepared-statement,Php,Html,Mysqli,Prepared Statement,因此,当我将测试值放入php文件中时,我的表单似乎可以工作,如下所示: $name = 'name'; $email = 'test@gmail.com'; $telephone = '123456789'; $message = 'test message'; 但是,当我用php_POST替换测试值时,如下所示: $name = $_POST['name'] 一切似乎都破裂了,我不知道为什么 在contact.html文件中获得了一个非常简单的contact-us表单设置: <di

因此,当我将测试值放入php文件中时,我的表单似乎可以工作,如下所示:

$name = 'name';
$email = 'test@gmail.com';
$telephone = '123456789';
$message = 'test message';
但是,当我用php_POST替换测试值时,如下所示:

 $name = $_POST['name']
一切似乎都破裂了,我不知道为什么

在contact.html文件中获得了一个非常简单的contact-us表单设置:

<div class="container-fluid">
    <div class="row">            
        <div class="col-xs-12 col-sm-9 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-8 col-lg-offset-2">
            <div class="form-header">
                <h8>CONTACT US FORM</h8>
            </div>

            <form method="post" action="php/contact.php">
                <div class="row">
                    <div class="form-group col-xs-4 col-sm-4 col-md-4 col-lg-4">
                        <label>Name:</label>
                        <input type="text" name="name" class="form-control" onchange="capitalise()">
                    </div>
                    <div class="form-group col-xs-4 col-sm-4 col-md-4 col-lg-4">
                        <label>Email Address:</label>
                        <input type="email" class="form-control" name="email">
                    </div>
                    <div class="form-group col-xs-4 col-sm-4 col-md-4 col-lg-4">
                        <label>Phone Number:</label>
                        <input type="tel" class="form-control" name="tel">
                    </div>

                    <div class="clearfix"></div>

                    <div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12">
                        <label>Message:</label>
                        <textarea class="form-control" rows="6"></textarea>
                    </div>
                    <div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12">
                        <input type="hidden" name="msg" value="contact">
                        <button type="submit" class="btn btn-default">Submit</button>
                    </div>
                </div>
            </form>
        </div>            
    </div>
</div>

联系我们表格
姓名:
电邮地址:
电话号码:
信息:
提交
下面是使用准备好的语句的PHP联系人表单

<?php

$servername = "*******";
$username = "********";
$password = "********";
$dbname = "*********";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error){
    die("Connection failed: " . $conn->connect_error);
}

$stmt = $conn -> prepare("INSERT INTO contact (name, email, telephone, message) VALUES (?, ?, ?, ?)");
$stmt->bind_param("ssss", $name, $email, $telephone, $message);

$name = $_POST['name'];
$email = $_POST['email'];
$telephone = $_POST['tel'];
$message = $_POST['msg'];
$stmt->execute();

echo "New records created successfully";

$stmt->close();
$conn->close();

?>

在将变量插入绑定之前,您需要声明变量:

<?php
    $servername = "*******";
    $username = "********";
    $password = "********";
    $dbname = "*********";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Check connection
    if ($conn->connect_error){
        die("Connection failed: " . $conn->connect_error);
    }

    $stmt = $conn -> prepare("INSERT INTO contact (name, email, telephone, message) VALUES (?, ?, ?, ?)");

    $name = $_POST['name'];
    $email = $_POST['email'];
    $telephone = $_POST['tel'];
    $message = $_POST['msg'];

    $stmt->bind_param("ssss", $name, $email, $telephone, $message);

    $stmt->execute();

    echo "New records created successfully";

    $stmt->close();
    $conn->close();
?>


定义“一切似乎都破裂了”。有错误吗?意外的结果?还有什么吗?尝试将POST数组/变量放在查询上方。使用错误报告并检查查询中的错误;你没那么做。使用条件语句检查isset/empty。在传递给函数之前,未定义变量。您确定没有收到任何错误吗?顺便说一句,
onchange=“capitalize()”
建议您正在使用JS,这可能是造成此问题的原因,并且不知道是否与此相关。为帮助伙伴干杯!现在工作很好。看到一个被不公正地接受的错误答案总是很有趣的。答案怎么会错呢?它解决了OP的问题。更有趣的是,我想说,看到一个不公正的批评而没有任何批评。