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