2012-09-22 1 views
1

다음은 내 프로그램의 목표입니다.PHP의 연속적인 페이지 Releaods에 대한 정보 보유

  1. 나는 원할 때 5-6 개의 원이 빨간색과 초록색으로 표시됩니다.
  2. 언제든지 원을 클릭합니다. 색상이 파란색으로 바뀝니다.
  3. 그런 다음 페이지의 다른 원을 클릭하면 해당 색상도 파란색으로 변경되어야하며 이전에 클릭 한 원도 파란색으로 표시되어야합니다.
  4. 그래서 모든 서클을 하나씩 클릭하면 연속 된 페이지로드에서 모든 서클이 파란색으로 표시됩니다.
  5. 파란색 원을 클릭하면 원래 색이 표시됩니다.
  6. 이 루프는 페이지가 닫힐 때까지 계속됩니다.

이것은 내가 지금까지 한 것입니다.

define("SIZE", 5); //the no. of circles 

class redblock 
    { 
    var $color; 


     function set_color($data) 
    { 
     $this->color = $data; 
    } 
    function get_color() 
    { 
     return $this->color; 
    } 
    function image_source() 
    { 
     $rval2 = $this->get_color(); 
     echo $rval2; 
    } 
    function display_block() 
    { 
     $rval = $this->get_color(); 
     echo "<img src = '",$rval,"' width=120> </br> " ; 
     } 
} 

for ($i=0 ; $i < SIZE ; $i++) //INIT color blocks 

      { $rb[$i] = new redblock ; } 



for ($i=0 ; $i < SIZE ; $i++) //color set 
{ 
    if(!isset($_POST[$i.'form'])) 
    {  
     if ($i % 2 == 0) //even blocks are green 
      $rb[$i]->set_color("green.jpg"); 
     else     //odd blocks are red 
      $rb[$i]->set_color("red.jpg"); 
    } 
    if ($_POST[$i.'form'] == "blue.jpg") 
     $rb[$i]->set_color("blue.jpg"); 

    if(isset($_POST[$i.'form'])) 
     $rb[$i]->set_color("blue.jpg"); 
} ?> 



<?php 

// BOTH BLOCKS when clicked repeatedly should turn to white and fro. 

for ($i=0 ; $i < SIZE ; $i++) //display the blocks 
{ 
    echo "<form method ='post'>"; 
    echo "<input type = 'image' width='120' src ='",$rb[$i]->image_source(),"'>"; 
    echo "<input type='hidden' name='".$i,"form' value='",$rb[$i]-get_color(),"'>"; 
     echo "</form>"; 
    } 

?> 

이 코드에서 어떻게됩니까? 1. 서클 1을 클릭한다고 가정 해 보겠습니다. 파란색으로 변합니다. 2. 원 2를 클릭하면 파란색으로 바뀌지 만 원 1은 다시 녹색이됩니다. 나는 하나의 원이 푸른 색을 유지하기를 원한다.

올바른 코드를 입력하거나 올바른 방향으로 안내하십시오. 심지어 작은 도움이 크게 감사 할 것입니다.

저는 자바 스크립트에 대한 지식이 없습니다. PHP와 HTML/CSS 만 알고 있습니다.

감사합니다.

답변

1

$_SESSION 변수를 사용하거나 setcookie()을 사용하여 쿠키를 설정 한 다음 연속 된 페이지로드시 $ _COOKIE를 사용하여 검색 할 수 있습니다. 어느 쪽이든 값의 임시 저장 공간을 갖게됩니다. 세션이 브라우저를 닫은 후에 값을 사라지게하려면 이동하는 방법입니다. 쿠키는 사용자가 만료하거나 삭제할 때까지 지속됩니다.

+0

대단히 감사합니다. 나는 정말로 감사한다. –

+0

다행 이었기 때문에 기쁘다! – tdlm

1

$_SESSION을 사용하여 각 원의 상태를 저장하고 연속적인 페이지로드에 사용할 수 있습니다.

+0

고맙습니다. 저는 재학 중입니다. –

+0

이상한! 나는이 대답을 지우고 이것을 주석으로 달았습니다. 나는 그 변화가 어땠는지 궁금해. –