2012-09-05 51 views
0

我有PHP查詢到MSSQL數據庫。它看起來像這樣:PHP表格不重新發布

<?php 

    if (isset($_POST['form6'])) { 
     $Title=$_POST['Title']; 
     $Synopsis=$_POST['Synopsis']; 
     $Article=$_POST['Article']; 
     $DateUploaded= date("Y-m-d H:i:s"); 
     $Deleted=$_POST['Deleted']; 

     $myServer = "**********"; 
     $myUser = "**********"; 
     $myPass = "******"; 
     $myDB = "*********"; 

     $dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Couldn't connect to SQL Server on $myServer"); 
     mssql_select_db($myDB) or die; 

     $dbTABLE = "Tablename"; 
     $query_sql = sprintf("INSERT INTO %s (Title, Synopsis, Article, DateUploaded, Deleted) VALUES ('%s','%s','%s','%s','%s')", 
     addslashes($dbTABLE), 
     addslashes($Title), 
     addslashes($Synopsis), 
     addslashes($Article), 
     addslashes($DateUploaded), 
     addslashes($Deleted)); 

     if ($result = mssql_query($query_sql, $dbhandle)) { 
      print "Your information has been successfully added to the database."; 
      header('Location: News.php'); 
     } 
    } 
?> 

最初它是在一個單獨的PHP文件,並在表格的「動作」執行的原因。然而,爲了減少重定向的數量,我將它移動到了與表單相同的頁面,並且包含了如果在頂部的語句,試圖讓它在表單的後期執行(名爲form6)。

這裏是表格線:

<FORM method="post" name="form6" id="form6" ENCTYPE="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

然而這一切似乎做的是refesh頁面,並且沒有數據addded到數據庫中,並沒有撞到頭重定向到News.php 。

我也嘗試過沒有動作,結果相同。我的問題是爲什麼不這樣做,它擊中了PHP函數/查詢?

回答

3

你正在檢查這實際上從未在該行中有值<form元素:

if (isset($_POST['form6'])) 

您需要檢查的實際表單元素(輸入),看看是否發送數據。

您應該檢查$_POST['Title']之類的實際值以查看數據是否已從表單發送。

如果要包括表單名稱,使用隱藏域這樣的形式中:

<input type='hidden' name='form6' value='1'> 
+1

我suggect包括與名稱的隱藏字段「form6」 –

+1

@ZathrusWriter LOL,只是補充說,在編輯爲你寫的:) + 1爲同一列雖然! – Fluffeh

+0

1

您需要的形式提交按鈕,如:

<form method="post" name="form6" id="form6" ENCTYPE="multipart/form-data" action=""> 
    <input type="submit" name="formsubmit"/> 
</form> 

然後在PHP您檢查

if (isset($_POST['formsubmit'])) 
0

爲什麼你如果conditi檢查<Formname財產作爲

if (isset($_POST['form6'])) 

拆下,檢查像

if (isset($_POST['Title'])) 
1

另一種形式給出,不包括做特殊的隱藏字段:

添加 「form6」 到你的動作網址:

<FORM method="post" name="form6" id="form6" ENCTYPE="multipart/form-data" 
     action="<?php echo $_SERVER['PHP_SELF'].'?form6'; ?>"> 

如果您檢查表單名稱,請使用GET,但請記住,個其他值仍然在POST變量

if (isset($_GET['form6'])) {