HTML 소스입력 전용 textarea




이하 HTML 내용은 미리보기를 통해서 소스보기 하세요 ^^

try catch?? js ???

송효진

php5 에 Exception 이라는 try catch 구문이 있습니다.
하지만 단순히 try { } catch(e) { } 로 사용할 수가 없네요.
클래스를 만들어서 catch 쪽으로 throw 해야 하는것 같군요.
실제적인 ‘감지’ 기능을 못하는것 같습니다.

그래서 ‘감지’가 가능한 함수를 제작했습니다.

include ‘debug.inc’;
SHJTry([감지에러레벨]);
코드
if(false !== ($err = SHJCatch())) {
에러시 코드
}

로 사용하면 됩니다.

debug.inc
/* Debug */
if(!isset($_DEBUG)) {
$_DEBUG = false;
}

$_TRYCATCH = false;
$_ERROR = false;

function SHJErrorHandler($errno, $errstr, $errfile, $errline)
{
global $_DEBUG, $_TRYCATCH, $_ERROR;
$errname = array(E_ERROR => ‘ERROR’, E_WARNING => ‘WARNING’, E_NOTICE => ‘NOTICE’);

switch($errno) {
case E_ERROR:
case E_WARNING:
if($errstr == ‘Division by zero’) {
break;
}
case E_NOTICE:
if($_TRYCATCH & $errno) {
$_ERROR[‘no’] = $errno;
$_ERROR[‘str’] = $errstr;
$_TRYCATCH = false;
} else {
echo “

<br /> &#8220;;<br /> echo $errname[$errno].&#8217; : &#8216;.$errstr.&#8217; : &#8216;.$errfile.&#8217; : &#8216;.$errline.&#8221;<br /> &#8220;;<br /> if($_DEBUG) {<br /> print_r(debug_backtrace());<br /> }<br /> echo &#8220;<br /> “;
if($_DEBUG) {
exit;
}
}
}
}

function SHJTry($error_level = E_ALL)
{
global $_TRYCATCH;
$_TRYCATCH = $error_level;
}

function SHJCatch()
{
global $_TRYCATCH, $_ERROR;

$_TRYCATCH = false;

if(false !== $_ERROR) {
$err = $_ERROR;
$_ERROR = false;
return $err;
}

return false;
}

error_reporting(E_ALL);
set_error_handler(‘SHJErrorHandler’);

?>

test.php
include_once ‘func.inc’;
include_once “debug.inc”;

SHJTry();
$a = $b;
if(false !== ($err = SHJCatch())) {
echo ‘$a = $b 가 실패했습니다.
‘;
$b = ‘a’;
$a = $b;
echo ‘$b 에 a 를 넣고 $a 에 넣었습니다.
‘;
}

SHJTry();
$a = $b;
if(false !== ($err = SHJCatch())) {
echo ‘$a = $b 가 실패했습니다.
‘;
$b = ‘b’;
$a = $b;
echo ‘$b 에 b 를 넣고 $a 에 넣었습니다.
‘;
}

$a = $c;

?>

on event 마우스 좌표(ie,불여우)

파이어폭스, 넷스케이프 마우스 클릭 좌표…

이벤트 객체를
ie에선 전역객체로 사용하고
다른건 첫번째 인수로 보냅니다

말경주 소스(사다리타기)



Script Game ::: Race :::


말 갯수
초기속도
1
2
3




롤링배너 만들기 ^^ 디비 연동판 입니다

석이
http://netmask.co.kr

오래 되어서 우째 돌아가는지 잘 모르겠네요 php 안한지도 좀 된거 같고 ^^
약하지만 함 써보세요

제작자 김민석
kimms@wowtv.co.kr
msn minsouk@hotmail.com
0266760175

이정도만 하면 간단한거 다 만들수 있겠네요 그냥 심심하신분은 해보셔요
실제 wowmall.co.kr 이라는 홈페이지에서 돌리고 있는 소스 입니다.
저기 들어가시면 왼쪽에 있는 TV 모양 롤링 배너 입니다.

그리고 테이블 하나를 쪼개서 오른쪽에 한줄 공지 사항도 나오고 있습니다.
일부러 그렇게 해 놓은거니 -_- 뭐 디비가 L 자이니 뭐 이런소리 하지 마시길 ^^
데이터가 적으면 이렇게 쓰는게 더 좋은 겁니다.

