如何根据国家重定向完成的表单php

时间:2017-03-19 16:59:10

标签: php forms

我希望在根据访问者的国家/地区提交表单后重定向我的表单页面。如何设置用户重定向到的页面?

以下是我的示例代码:

if ($lang['COUNTRY'] =="United States")  <form action="US_Finish.php?&sessionid=<?php echo generateRandomString(115); ?>&securessl=true" method="post" name="us" id="us" class="proceed"> 
if ($lang['COUNTRY'] =="Australia")  <form action="AU_Finish.php?&sessionid=<?php echo generateRandomString(115); ?>&securessl=true" method="post" name="au" id="au" class="proceed"> 

3 个答案:

答案 0 :(得分:0)

就目前而言,您的代码不正确,因为您在没有分隔符的情况下混合使用PHP和HTML。

要回答你的问题,我会使用switch语句设置一个包含所需目的地的变量,如下所示:

switch ($lang['COUNTRY']) {
   case 'United States':
       $destination = 'US_Finish.php';
       break;
   // etc. as required
    default:
        $destination = 'some_other_page.php';
}

print '<form action="' . $destination . '" // ... (etc) ...

答案 1 :(得分:0)

您的代码格式不正确。它应该是这样的,如果你要使用它:

if ($lang['COUNTRY'] =="United States")  echo '<form action="US_Finish.php?&sessionid='.generateRandomString(115).'&securessl=true" method="post" name="us" id="us" class="proceed"><button type="submit">Submit form</button></form>';
if ($lang['COUNTRY'] =="Australia")  echo '<form action="AU_Finish.php?&sessionid='.generateRandomString(115).'&securessl=true" method="post" name="au" id="au" class="proceed"><button type="submit">Submit form</button></form>';

但这可能是出于示例目的...... 这是另一种方法:

$countries = [
    "Australia"=>"AU",
    "United States"=>"US"
];

$countryCode = $countries[$lang['COUNTRY']];

$form = '<form action="'.$countryCode.'_Finish.php?&sessionid='.generateRandomString(115).'&securessl=true" method="post" name="'.strtolower($countryCode).'" id="'.strtolower($countryCode).'" class="proceed"><button type="submit">Submit form</button></form>';
echo $form;

答案 2 :(得分:0)

将您的语言保存为按钮值,并且每个提交按钮应具有相同的名称,然后在控制器中(您发布表单数据),您将能够通过按钮值的值重定向特定语言

<?php if ($lang['COUNTRY'] =="United States"){ ?>
<form action="US_Finish.php?&sessionid=<?php echo generateRandomString(115); ?>&securessl=true" method="post" name="us" id="us" class="proceed">
 <button name="button" value="us" >Submit</button>  
</form>
<?php } else if($lang['COUNTRY'] =="Australia"){ ?>
  <form action="AU_Finish.php?&sessionid=<?php echo generateRandomString(115); ?>&securessl=true" method="post" name="au" id="au" class="proceed">
  <button name="button" value="au" >Submit</button> 
  </form>
<?php } ?>

在您发布获取发布数据和重定向页面的位置为$_POST['button']值。

<?php

if($_POST){
   if($_POST['button'] =='us'){
   // save posted info here

    redirect('us_page');

   }else if($_POST['button'] =='au'){
   // save posted info here

    redirect('au_page');

   }
}