테스트 사이트 - 개발 중인 베타 버전입니다

php 이전 버전 스크립트 인데 swith 문 작동여부? 채택완료

안녕하세요?

php 이전 버전 스크립트 인데 swith 문이 작동하지 않습니다.

방명록 소스인데

글쓰기 버튼 등 쓰기, 수정, 삭제 기능이 작동하지 않습니다.

예제 사이트입니다.

http://dolsoft.dothome.co.kr/5202/guest/guest.php">http://dolsoft.dothome.co.kr/5202/guest/guest.php

무엇을 고쳐야 쓰기/수정 등이 작동할까요?

 

[code]

짝퉁-방명록 수정 및 스킨 v1.01 http://nunbina.ncafe.net/music/ooo.asf" loop="infinite">

////////////////////////////////////////////////////////// ///짝퉁-방명록 ///ver 1.00 ///2000년 9월 13일 수요일 오후 5:45:35 ///제작자: 최종찬(dream2u@hitel.net) ///홈페이지 : http://cnu.ac.kr/~channy /// ///짝퉁 방명록 Ver 1.01 ///ver 1.01 ///2000년 11월 9일 목요일 0시 5분 ///수정배포자 : 김호현(cldn@kebi.com) ///홈페이지:http://cldn.new21.org 글한마디로 남겨주떼염.. /// ///짝퉁 이미지 ////ver 1.01 ////2000년 11월 9일~~^^* ////배포자 : 눈비나(nunbina@hanmail.net) ////홈페이지 : http://nunbina.ncafe.net ////////////////////////////////////////////////////////////

include('./config.ccc');

