簡體   English   中英

為什么我的HTML表單不將數據提交到MySQL數據庫?

[英]Why doesn't my HTML form submit data to MySQL database?

我有兩個.php文件。 第一個文件是contact.php,其中包含一個聯系表單,另一個文件是contact_form.php,其中包含將數據發送到數據庫的SQL和PHP語句。 我的contact_form.php文件和數據庫之間建立了成功連接; 但是,每當我在本地主機上的HTML表單內編寫信息並執行“提交”時,都會出現以下錯誤:

錯誤:找不到文件:views \\ home \\ contact_form.php.php

我有兩個問題:

1)我的contact_form.php文件與我的contact.php文件位於同一目錄中,即** views \\ home **,那么為什么會給我一個錯誤,提示它無法在該目錄中找到該文件?

2)為什么在錯誤消息中我的contact_form.php文件具有其他.php結尾?

contact.php的代碼:

<form class="well" id="contactForm" name="sendMsg" novalidate="" action="contact_form.php" method="post">
        <div class="control-group">
            <div class="controls">
                <input class="form-control" name="fullname" id="name" type="text" placeholder="Full Name" required="" data-validation-required-message="Please enter your name" />
            </div>
        </div>
        <div class="control-group">
            <div class="controls">
                <input class="form-control" name="phonenumber" id="phone" type="text" placeholder="Phone Number" required="" data-validation-required-message="Please enter your phone number" />
            </div>
        </div>
        <div class="control-group">
            <div class="controls">
                <input class="form-control" name="emailaddress" id="email-address" type="email" placeholder="Email Address" required="" data-validation-required-message="Please enter your email" />
            </div>
        </div>
        <div class="control-group">
            <div class="controls">
                <textarea rows="6" class="form-control" name="message" id="msg" type="msg" placeholder="Enter detailed question/concern, and we will get back to you." required="" data-validation-required-message="Please enter your question/concern"></textarea>
            </div>
        </div>
        <div class="control-group">
            <div class="controls submit-btn">
                <button class="btn btn-primary" type="submit" value="Submit">Submit</button>
            </div>
        </div>
    </form>
</div>

contact_form.php:

<?php

define('DB_NAME', 'database_db');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');

$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);

if(!$connection){
die('Database connection failed: ' . mysqli_connect_error());
}

$db_selected = mysqli_select_db($connection, DB_NAME);

if(!$db_selected){
die('Can\'t use ' .DB_NAME . ' : ' . mysqli_connect_error());
}

echo 'Connected successfully';

$name = @$_POST ['fullname'];
$phone = @$_POST ['phonenumber'];
$email = @$_POST ['emailaddress'];
$msg = @$_POST ['message'];

$sql = "INSERT INTO contact_form (fullname, phonenumber, emailaddress, message) VALUES ('$name',   '$phone', '$email', '$msg')";

if (!mysqli_query($connection, $sql)){
die('Error: ' . mysqli_connect_error($connection));
}
?>

我知道SQL注入,一旦發現一切工作正常,便會對其進行處理。

的.htaccess

# EmagidPHP .htaccess
# Every website must have this file in its root web folder

Options +FollowSymlinks
RewriteEngine on

# Apache must be compiled with gzip or deflate for transmission
# compression to work for the following file types
# AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml
# AddOutputFilterByType DEFLATE application/x-javascript
# application/javascript text/javascript text/x-js text/x-javascript
# AddOutputFilter DEFLATE js css htm html xml

# Missing favicon should not cause SkyPHP to load
RewriteRule ^favicon\.ico - [L]

# If the requested file or folder is not found, SkyPHP will check multiple codebases for the   correct file
# Also, we are blocking php files that are in the pages folder from being accessed directly
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} /pages/(.*)\.php$
RewriteRule ^(.+)$ /mywebsite/index.php/$1 [L]

似乎是某些內容(很可能是.htaccess)正在重寫您的URL。 也許是故意這樣做的,例如,將/home URL實際轉到/home.php 在這種情況下,您需要相應地修改表單操作:

action="contact_form"

UPDATE

絕對是htaccess。 最后三行。 我不認為這與您在問題中所顯示的相符。 因此,如果您絕對不使用這種重定向,請隨時注釋掉或刪除這三行(然后無需更改操作url)。 否則,我最初建議的應該起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM