2014-10-09 5 views
1

Я новичок в php. Я хочу перенаправить пользователя в определенную дату каждый месяц.Сравнить день с текущей даты и перенаправить страницу После сравнения

Я пробовал следующий код, но он не работает.

<? 
date_default_timezone_set('Asia/kolkata'); 

$date = date('Y-m-d'); 
$dateblock = date ('d', strtotime($date)); 

if ($dateblock ="2" || $dateblock ="5" || $dateblock ="9" || $dateblock ="11" || $dateblock ="13" || $dateblock ="16" || $dateblock ="18" || $dateblock ="21" || $dateblock ="23" || $dateblock ="25" || $dateblock ="27" || $dateblock ="29" || $dateblock ="30") { 

?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>404 Page Not Found</title> 
</head> 
<body> 

<center> 
    <img src="images/sorry.png" /> 
</center> 

</body> 
</html> 

    <?}else{ 

echo "Redirecting You..... Please Wait..."; 
header('Refresh: 3;url=pagexyz.php'); 

}?> 

В основном я хочу, чтобы показать pagexyz.php только на даты в месяц, за исключением дат, используемых в выше, если заявление.

Или

есть ли другой способ, чтобы скрыть pagexyz.php на конкретные даты в каждом месяце?

ответ

1

В качестве альтернативы, вы можете также использовать в in_array() функцию для этого:

<?php 
date_default_timezone_set('Asia/Kolkata'); 
          //^big letter K 
$date = date('Y-m-d'); 
$dateblock = date ('d', strtotime($date)); 
$restricted_days = array(2,5,9,11,13,16,18,21,23,29,30); 
?> 

<?php if(in_array($dateblock, $restricted_days)): ?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <title>404 Page Not Found</title> 
    </head> 
    <body> 

    <center> 
    <img src="images/sorry.png" /> 
    </center> 

    </body> 
</html> 
<?php else: ?> 
    <h1>Redirecting!! Please wait!!!</h1> 
    <meta http-equiv="refresh" content="3; url=http://www.google.com" /> 
<?php endif; ?> 
+0

да, она работала .... спасибо. Могу ли я узнать, какой фактор в моем коде создавал проблему? – chplab

+0

@chplab ошибка была на 'date_default_timezone_set()', ее строгая на значения внутри, так как вы ввели в нее маленькую букву 'k' внутри нее' Kolkata'. я включаю отчет об ошибках – Ghost

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