?php
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、潁東ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的潁東網(wǎng)站制作公司
$name=$_POST['user'];
$content=$_POST['post_contents'];
$conn=mysql_connect("localhost","admin","");
//做數(shù)據(jù)庫(kù)連接判斷
if(!$conn){
die("could?not?connect?to?the?database:/br".mysql_error());//診斷連接錯(cuò)誤
}
mysql_query("set?names?GB2312");//這里是names?不是?name
$db_selecct=mysql_select_db('gbook');//選擇數(shù)據(jù)庫(kù)
//選擇庫(kù)是不是成功了
if(!$db_selecct)
{
die("could?not?to?the?database/br".mysql_error());
}
//sql?語(yǔ)句中是字符串類型的外邊要加單引號(hào)
$exec="INSERT?INTO?contents(name,content)?VALUES('".$_POST['user']."','".$_POST['post_contents']."')";?
$result=mysql_query($exec);
//這里是判斷?$result?不是判斷$exec;
if($result)
echo?"添加留言成功,謝謝你的留言!"??;????????????????????????????
else?
echo?"添加留言失敗";????????????????????????????????????????
echo?"pa?href=index1.php?center返回主頁(yè)面/center/a";????????
mysql_close();?????????
?
這個(gè)報(bào)錯(cuò)不是什么大問(wèn)題,只是不良習(xí)慣造成的提示。關(guān)聯(lián)數(shù)組應(yīng)該使用如$_GET["name"]或者$_GET['name']這樣的表示方法,雖然php會(huì)在無(wú)法找到$_GET[name]時(shí)會(huì)自動(dòng)將其識(shí)別為$_GET中下標(biāo)為“name”的數(shù)組元素,但是會(huì)提示你上面的Notice信息。因此,正確的做法是為關(guān)聯(lián)數(shù)組加上單引或雙引號(hào)。
下面是摘自PHP中文手冊(cè)的解釋:
為什么 $foo[bar] 錯(cuò)了?
應(yīng)該始終在用字符串表示的數(shù)組索引上加上引號(hào)。例如用 $foo['bar'] 而不是 $foo[bar]。但是為什么 $foo[bar] 錯(cuò)了呢?可能在老的腳本中見(jiàn)過(guò)如下語(yǔ)法:
?php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?
這樣是錯(cuò)的,但可以正常運(yùn)行。那么為什么錯(cuò)了呢?原因是此代碼中有一個(gè)未定義的常量(bar)而不是字符串('bar'-注意引號(hào)),而
PHP 可能會(huì)在以后定義此常量,不幸的是你的代碼中有同樣的名字。它能運(yùn)行,是因?yàn)?PHP 自動(dòng)將裸字符串(沒(méi)有引號(hào)的字符串且不對(duì)應(yīng)于任何已知符號(hào))轉(zhuǎn)換成一個(gè)其值為該裸字符串的正常字符串。例如,如果沒(méi)有常量定義為 bar,PHP 將把它替代為 'bar' 并使用之。
你老師這樣教學(xué)生的話,?可以說(shuō)是在誤人子弟!
剛學(xué)都那么偷懶,?巴不得一個(gè)網(wǎng)站就寫(xiě)一個(gè)字母就搞定是吧?
你開(kāi)始的問(wèn)題, 截的那張圖來(lái)看, 好像是php沒(méi)有被解析!
然后, 看你開(kāi)頭的是寫(xiě)的php短標(biāo)簽 ? 而不是長(zhǎng)標(biāo)簽?php
那么, 你確定你的php運(yùn)行環(huán)境支持?這種短標(biāo)簽嗎???
接下來(lái)的問(wèn)題, 錯(cuò)誤提示你是sql語(yǔ)法有錯(cuò)誤!
conn.php
?php?
//下面幾個(gè)變量,?雙引號(hào)內(nèi)沒(méi)有使用變量,?那就不要用雙引號(hào),?改用單引號(hào),?有利于php程序運(yùn)行效率,?新手都要養(yǎng)成一好習(xí)慣
$hostname?=?'localhost';??//mysql默認(rèn)端口是3306,?除非你改動(dòng)了mysql端口,?否則沒(méi)必要畫(huà)蛇添足的加什么端口號(hào)
$database?=?'test';?
$username?=?'root';?
$password?=?'';
$conn?=?mysql_connect($hostname,?$username,?$password)?or?trigger_error(mysql_error()?,?E_USER_ERROR);
mysql_select_db($database,?$conn)?or?die(mysql_error());
//$db?=?mysql_select_db($database,?$conn);?上面已經(jīng)選擇數(shù)據(jù)庫(kù)了,?沒(méi)必要這里再選擇一次,?更沒(méi)必要賦值給變量?$db,?因?yàn)檫@個(gè)變量以后用不到了,?何必弄在哪里占個(gè)內(nèi)存呢?
//下面的php結(jié)束標(biāo)簽頁(yè)不要了,?因?yàn)槟阒鬀](méi)有其他非php代碼,?可以省略
?php?//這里用長(zhǎng)標(biāo)簽,?因?yàn)殚L(zhǎng)標(biāo)簽只要是支持php就支持,?但短標(biāo)簽不一定,?要配置php.ini才可以,?雖然大部分服務(wù)器都支持段標(biāo)簽,?但無(wú)非就多3個(gè)字母,?沒(méi)必要冒險(xiǎn)!
include?'conn.php';//調(diào)用conn.php文件,用于連接到數(shù)據(jù)庫(kù)
//連續(xù)的php代碼,?沒(méi)必要弄好幾個(gè)標(biāo)簽來(lái)分開(kāi),?可以接著寫(xiě)
//下面獲取post數(shù)據(jù),?最好是加上引號(hào),?否則php會(huì)把title當(dāng)做常量查找一次,?不利于優(yōu)化,?這是大忌
$title????=?$_POST['title'];?//這果申請(qǐng)一$title變量用于保存從add_news.php傳過(guò)來(lái)的新聞標(biāo)題title值.
$content??=?$_POST['content'];?//同上,保存新聞內(nèi)容值.
$add_time?=?date('Y-m-d');//這句話把獲取到的系統(tǒng)當(dāng)前時(shí)間賦給變量$add_time
$sql??????=?"INSERT?INTO?`news`?(`title`,?`content`,?`add_time`?)?VALUES?('{$title}','{$content}','{$add_time}')";?//這里就可以用雙引號(hào)了,?因?yàn)槔锩嬗昧俗兞浚?試php能解析變量
//盡量少用@這個(gè)錯(cuò)誤抑止符,?因?yàn)檫@樣開(kāi)銷會(huì)很大很大
$result?=?mysql_query($sql,$conn)?or?die(mysql_error());?//如果添加成功,返回真給$result?,否則為false.
echo?$result???'添加新聞成功,a?href="add_news.php"返回繼續(xù)/a'?:?'添加新聞失敗,a?href="add_news.php"請(qǐng)返回/a';
//上面是三元運(yùn)算,?效果等同于?if(?)?{?}?else?{?},?但語(yǔ)法更簡(jiǎn)潔清晰!
名稱欄目:php表單提交數(shù)據(jù)出錯(cuò) php提交表單數(shù)據(jù)有哪幾種方法
URL分享:http://muchs.cn/article6/ddccoog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、靜態(tài)網(wǎng)站、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)