2012-06-07 3 views
1

Когда люди посещают мой сайт, мне нужно, чтобы они щелкнули одно из двух состояний (NC или VA). В зависимости от того, какое состояние нажата, он перенаправит их на соответствующую страницу на моем сайте. После того, как cookie установлен, я хочу, чтобы они посетили сайт, и вместо того, чтобы снова задавать вопрос, он уже знает, чтобы отправить их на выбранную страницу (состояние). Я очень мало знаю о php ... достаточно, чтобы быть опасным, и любое направление, которое вы можете мне дать, будет оценено по достоинству.Как установить php cookie для перенаправления

+0

http://php.net/manual /en/function.setcookie.php – PeeHaa

ответ

2

Вы можете установить кук, как:

setcookie('state', $state, time() + (60 * 60 *24)); 

Предполагая $state либо «пс» или «в», это будет работать:

if(isset($_COOKIE['state'])) 
{ 
    if($_COOKIE['state'] == 'va') 
     header('Location: va/index.php'); 
    else if($_COOKIE['state'] == 'nc') 
     header('Location: vnc/index.php'); 
} 
else 
{ 
    // Make them choose again here. 
} 
+0

Спасибо. Но как код для cookie знает, какое состояние они выбрали? Я думаю, что я смущаюсь. <Идентификатор формы = "Form1" имя = "Form1" метод = "пост" действие = "">


<входной тип =" submit "name =" submit "id =" submit "value =" Submit "/>

dkype

+0

Вам необходимо изменить значение каждого флажка, чтобы представить требуемое значение. И затем вы можете получить к нему доступ через массив $ _POST. – BenM

+0

Благодарим вас за помощь. Я собираюсь поработать над этим днем, и мы увидим, как это происходит! – dkype

0

Вы должны взглянуть на этой функции PHP setcookie.

setcookie("state", "VA", time()+3600); 

Затем перенаправить с использованием заголовка местоположения.

header("Location: /"); 
0

На индексной странице

<?php 

if(isset($_COOKIE['state'])) 
{ 
    switch($_COOKIE['state']) 
    { 
     case "NC": 
     header('location: www.url.com/site1/'); 
     break; 

     case "VA": 
     header('location: www.url.com/site2/'); 
     break; 
    } 

} 
else 
{ 
    //Display site options 
} 

?> 

А на отдельных участках (EG www.url.com/site1/):

<?php 
if(!isset($_COOKIE['state'])) 
{ 
    setcookie('state', "NC" ,time() + (86400 * 7)); //valid for 7 days 
} 
?> 
+0

Спасибо. Если у меня есть две флажки, и они представляют свое состояние, как моя форма и файл cookie работают вместе? <Идентификатор формы = "Form1" имя = "Form1" метод = "пост" действие = "">


<входной тип =" submit "name =" submit "id =" submit "value =" Submit "/>

dkype

Смежные вопросы