2011-01-11 34 views
2

下面是我的MySQL插入:PHP重定向後Mysql的插入

$sql="INSERT INTO gj (name, phone, city, zipcode, description, dateadded, website, address1, other2, payment_options, Products, email,cat1,cat2,cat3) 
    VALUES 
    ('$companyname','$phone','$city','$zipcode','$description',curdate(),'$website','$address','$other','$payment','$products','$email','$select1','$select2','$select3')"; 

    if (!mysql_query($sql,$link)) 
     { 
     die('Error: ' . mysql_error()); 
     } 
    echo "<br/><h2><font color='green' style='font-size:15px;float:right'>1 business added</font></h2>"; 

    mysql_close($link); 
} 

    ?> 

現在,而不是顯示「1個加業務」綠色,我想重定向回頁我之前。謝謝。

回答

4

如果你的腳本總是打算去同一個地方之後,你可以硬編碼位置。例如:

header("Location: http://www.example.com/"); 

注意,每RFC 2616(在HTTP/1.1規範)中,Location頭的值必須是絕對URI,而不僅僅是一個路徑。

如果你的腳本是爲特定目的而總是重定向到某個部分,但可能會有所不同,其具體的記錄都顯示出來,那麼你就可以將被張貼到腳本到URL中的數據。例如:

header("Location: http://www.example.com/widgets/" . urlencode($_POST['id'])); 

如果你的腳本有幾種不同的方式使用,那麼你可以沿着URL傳遞從頁面重定向到該職位,它在一個隱藏的表單字段,例如:

<input type="hidden" name="redirect-url" value="http://www.example.com/"> 

更一般地,您應該遵循Post/Redirect/Get pattern

0

我會做:

header('Location: ' . $_SERVER['HTTP_REFERER']); 

mysql_close($link); 
+0

我得到這個錯誤警告:不能更改頭信息 - 頭已經發出在/Users/Sites/gj/addbusiness.php(輸出開始/Users/Sites/gj/doctype.php:5)上線98。 ...和第98行是我把標題('位置....東西你剛纔給我的東西?有什麼我可能做錯了嗎? –

+0

位置可以設置爲任何網址。要設置頁眉或你會得到一個錯誤之前任何輸出到瀏覽器(包括空行未包裹)。 – dqhendricks

+0

是的,這個錯誤意味着你輸出的東西給你設定的頭之前的瀏覽器。不做這一點。 – dqhendricks

2

地址:查詢已完成

header("Location: page_you_want.php"); 

但任何事情之前是echo'ed。您只能使用上面的代碼,如果頭還沒有被髮送,包括HTML等

+0

這裏是我的代碼,但我仍然收到錯誤$ sql =「INSERT INTO gj(姓名,電話,城市,郵編,描述,dateadded,網站,address1,other2,payment_options,產品,電子郵件,cat1,cat2,cat3) \t \t VALUES \t \t( '$公司名稱', '$電話', '$城市', '$郵政編碼', '$說明',CURDATE(), '$網站', '$地址', '$其他',「$支付」, '$產品', '$電子郵件', '$選擇1', '$選擇2', '$選擇3')「; \t \t如果 \t \t { \t \t模( '錯誤:'(的mysql_query($的SQL,$鏈接)!)。mysql_error()); \t \t} \t \t mysql_close($ link); \t \t header('Location:'。$ _SERVER ['HTTP_REFERER']); \t} –