Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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_Mysqli - Fatal编程技术网

使用PHP将表单数据插入MYSQL数据库

使用PHP将表单数据插入MYSQL数据库,php,mysqli,Php,Mysqli,当从表单中按下“提交”按钮时,我无法将数据插入数据库。我想获取用户输入的值,并将这些值存储在我创建的表中 <?php if(isset($_POST['submit'])){ $email = $_POST['email']; $link = $_POST['link']; $email = $_POST['screenerAmount']; $minutes = $_POST['minutes'];

当从表单中按下“提交”按钮时,我无法将数据插入数据库。我想获取用户输入的值,并将这些值存储在我创建的表中

<?php 
    if(isset($_POST['submit'])){
        $email = $_POST['email'];
        $link = $_POST['link'];
        $email = $_POST['screenerAmount'];
        $minutes = $_POST['minutes'];
        $comments = $_POST['comments'];

        //insert into table

        $sql = "INSERT INTO test_myFilm (email, link, screeners, minutes, comments)
        VALUES ('$email', '$link','$screenerAmount', '$minutes','$comments')";

        if (mysqli_query($conn, $sql)) {
            header('Location: submit_ThankYou.php' );
             } else {
                echo "Error: " . $sql . "
        " . mysqli_error($conn);
            }
            mysqli_close($conn);
    }
?>

在提交页面中检查
$\u POST['submit']
时,将提交按钮更改为
input
。看看这是否适合你

<input type="submit" class="button_type" value="submit" name='submit'>Submit</input>
提交

感谢您的回复@sauhardnc。不幸的是,这对meThis不起作用
的作用与@kmoser的作用相同,但实际上并非如此。是的,他们都将提交表单,但
$\u POST['xyz']
不会给出任何值,因为它不是输入字段。@sauhardnc在POST消息中提供值不必是输入字段。@sauhardnc任何
具有
name
属性的
都将导致其
name
和值被发布,例如:
在功能上与
相同。您说您正在使用Javascript验证值,但没有显示该代码。请创建一个包含重现问题所需的所有内容的应用程序。听起来您的JavaScript正在阻止提交。请学习如何正确使用mysqli。更好的方法是学习PDO。在这里可以找到好文章:我相信这
e.preventDefault()阻止提交我将其复制到一个文件中,它对我有效。
const form = document.querySelector('.submit-film'); 
const emailPattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; 
const linkPattern = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/; 

form.addEventListener('submit', e=> {
    e.preventDefault(); 
    //validation

    const email = form.email.value; 
    if (emailPattern.test(email)){
        true; 
        console.log(form.email.value); 
    } else if (email === ""){
        alert("Please submit your email address so we can get in contact with you.")
        false; 
    } else {
        alert("You have entered an invalid email address!"); 
        false; 
    }

    const link = form.link.value; 
        if (linkPattern.test(link)){
            true; 
            console.log(form.link.value);
        } else if (link===""){
            alert ("Please input a link to your project. If you do not have a link to your project simply input 'no link'"); 
            false; 
        } else {
            alert("Please input a valid URL for your film. Youtube, Google Drive, and Vimeo work great. If you are still having trouble email contact@entholigy.com for help."); 
            false; 
        }

    const screenerAmount = form.screenerAmount.value; 
    if (screenerAmount==="" || screenerAmount.value === null){
        alert("Please let us know how many screeners you want."); 
    } else {
        console.log(form.screenerAmount.value); 
    }

    // const foo = form.foo.value;
    // console.log(foo);   

    const minutes = form.minutes.value; 
        if (minutes==="" || minutes.value === null){
            alert("Please let us know how long your film is (in minutes)"); 
        } else {
            console.log(form.minutes.value); 
    }

    console.log(form.comments.value); 

}); 

const now = new(Date); 
console.log(now);
<input type="submit" class="button_type" value="submit" name='submit'>Submit</input>