로또645 관련 번호 갱신 주기 설정에 대해.. > 그누3질답

그누3질답

로또645 관련 번호 갱신 주기 설정에 대해.. 정보

그누보드 로또645 관련 번호 갱신 주기 설정에 대해..

본문

안녕하세요....  rang2ya입니다..


아래는 자작프로그램에 짱이님이 올려주신 로또645 번호 생성 소스입니다..

-------------------------------------------------------
<?
//Lotto645

$count = 6;
$min = 1;
$max = 45;

$numbers = array();
while(sizeof($numbers) < $count) {
    $i = rand($min, $max);
    if (in_array($i, $numbers)) continue;
    $numbers[] = $i;
}

sort($numbers);
for($i=0; $i < $count; $i++) {
$win = "<FONT COLOR=";
if($numbers[$i] < 11)      $win .= "#FF0000>";
else if($numbers[$i] < 21) $win .= "#FF8040>";
else if($numbers[$i] < 31) $win .= "#F0F000>";
else if($numbers[$i] < 41) $win .= "#0000FF>";
else                      $win .= "#008000>";
    if($i > 0) $win .= "&nbsp;";
    echo $win . $numbers[$i] . "</FONT>";
}
?>
----------------------------------------------------

이것을 달면 페이지가 갱신될 때마다 번호가 바뀌잖아요...

그걸 매주 토요일 저녁에 한번만 바뀌고 고정되게 하고 싶은데 잘 모르겠습니다..

힌트 좀 가르쳐 주시겠어요?...^^;
  • 복사

댓글 전체

위 소스에서 $today 를 $dayweek 로 변경해 보심이...

또는 위 소스에서 하단의 echo lotto645(); 부분을 삭제 하신 후 소스를 별도의 파일(예. lotto645.php)로 저장후 로또번호를 표시할 부분에
<? include "lotto645.php"; ?><?=lotto645();?> 이렇게 하여 불러와 보심이...

그래도 마찬가지라면 위 소스를 제거후 실행 해 보시고...
위 소스만 별도로 실행해 보시고...

그래도 안된다면 저도 할 방법이 없지요~~

그럼.
짱이님 답변에 정말 감사드립니다.....

그런데 이런 오류가 나오네요..
-----------------------
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/gnu3/head.sub.php:32) in /var/www/html/gnu3/head.php on line 210
------------------------

head.sub.php의 32라인은 <title><?=$html_title?></title>  이고
head.php의 210라인은 setcookie("Lotto645", "Sat." . $win, time()+$daytime);    입니다..

무엇이 문제인지요..
소스를 아래와 같이 쿠키를 이용하여 약간 수정을 했습니다.
- 아 래 -
<?
// Lotto645 by http://qbike.co.kr
// 쿠키값이 경과 했거나 오늘이 일요일 이면 재 셋팅
function lotto645($count = 6, $min = 1, $max = 45) {
    $today = date("D");
    if($_COOKIE["Lotto645"]) {
          $lotto = explode(".",$_COOKIE["Lotto645"]);
          return($lotto[1]);
          exit;
    }
    else if(!$_COOKIE["Lotto645"] && $today = "Sun") {
          $numbers = array();
          while(count($numbers) < $count) {
          $i = rand($min, $max);
          if (in_array($i, $numbers)) continue;
          $numbers[] = $i;
          }
          sort($numbers);
          for($i=0; $i < $count; $i++) {
          $win .= "<FONT COLOR=";
          if($numbers[$i] < 11)      $win .= "#FF0000>";
          else if($numbers[$i] < 21) $win .= "#FF8040>";
          else if($numbers[$i] < 31) $win .= "#E7BD18>";
          else if($numbers[$i] < 41) $win .= "#0000FF>";
          else                      $win .= "#008000>";
          if($i > 0) $win .= "&nbsp;";
          $win .= $numbers[$i] . "</FONT>";
          }

          switch ($today) {
              case "Sun" : $daytime = 86400 * 7; break; // 60*60*24 * 7일
              case "Mon" : $daytime = 86400 * 6; break;
              case "Tue" : $daytime = 86400 * 5; break;
              case "Wed" : $daytime = 86400 * 4; break;
              case "Thu" : $daytime = 86400 * 3; break;
              case "Fri" : $daytime = 86400 * 2; break;
              case "Sat" : $daytime = 86400 * 1; break;
          }
             
          setcookie("Lotto645", "Sat." . $win, time()+$daytime);
          return($win);
    }
}
echo lotto645();
?>

테스트는 많이 하지 못했습니다. 문제점 있으면 연락주시기 바랍니다.
© SIRSOFT
현재 페이지 제일 처음으로