2011-06-26 61 views
0

我又需要你的幫助......如何在db中添加新聞,並在顯示之後?這代碼好嗎?

我有這樣的PHP代碼:

<? 

if(isset($_POST['addnews'])){ 
$type = $_POST['type']; 
$news = $_POST['news']; 
$date = date("d-m-Y"); 
$memip = $_SERVER['REMOTE_ADDR']; 

if($news == NULL){ 
$final_report.= "ALERT - Please enter something in the field with the news!"; 
}else{ 
if($type = '' AND NULL){ 
$final_report.= "ALERT - Please choose something from the checklist or you will die in pain!"; 
}else{ 
$create_news = mysql_query("INSERT INTO `lisnews` (`id`,`type`,`news`,`date`,`ip`) VALUES('','$type','$news','$date','$memip')"); 
$final_report.="<meta http-equiv='Refresh' content='0; URL=../admin/add-news.php'/>"; 
}}} 

?> 

這種形式:

<div style="width:100%; text-align:left; overflow:visible; margin-top:11px; margin-bottom:7px;" id="regpage">   
<form action="" method="post"> 
<fieldset style="border:none;"> 

<label for="news" style="font-weight:normal;width:30%;float:left;display:block;"><p>this is the news field, you can write here:</p></label> 
<textarea rows="3" cols="104" name="news"></textarea></br></br> 

Choose news type: <select name="type" style="margin-top:5px;"> 
<option>1</option> 
<option>2</option> 
<option>2</option> 
</select> 

<input type="submit" name="addnews" value="add new news!" id="addnews" style="float:right; border:1px solid #999; background:#E4E4E4; 
margin-top:5px; padding-bottom:2px;"/> 

</fieldset> 
</form> 
</div> 

我要在數據庫中添加消息,後顯示他們在一個頁面上。 (如果你能幫助這個也將是非常從你很漂亮

問候

回答

1

首先,你忘了告訴的形式,其中發送的所有數據:。

<form action="" method="post"> 

你必須把你的後空引號之間張貼在PHP文件的位置「行動=」

現在,讓我們看看你的PHP。

首先,這如果s這裏的表演。

if($type = '' AND NULL) 

記住=是賦值運算符,而不是平等的經營者。它應該是$ type ==''。其次,我不認爲AND是有效的PHP語法。它應該是& &。第三,如果陳述永遠不會返回真實。爲什麼?

比方說,你有這樣的更正版本:

if($type == '' && NULL) 

在這種情況下,如果$ type是一個空字符串,如果NULL是真,這將返回true。但是對於PHP來說,NULL從來就不是真的。所以這個陳述永遠是錯誤的。也許你想要做的是檢查是否$型爲空或空,在這種情況下,語法是:

if($type == '' || $type == NULL) 

其次,什麼是與所有的else語句?如果這些陳述可能是真實的,那麼這是完全可能的。我認爲它應該是:

if($news == NULL){ 
    $final_report.= "ALERT - Please enter something in the field with the news!"; 
    if($type = '' AND NULL){ 
    $final_report.= "ALERT - Please choose something from the checklist or you will die in pain!"; 
    } 
}else{ 

此外,我不確定您可以使用。=運算符未初始化的變量。爲了安全起見,我會在代碼的開頭添加$ final_report =''。

最後,你有一個小錯誤在您的SQL:

"INSERT INTO `lisnews` (`id`,`type`,`news`,`date`,`ip`) VALUES('','$type','$news','$date','$memip')" 

列名不帶引號的SQL。它應該是:

"INSERT INTO lisnews (id,type,news,date,ip) VALUES('','$type','$news','$date','$memip')" 
相關問題