使用重定向传递多个变量的语法错误

时间:2014-02-13 19:50:57

标签: php get

我有一个表单,用于从用户收集数据并将其插入到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

我做了几处改动,但我没有做任何工作。

我需要帮助才能正确使用语法。

5 个答案:

答案 0 :(得分: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 :(得分: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']}");

答案 2 :(得分: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']}");

答案 3 :(得分: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']
));

答案 4 :(得分:0)

如果您使用 get 方法,则每个人都可以看到数据库中所有用户的所有信息。 在这些情况下,我更喜欢使用会话:

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

echo $_SESSION['username'];

在serraRedirect1.php