通過(guò)PHP收集表單數(shù)據(jù)存入mysql數(shù)據(jù)庫(kù)

作者博客:漂小泊的博客
作者主站:小泊隨記
原文地址:文章地址


小泊在升級(jí)官網(wǎng)(小泊隨記)的時(shí)候需要實(shí)現(xiàn)一個(gè)留言功能,為了能夠比較簡(jiǎn)單的將數(shù)據(jù)存入數(shù)據(jù)庫(kù),小泊就簡(jiǎn)單用了php的方法。下面具體說(shuō)說(shuō)遇到的問(wèn)題和解決辦法。

500 Internal Server Error錯(cuò)誤:

首先,將數(shù)據(jù)發(fā)送到php文件的時(shí)候,頁(yè)面報(bào)出了“500 Internal Server Error”錯(cuò)誤。小泊關(guān)于這個(gè)問(wèn)題在網(wǎng)上也搜了好多解決辦法,但是最后都沒有解決。

因?yàn)樾〔词褂玫陌⒗镌啤癊CS服務(wù)器windows系統(tǒng)”,所有不存在權(quán)限的問(wèn)題,關(guān)于一些php的配置也根據(jù)網(wǎng)友給出的解決辦法進(jìn)行配置了還是不行,最后小泊在運(yùn)行php.exe的時(shí)候,發(fā)現(xiàn)程序報(bào)錯(cuò)無(wú)法運(yùn)行,最后發(fā)現(xiàn)是因?yàn)槿鄙僖恍ヾll文件,導(dǎo)致php沒有正常的運(yùn)行,導(dǎo)致了500錯(cuò)誤。

這里小泊推薦一個(gè)dll文件修復(fù)工具“DirectXrepair”,百度下載即可。通過(guò)修復(fù)后,500錯(cuò)誤消失。

mysql和mysqli問(wèn)題

500錯(cuò)誤解決后,在進(jìn)行傳數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)頁(yè)面報(bào)錯(cuò),大體意思就是建議用mysqli或者pdo方法,然后根據(jù)報(bào)錯(cuò)進(jìn)行更改后,解決問(wèn)題。

這里要注意的是,mysql和mysqli語(yǔ)法差別還是很大的,所以一定要注意語(yǔ)法的正確使用。

表單提交跳轉(zhuǎn)不跳轉(zhuǎn)

因?yàn)槲沂窃诠倬W(wǎng)使用,所以不需要表單跳轉(zhuǎn)到官網(wǎng)之外的頁(yè)面,所以,在發(fā)送的時(shí)候,小泊用ajax發(fā)送的方式,沒有用表單傳統(tǒng)的發(fā)送方式。

mysql建表

這里小泊提醒大家建表一定注意主鍵的問(wèn)題,以及字段長(zhǎng)度。

代碼(跳轉(zhuǎn))

html表單

    <div class="inner columns divided">
                        <div class="span-3-25">
                            <form method="post" action="message/message.php">
                                <div class="field half">
                                    <label for="name">Name</label>
                                    <input type="text" name="name" id="name" />
                                </div>
                                <div class="field half">
                                    <label for="email">Email</label>
                                    <input type="email" name="email" id="email" />
                                </div>
                                <div class="field">
                                    <label for="message">Message</label>
                                    <textarea name="message" id="message" rows="4"></textarea>
                                </div>
                                <ul class="actions">
                                    <li><input type="submit" value="Send Message" class="button special" /></li>
                                </ul>
                            </form>
                        </div>

PHP

<?php
header('Content-Type: application/json');
header('Content-Type: text/html;charset=utf-8');
$con = mysqli_connect("localhost","root","adminroot123");
if($con){
echo "<br/>連接成功"."<br/>";
} else{
echo "<br/>連接失敗".mysql_error();
}
mysqli_select_db($con,"message");
$sql="INSERT INTO message_tal(name, email, message)
VALUES
('$_POST[name]','$_POST[email]','$_POST[message]')";
$res = mysqli_query($con,$sql);
if($res){
echo "<br/>插入成功";
} else {
echo "<br/>插入失敗";
}
echo "您的姓名是:".$_POST["name"]."<br/>";
echo "您的郵箱是:".$_POST["email"]."<br/>";
mysqli_close($con);
?>

代碼(不跳轉(zhuǎn))

html代碼

<div class="inner columns divided">
                        <div class="span-3-25">
                            <form action="">
                                <div class="field half">
                                    <label for="name">Name</label>
                                    <input type="text" name="name" id="name" />
                                </div>
                                <div class="field half">
                                    <label for="email">Email</label>
                                    <input type="email" name="email" id="email" />
                                </div>
                                <div class="field">
                                    <label for="message">Message</label>
                                    <textarea name="message" id="message" rows="4"></textarea>
                                </div>
                                <ul class="actions">
                                    <li><input id="sendBtn" value="Send Message" class="button special" /></li>
                                </ul>
                            </form>
                        </div>

js代碼

//表單
$("#sendBtn").bind("click", function () {
    var name = $('#name')[0].value;
    var email = $('#email')[0].value;
    var message = $('#message')[0].value;
    $.ajax({
        type: "post",
        url: "message.php",
        data: {name:name,email:email,message:message},
        success: function (result) {
            console.log(result); //返回結(jié)果
        }
    });
});

php代碼

<?php
header('Content-Type: application/json');
header('Content-Type: text/html;charset=utf-8');
$con = mysqli_connect("localhost","root","adminroot123");

mysqli_select_db($con,"message");
$sql="INSERT INTO message_tal(name, email, message)
VALUES
('$_POST[name]','$_POST[email]','$_POST[message]')";
$res = mysqli_query($con,$sql);
if($res){
echo $_POST['callback']."發(fā)送成功";
} else {
echo $_POST['callback']."發(fā)送失敗";
}
mysqli_close($con);
?>

這里小泊只是簡(jiǎn)單的寫了下功能,代碼相對(duì)比較簡(jiǎn)單。

聯(lián)系小泊

email:643209899@qq.com

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 上個(gè)星期我們小組完成了一個(gè)連接數(shù)據(jù)庫(kù)的小頁(yè)面,并且添加了增刪改的功能。 第一個(gè)是要連庫(kù)。下面是我連庫(kù)的代碼,其中我...
    諳逸binz閱讀 453評(píng)論 1 2
  • Php:腳本語(yǔ)言,網(wǎng)站建設(shè),服務(wù)器端運(yùn)行 PHP定義:一種服務(wù)器端的HTML腳本/編程語(yǔ)言,是一種簡(jiǎn)單的、面向?qū)ο?..
    廖馬兒閱讀 2,357評(píng)論 2 38
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 2,035評(píng)論 0 3
  • 這片云消失了 還會(huì)出現(xiàn)另一片 本就是虛妄的存在 在與不在 又有什么區(qū)別 可是啊 還是會(huì)欣喜 欣喜于,有一片云與你同...
    盲心橋閱讀 141評(píng)論 0 0
  • 紐崔萊使用心得大全,值得收藏! 中國(guó)奧委會(huì)市場(chǎng)開發(fā)部副主任力航先生,在安利年會(huì)上說(shuō)到:運(yùn)動(dòng)員使用的營(yíng)養(yǎng)食品,要嚴(yán)格...
    超涵天飛翔閱讀 511評(píng)論 0 0

友情鏈接更多精彩內(nèi)容