======================================================================================================================
실제 홈페이지에서 부르는 페이지 입니다.
cat Ticker.php
======================================================================================================================

include (‘/서버어딘가있는 mysql연결자펑션path/m_config.php’);
ConnectDB();
dbconnect();

$q = “select msNo, msFilename, msFilesize, msLinkURL, msLinkContents, msActivate, msETC from msTicker where msActivate=’a’ order by msOrdering ASC”;
$result = mysql_query($q);
$msCount = mysql_affected_rows();
while(list($msNo, $msFilename, $msFilesize, $msLinkURL, $msLinkContents, $msActivate, $msETC)=mysql_fetch_array($result)){

$trans = array( “&”=>”&”,
“"”=>”””,
“‘”=>”‘”,
“<“=>”<",
“>”=>”>”);

$msLinkContents = strtr($msLinkContents, $trans);
$msLinkURL = strtr($msLinkURL, $trans);

?>
liveitems[k] = document.forms['ms'].elements['msText[]'][k].value;
} function scrollingLiveList(divlist) {
list = eval(divlist);
if (list[vtvi].style.pixelTop == 5) { //멈췄다가 다시 스크롤 되는 부분
//두개의 div를 모두 올린다.
list[0].style.pixelTop -= num;
list[1].style.pixelTop -= num;
setTimeout("scrollingLiveList(list)", waitingtime);
//다음 보여줄 div의 위치와 내용을 세팅한다.
tvi = (tvi < liveitems.length - 1) ? tvi+1 : 0 ;
if (vtvi == 0) {
vtvi = 1;
list[1].style.pixelTop = scrollerheight;
list[1].innerHTML = (tvi < liveitems.length) ? liveitems[tvi] : liveitems[0];
} else {
vtvi = 0;
list[0].style.pixelTop = scrollerheight;
list[0].innerHTML = (tvi < liveitems.length) ? liveitems[tvi] : liveitems[0];
}
} else { //스크롤 되는 부분
list[0].style.pixelTop -= num;
list[1].style.pixelTop -= num;
setTimeout("scrollingLiveList(list)", scrollspeed);
}
} function onmouse_event() {
num=0;
} function mouseout_event() {
num=1;
} function startLiveList() {
LiveList[0].innerHTML = liveitems[tvi];
scrollingLiveList(LiveList);
} window.onload = startLiveList;
//-->

======================================================================================================================
배너관리자모드 리스트
cat msTickerList.php
======================================================================================================================

$admin_id = $HTTP_POST_VARS[admin_id];
$name = “*******”;
$admin_pwd = $HTTP_POST_VARS[admin_pwd];
$passwd = “*********”;

if($name == $HTTP_COOKIE_VARS[admin_id]){
}else if($admin_id == “********” && $admin_pwd == “*********”){
setCookie(“BBSADMIN”,”ON”,”0″,”/”,”wowmall.co.kr”);
setCookie(“admin_id”,”$name”,”0″,”/”,”wowmall.co.kr”);
echo “

“;
}else{
if($name != $admin_id || $passwd != $admin_pwd){
echo “

“;
}else{// 정확한 사용자 ;
setCookie(“admin_id”,”$name”,”0″,”/”,”wowmall.co.kr”);
echo “

“;
}
}

?> include (‘/********************/m_config.php’);
ConnectDB();
dbconnect();

$q = “select msNo, msFilename, msFilesize, msLinkURL, msLinkContents, msActivate, msETC, msOrdering from msTicker order by msActivate, msOrdering”;
$result = mysql_query($q);
while(list($msNo, $msFilename, $msFilesize, $msLinkURL, $msLinkContents, $msActivate, $msETC, $msOrdering)=mysql_fetch_array($result)){

$trans = array( “&”=>”&”,
“"”=>”””,
“‘”=>”‘”,
“<“=>”<",
“>”=>”>”);

$msLinkContents = strtr($msLinkContents, $trans);
$msLinkURL = strtr($msLinkURL, $trans);

if ($msActivate == “a”){
$colorRed = “bgcolor=’#FDDEE8′”;
$msActivate = “TV 출력”;
$msLink =”“;
}else if($msActivate == “b”){
$colorRed = “bgcolor=’#FDDCCC'”;
$msActivate = “Notice 출력”;
$msLink =”
“;
}else{
$colorRed = “bgcolor=’#EEEEEE'”;
$msActivate = “비활성”;
$msLink =”
“;
}

if ($msFilename){ // 이미지가 있고 height=40 보다 작으면 그대로 출력 아니면 40 으로 리사이즈 현재 이미지사이즈는 38 이더군

$s_info = getimagesize(‘img/’.$msFilename);
$s_AdjustedSize = ($s_info[1] < 40) ? $s_info[1] : 40;
$imgFile=”“;

}else{
$imgFile=”NO IMAGE !”;
}
$pageList .= “

$msNo

$msLink

$msActivate
$msETC
$msOrdering

$msLinkContents

$msLinkURL

$imgFile

[Modify]

[Delete]

“;
}
$resultPageinfoList = “

