В моем индексном PHP-файле у меня есть этот простой код:
<?php
$enterprisecookie = "enterprise";
$personalcookie = "personal";
switch(!isset($_COOKIE)) {
case $enterprisecookie:
include 'enterprise.php';
break;
case $personalcookie:
include 'personal.php';
break;
default:
include 'portal.php';
}
?>
Идея проста: когда этот файл cookie существует, вы переходите на эту домашнюю страницу, а если у вас его нет, вы переходите на «портал», который устанавливает файл cookie.
так что это мои кнопки, которые устанавливает печенье
<a href="index.php"class="link"onClick="SetCookieper('personal','personal','1')"><button class="per"><h1>
personal</h1>
<p>texttexttext</p> </a>
<a href="index.php" class="link"onClick="SetCookieent('enterprise','enteprise','1')"><button class="ent">
<h1>
enterprise</h1>
<p>textexttext</p>
</button></a>
<script> function SetCookieper(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}
function SetCookieent(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}</script>
файлы cookie устанавливаются, но страница все равно будет переходить на страницу портала, совет?
Вы можете использовать один Cookie, где вы устанавливаете режим, давайте назовем его «режим страницы».
тогда вы можете использовать переключатель следующим образом:
switch($_COOKIE['pagemode']){
case 'enterprise': include 'enterprise.php'; break;
case 'personal': include 'personal.php'; break;
default: include 'portal.php';
}
Если вам действительно нужны 2 файла cookie с разными именами, используйте оператор if-ifelse-else:
if(isset($_COOKIE['enterprise'])){
include 'enterprise.php';
} else if(isset($_COOKIE['personal'])){
include 'personal.php';
} else {
include 'portal.php';
}
Если вы хотите использовать первый метод (один файл cookie, сохраняющий режим домашней страницы), вы можете установить файл cookie следующим образом:
<a href="index.php"class="link"onClick="SetCookie('pagemode','personal',1)"><button class="per"><h1>
personal</h1>
<p>texttexttext</p> </a>
<a href="index.php" class="link"onClick="SetCookie('pagemode','enterprise',1)"><button class="ent">
<h1>
enterprise</h1>
<p>textexttext</p>
</button></a>
<script>
function SetCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
</script>
Проверка переключателя недействительна, вам нужно передать параметр для проверки, а не весь массив $ _COOKIE.
По сути, вам нужно иметь один и тот же ключ для обоих файлов cookie и сравнивать значения вместо сравнения имени ключа, то есть если вы хотите использовать оператор switch.
Или вы можете просто использовать простую if elseif else
чтобы все было проще.