2014-02-13 22 views
0

我有一個從用戶收集數據並將它們插入到mySQL數據庫中的表單。我的問題是呈現使用重定向提交給用戶的數據。我創建了一個簡單的函數redirect_to($var1),它工作正常。使用重定向傳遞多個變量的語法錯誤

問題出現與此語法:

redirect_to("serraRedirect1.php?lastname=$_GET['lastname']&firstname=$_GET['firstname']&emailconf=$_GET['emailconf']&entree=$_GET['entree']&lastname2=$_GET['lastname2']&firstname2=$_GET['firstname2']&entree2=$_GET['entree2']&meal_cost=$_GET['meal_cost']"); 

該錯誤消息是'unexpected "' in line xxx

我做了幾處修改,但沒有做任何工作。

我需要幫助才能獲得正確的語法。

+1

穿上' 「'之前每個'$ _GET';並把'。」 ''']'' – cyadvert

回答

1

你忘了串聯..

做這樣

redirect_to("serraRedirect1.php?lastname=".$_GET['lastname']."&firstname=".$_GET['firstname']."&emailconf=".$_GET['emailconf']."&entree=".$_GET['entree']."&lastname2=".$_GET['lastname2']."&firstname2=".$_GET['firstname2']."&entree2=".$_GET['entree2']."&meal_cost=".$_GET['meal_cost']); 
1

如果是包括在雙引號字符串數組中的值,則需要將其包圍在大括號({}):

redirect_to("serraRedirect1.php?lastname={$_GET['lastname']}&firstname={$_GET['firstname']}&emailconf={$_GET['emailconf']}&entree={$_GET['entree']}&lastname2={$_GET['lastname2']}&firstname2={$_GET['firstname2']}&entree2={$_GET['entree2']}&meal_cost={$_GET['meal_cost']}"); 
0
redirect_to("serraRedirect1.php?lastname={$_GET['lastname']}&firstname={$_GET['firstname']}&emailconf={$_GET['emailconf']}&entree={$_GET['entree']}&lastname2={$_GET['lastname2']}&firstname2={$_GET['firstname2']}&entree2={$_GET['entree2']}&meal_cost={$_GET['meal_cost']}"); 
+1

第二個大括號是亂碼:'{$ _GET ['lastname'] {'=>'{$ _GET ['lastname']}' – Anonymous

+1

偉大的發現。 – 2014-02-13 19:58:01

0
redirect_to(sprintf("serraRedirect1.php?lastname=%s&firstname=%s&emailconf=%s&entree=%s&lastname2=%s&firstname2=%s&entree2=%s&meal_cost=%s", 
    $_GET['lastname'], $_GET['firstname'], $_GET['emailconf'], $_GET['entree'], $_GET['lastname2'], $_GET['firstname2'], $_GET['entree2'], $_GET['entree2'] 
)); 
0

如果您使用獲取方法,則每個人都可以看到數據庫中所有用戶的所有信息。 在這種情況下,我更喜歡使用會話:

$_SESSION['username'] = $username; 
redirect_to(.....); 

和:

echo $_SESSION['username']; 
在serraRedirect1.php