$pageList

번 호 출력 순서 링크 내용 링크 URL 링크 이미지 관 리

“;

$title=”

티커 ADMIN

  • 출력순서란의 번호의 순서를 잘 정하기 바랍니다.
  • 순서의 번호는 TV 와 Notice 별개로 돌아 갑니다.
  • 사용하시다 불편한 점이 있으시면 이게 머꺼 ;-( 하지마시고 알려주세요 kimms@wowtv.co.kr
  • [추 가] [로그아웃]

    “;
    echo $title;
    echo $resultPageinfoList;

    mysql_close();
    ?>

    ======================================================================================================================
    배너관리자모드 리스트
    cat msTickerWrite.php
    ======================================================================================================================



    항 목 입력하세요
    출력순서 왼쪽TV 출력
    오른쪽 공지사항 출력
    미출력(출력대기)
    입력내용
    (HTML 사용)
    링크 HTTP://
    이미지 파일
    _____


    include (‘/*********************/m_config.php’);
    ConnectDB();
    dbconnect();

    $q = “select msNo, msFilename, msFilesize, msLinkURL, msLinkContents, msActivate, msETC, msOrdering from msTicker where msNo=’$msNo'”;
    $r = mysql_query($q);
    list($msNo, $msFilename, $msFilesize, $msLinkURL, $msLinkContents, $msActivate, $msETC, $msOrdering) = mysql_fetch_array($r);

    if ($msActivate == “a”){
    $onAirChecked = “checked”;
    $onNoticeChecked = “”;
    $NotChecked = “”;
    }else if($msActivate == “b”){
    $onAirChecked = “”;
    $onNoticeChecked = “checked”;
    $NotChecked = “”;
    }else{
    $onAirChecked = “”;
    $onNoticeChecked = “”;
    $NotChecked = “checked”;
    }

    $trans = array( “&”=>”&”,
    “"”=>”””,
    “‘”=>”‘”,
    “<“=>”<",
    “>”=>”>”);

    $msLinkContents = strtr($msLinkContents, $trans);
    $msLinkURL = strtr($msLinkURL, $trans);

    ?>

    항 목 입력하세요
    출력순서 >왼쪽TV 출력
    >오른쪽 공지사항 출력
    >미출력(출력대기)
    입력내용
    (HTML 사용)
    링크 HTTP:// 이미지 파일
    _____

    ======================================================================================================================
    처리하는넘
    cat msTickerWriteProcess.php
    ======================================================================================================================

    include (‘/*******************************/m_config.php’);
    ConnectDB();
    dbconnect();

    //파일처리
    $msNo = $HTTP_POST_VARS[msNo];
    if(!$msNo){ //새글일 경우
    if($userfile && $userfile_size){
    $msfile = pathinfo($userfile_name);
    $ext_check = $msfile[“extension”];
    if( $ext_check!=”gif” &&
    $ext_check!=”jpg” &&
    $ext_check!=”GIF” &&
    $ext_check!=”JPG” &&
    $ext_check!=”jpeg” &&
    $ext_check!=”txt” &&
    $ext_check!=”TXT”){
    echo (“

    “);
    exit;
    }
    copy($userfile, “img/$userfile_name”);
    }

    // if ( $msActivate == “on” ) {$msActivate = “y”;} else {$msActivate = “n”;}

    $msDate = date(YmdHis);
    $trans = array( “&” => “&”,
    “”” => “"”,
    “‘” => “‘”,
    “<"=>“<“,
    “>”=>”>”);

    $msLinkContents = strtr($msLinkContents, $trans);
    $msLinkURL = strtr($msLinkURL, $trans);

    $q = “insert into msTicker values(Null, ‘$userfile_name’,’$userfile_size’,’$msLinkURL’,’$msLinkContents’,’$msActivate’,’$msDate’,’$msOrdering’)”;
    $r = mysql_query($q);
    if (!$r){
    echo “error”;
    }else{
    echo”

    “;
    }
    }else{ //수정일 경우

    $msLinkURL = $HTTP_POST_VARS[msLinkURL];
    $msLinkContents = $HTTP_POST_VARS[msLinkContents];
    $msActivate = $HTTP_POST_VARS[msActivate];

    if($userfile && $userfile_size){
    $msfile = pathinfo($userfile_name);
    $ext_check = $msfile[“extension”];
    if( $ext_check!=”gif” &&
    $ext_check!=”jpg” &&
    $ext_check!=”GIF” &&
    $ext_check!=”JPG” &&
    $ext_check!=”jpeg” &&
    $ext_check!=”txt” &&
    $ext_check!=”TXT”){
    echo (“

    “);
    exit;
    }
    copy($userfile, “img/$userfile_name”);
    }

    // if ( $msActivate == “on” ) {$msActivate = “y”;} else {$msActivate = “n”;}

    $msDate = date(YmdHis);
    $trans = array( “&” => “&”,
    “”” => “"”,
    “‘” => “‘”,
    “<"=>“<“,
    “>”=>”>”);

    $msLinkContents = strtr($msLinkContents, $trans);
    $msLinkURL = strtr($msLinkURL, $trans);
    /*
    +—————-+————–+——+—–+———+—————-+
    | Field | Type | Null | Key | Default | Extra |
    +—————-+————–+——+—–+———+—————-+
    | msNo | int(10) | | PRI | NULL | auto_increment |
    | msFilename | varchar(200) | YES | | NULL | |
    | msFilesize | varchar(20) | YES | | NULL | |
    | msLinkURL | varchar(200) | YES | | NULL | |
    | msLinkContents | varchar(200) | YES | | NULL | |
    | msActivate | char(1) | | | | |
    | msETC | varchar(100) | YES | | NULL | |
    +—————-+————–+——+—–+———+—————-+
    */

    if(!$userfile){
    $q = “
    update msTicker set
    msLinkURL=’$msLinkURL’,
    msLinkContents=’$msLinkContents’,
    msActivate=’$msActivate’,
    msETC=’$msDate’,
    msOrdering=’$msOrdering’
    where msNo=$msNo
    “;
    }else{
    $q = “
    update msTicker set
    msFilename=’$userfile_name’,
    msFilesize=’$userfile_size’,
    msLinkURL=’$msLinkURL’,
    msLinkContents=’$msLinkContents’,
    msActivate=’$msActivate’,
    msETC=’$msDate’,
    msOrdering=’$msOrdering’
    where msNo=$msNo
    “;
    }
    echo $q;
    $r = mysql_query($q);
    if (!$r){
    echo “error”;
    }else{
    echo”

    “;
    }
    }
    mysql_close();
    ?>

    ======================================================================================================================
    배너삭제시
    cat msTickerDel.php
    ======================================================================================================================

    /*
    +—————-+————–+——+—–+———+—————-+
    | Field | Type | Null | Key | Default | Extra |
    +—————-+————–+——+—–+———+—————-+
    | msNo | int(10) | | PRI | NULL | auto_increment |
    | msFilename | varchar(200) | YES | | NULL | |
    | msFilesize | varchar(20) | YES | | NULL | |
    | msLinkURL | varchar(200) | YES | | NULL | |
    | msLinkContents | varchar(200) | YES | | NULL | |
    | msActivate | char(1) | | | | |
    | msETC | varchar(100) | YES | | NULL | |
    +—————-+————–+——+—–+———+—————-+
    */

    include (‘/************/m_config.php’);
    ConnectDB();
    dbconnect();

    $q = “select msNo, msFilename from msTicker where msNo=’$msNo'”;
    $r = mysql_query($q);
    if ($r){
    list($msNO, $msFilename) = mysql_fetch_array($r);
    if(file_exists(“img/$msFilename”)){
    unlink(“img/$msFilename”);
    }
    }

    $q = “delete from msTicker where msNo=’$msNo'”;
    $r = mysql_query($q);

    if ($r){
    echo “

    “;
    }else{
    echo “

    “;
    }
    mysql_close();