switch($mode){

///입력하기/////////////////////     case 'input':                 echo "             

                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                  이름                                                                       
                                             
                                                 비밀번호                                                                       삭제나 수정시 비밀번호가 필요해요.                     
                                                 이메일                                                                                            
                                                 홈주소                                                                                            
                                                 내용                                                                                            
                                                                                                  
            ";             break;

    case "up":        //방명록을 쓰고 등록버튼을 눌렀을때             //입력내용 확인             if(!$name)             {                 echo "                                  ";                 exit;             }             if(!$comment)             {                 echo "                                  ";                 exit;             }

                         $query="INSERT INTO guest VALUES('', '$password', now(), '$REMOTE_ADDR', '$name', '$email', '$homepage', '$comment', '$reply')";             $result=mysqli_query($connect,$query);             if($result)             {                 echo "                 방명록에 글을 남기셨습니다....고맙습니다....                 4초후에 방명록으로 돌아갑니다                 

                방명록으로 돌아가기                                  ";             }             else             {                 echo "                                  ";             }             break;

///수정하기////////////////////////     case "edit":             $query="SELECT DATE_FORMAT(date,'Y.m.d. H:i:s'), no, ip, name, email, homepage, comment, password FROM guest WHERE no=$id";             $result=mysqli_query($connect,$query);

            $pass=mysql_result($result, 0, "password");             $homepage=mysql_result($result, 0, "homepage");             $name=mysql_result($result, 0, "name");             $email=mysql_result($result, 0, "email");             $comment=mysql_result($result, 0, "comment");

            echo "             

                                                                                                                                                                                                                                                                                                                                                                                                                                              
                                                      이름                                                                                                                     
                                                 비밀번호                                                                       삭제나 수정시 비밀번호가 필요해요.                     
                                                 이메일                                                                                            
                                                 홈주소                                                                                            
                                                 내용                                                                                            
                                                                                                                           
            ";             break;            

    case "editup":             $query="SELECT DATE_FORMAT(date,'Y.m.d. H:i:s'), no, ip, name, email, homepage, comment, password FROM guest WHERE no=$num";             $result=mysqli_query($connect,$query);             $pass=mysql_result($result, 0, "password");

            if($pass != $password2)             {                 echo "                                      ";             }else    {                 $query="UPDATE guest SET email='$email2', homepage='$homepage2', comment='$comment2' WHERE no=$num";                 $result=mysqli_query($connect,$query);                     echo "                         방명록 글을 수정하셨습니다....고맙습니다....                         4초후에 방명록으로 돌아갑니다

                        방명록으로 돌아가기                                              ";             }             break;

///지우기////////////////////     case "del":                  echo "                                          비밀번호를 입력하세요.

                    

                                                                                   ";             break;

    case "delup":             $query="SELECT * FROM guest WHERE no=$num";             $result=mysqli_query($connect, $query);             $password=mysql_result($result, 0, "password");         if(!$pass)         {             echo "                          ";         }else{

            if($pass==$password || $pass==$adminpass)             {                 $query="DELETE FROM guest WHERE no=$num";                 $result=mysqli_query($connect, $query);                 if($result)                 {                     $query="UPDATE guest SET no=no-1 WHERE no>$num";                     $result=mysqli_query($connect, $query);

                    echo "                     

                    발자취를 지웠습니다...                     4초후에 방명록으로 돌아갑니다

                    방명록으로 돌아가기                                          ";                 }             }             else             {                 echo "                                  ";             }         }         break;              ///댓글 달기/////////////////////////     case "reply":             $query="SELECT DATE_FORMAT(date, 'Y.m.d H:i:s'), no, ip, name, email, homepage, comment FROM guest WHERE no=$id";             $result=mysqli_query($connect, $query);

            $guest=mysqli_fetch_array($result);             $guest[comment]=nl2br($guest[comment]);             //번호와 이름, 날짜, ip표시하는 테이블             echo "             

                                                                                                             
                        No.                         $guest[no]                                                         $guest[name]                                              when: $guest[0]                                              where: $guest[ip]                     
";                          //방명록이 있는 부분..             echo "                                                                                                                                                                              
                                                    ";                         //홈페이지가 없는 사람인 경우                         if(!$guest[homepage])                         {echo " ";}                         else{                                     echo "                         $guest[homepage]";                         }             echo "                     
                                                   ";                         //email주소가 없는 사람인 경우                         if(!$guest[email])                         {echo " ";}                         else{                         echo "                              $guest[email]";                         }             echo "                     
                        
                            $guest[comment]                             

 

                                                                                      

                                                                                                                                                                                                                                                                                                                                                                                                                                                        
                                                                                 admin password:                                                                                                                   
                                        reply:                                                                                                                   
                                                                                                                                                                                                        
                            
                                                     
                    
            

            ";             break;

    case "replyup":

            if(!$reply)             {                 echo "                                      ";             }

            if($pass==$adminpass)             {                 $query="UPDATE guest SET reply='$reply' WHERE no=$num";                 $result=mysqli_query($connect, $query);                                  if($result)                 {                     echo "                     $num 번째 방명록에 댓글을 남기셨습니다....                     4초후에 방명록으로 돌아갑니다

                    방명록으로 돌아가기                                          ";                 }                 else                 {                     echo "                                          ";                 }             }             else             {                 echo "                                      ";             }             break;

///방명록 리스트///////////////////     default:    

            $query="SELECT DATE_FORMAT(date,'Y.m.d. H:i:s'), no, ip, name, email, homepage, comment, reply FROM guest ORDER BY date DESC";             $result=mysqli_query($connect,$query);             $num=mysqli_num_rows($result);

            if($num==0)//방명록이 없을 경우             {                     echo "                     

                                                                                                                                                                                                                       
                                    전체 0                                                                                                                                                                                                                                                               방명록쓰기                             

                                         현재 기록되어있는 방명록이 없습니다.

                    

                                                                                                                                                                                                                       
                                    전체 0                                                                                                                                                                                                                                                               방명록쓰기                             
                    ";             }else{

                    $total=mysqli_num_rows($result);

                    //first처음 시작  scale한페이지에 표시할 방명록갯수                     if(!$first)                     {$first=0;}                     $scale=10;

                    $next_page=($first+$scale);                     $prev_page=($first-$scale);

                    //다음페이지,이전페이지 링크                     echo "                     

                                                     
                  
댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

2002년 4월 22일, PHP v4.2 버전부터 php.ini - register_globals = Off 기본값으로 변경되었습니다. - https://www.php.net/manual/en/ini.core.php#ini.register-globals" target="_blank">https://www.php.net/manual/en/ini.core.php#ini.register-globals

아래 페이지 참고하면 됩니다. - https://www.php.net/manual/en/language.variables.external.php" target="_blank">https://www.php.net/manual/en/language.variables.external.php

 

switch($mode) → switch($_REQUEST['mode']) // GET, POST

 

$name → $_POST['name'] // 또는 $_REQUEST['name']

처럼 다른 변수도 마찬가지로 변경해주면 됩니다.

간단하게 URL을 통한 값은 $_GET, 폼(POST)을 통한 값은 $_POST,

또는 $_REQUEST 사용.

- https://www.php.net/manual/en/reserved.variables.request.php

 

include('./config.ccc'); → config.ccc의 확장자를 php로 변경하세요.

URL로 접속하면 해당 파일을 그대로 다운받을 수 있습니다.

DB 접속 정보가 노출되었으니 확장자 변경하고, 접속 정보도 변경하세요.

 

$PHP_SELF → $_SERVER['PHP_SELF']

$REMOTE_ADDR → $_SERVER['REMOTE_ADDR']

 

DB 접속은 mysqli_*() 함수로 잘 변경했는데, 질문의 소스에 mysql_*() 함수가 보이는군요.

얘네들도 변경해주면 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

네.. 만수킴님..

print_r2( $_GET["mode"] ); print_r2( $mode );

이것은 아예 되지 않습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

1. "mail.php3"가 존재하지 않는다고 나오네요.

2. switch 문은 문법적으로는 별 문제 없어 보입니다.

3. edit, del, rel, write 어떤 걸 눌러도 화면이 같습니다.    아래와 같이 로그를 찍어보시고 $mode에 값이 제대로 들어가는지 확인해보세요.

</p>

<p>include('./config.ccc');</p>

<p> </p>

<p> </p>

<p>                                 print_r2( $_GET["mode"] );</p>

<p>                                 print_r2( $mode );</p>

<p>switch($mode){</p>

<p>///입력하기/////////////////////</p>

<p>

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

mail.php 파일은 소스를 수정하였습니다. 메일창은 나옵니다.

edit, del, rel, write 이 기능이 작동하지 않아요........ 화면이 변동이 없어요..
print_r2( $_GET["mode"] );
print_r2( $mode );

이거 해보셨어요?
결과를 보여주세요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

© 2025 SIRSOFT. All rights reserved.