프로그램/php2014. 2. 20. 19:56

header('P3P: CP="NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE"');
php 소스 제일 상단에 위 소스를 삽입한다.

 

이렇게 해도 안된다면 session_start()를 확인해본다. <- 자세히 보기

Posted by 은둔고수
프로그램/php2014. 1. 16. 19:20

php.ini 파일 위치를 먼저 확인한다. <- 더보기

phpinfo()를 php 파일로 만들어서 웹 브라우저를 실행한다.

 

Configuration File (php.ini) Path 이 부분이 설정한 php.ini 파일이 있는 위치이다.

Loaded Configuration File 이 부분은 php.ini 파일이 로딩된 경로이며

none 또는 값이 없으면 설정한 경로에 파일이 없는 경우일 수 있으며

설정한 값이 아닌 기본 설정으로 로딩이 된 경우이다.

 

 

php.ini 파일을 찾아

Configuration File (php.ini) Path 위치에 php.ini 파일을 옮긴 후

설정을 변경해서 적용한 후 아파치를 재 시작한다.

php.ini 설정을 변경해서 apache를 재 시작했음에도 적용이 안된다면 이 두 부분을 확인해본다.

Posted by 은둔고수
프로그램/php2014. 1. 16. 19:00

]# whereis php.ini

또는

<? phpinfo(); ?> 파일을 만들어서 웹 브라우저에서 실행한 후

Configuration File (php.ini) Path 이 부분을 확인한다.

 

 

php.ini 설정을 변경해도 적용이 안된다면 더보기>

Posted by 은둔고수
프로그램/php2013. 4. 2. 09:46

php 세션을 생성한 후

[파일 : test1.php]

session_start(); <- 소스 맨 위에 위치

$_SESSION['id'] = 'session id';

 

페이지 이동을 해서 확인을 해 보면

[파일 : test2.php]

session_start(); <- 소스 맨 위에 위치

echo "<br />session['uid']=" . $_SESSION['id'];

 

아무런 값이 출력되지 않는 경우가 있다.

결과 : session['uid']=

 

[확인1] 소스 맨 위에 session_start(); 사용했는지 확인한다.

[확인2] session 디렉토리 권한을 확인한다.

세션 디렉토리 위치는 php.ini 설정 파일에서 확인할 수 있다.

예>session.save_path = '/var/lib/php/session"

/var/lib/php/session 디렉토리 권한이 777 또는 707로 되어 있는지 확인한다.

 

이렇게 해도 안된다면 header를 추가해본다. <- 자세히 보기

Posted by 은둔고수
프로그램/php2013. 1. 30. 10:49

php 특수문자 정규식을 이용해서 <- 클릭

이름, 주민등록번호, 아이디, 비밀번호, 생년월일, 휴대전화번호, 필명(닉네임) 등을 확인한다.

 

// alert 창
function Alert($msg)

{
 echo "<script language='javascript' type='text/javascript'>alert('".$msg."');</script>";
 exit;
}

 

$userid = '아이디';

$nick = '별명';

$passwd = '비밀번호';

$name = '이름';

$birthday = '생년월일';

$phone = '휴대전화번호';

$email = '이메일주소';

$addr = '주소';

 

$msg_cancel = '잘못된 정보입니다.';

 

// 아이디
if(!rtnSpecialCharCheck($userid))
{
 Alert($msg_cancel);
 exit;
}

// 필명
if(!rtnSpecialCharCheck($nick))
{
 Alert($msg_cancel);
 exit;
}

// 비밀번호
if(!rtnSpecialCharCheck($passwd))
{
 Alert($msg_cancel);
 exit;
}

// 이름
if(!rtnSpecialCharCheck($name))
{
 Alert($msg_cancel);
 exit;
}

// 생년월일
if(!rtnSpecialCharCheck($birthday))
{
 Alert($msg_cancel);
 exit;
}

// 휴대전화
if(!rtnSpecialCharCheck(str_replace("-","",$phone)))
{
 Alert($msg_cancel);
 exit;
}

// 이메일
if(!rtnSpecialCharCheck(str_replace("@","",str_replace("-","",str_replace("_","",str_replace(".","",$email))))))
{
 Alert($msg_cancel);
 exit;
}

// 주소
if($addr && !rtnSpecialCharCheck(str_replace(" ","",str_replace("-","",str_replace("_","",str_replace("(","",str_replace(")","",$addr)))))))
{
 Alert($msg_cancel);
 exit;

더보기>

자바스크립트 정규식을 이용해서 이메일을 확인할 수 있다. <- 클릭

Posted by 은둔고수
프로그램/php2009. 9. 4. 14:12

php 에서 브라우저 버전 알아내기

1. 웹 브라우저 ie6 알아내기
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0') === false)
{
  // 처리
}
Posted by 은둔고수
프로그램/php2009. 7. 20. 22:25

[php-tip]PHP $_SERVER 함수

 

 

$_SERVER['HTTP_HOST'] = 사이트 도메인

-> www.twar.co.kr

$_SERVER['DOCUMENT_ROOT'] = 현재 사이트가 위치한 서버상의 위치

-> /public_html/

$_SERVER['HTTP_USER_AGENT'] = 사이트 접속한 사용자 환경

-> Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705

$_SERVER['REMOTE_ADDR'] = 사이트 접속한 사용자 IP

-> xxx.xxx.xxx.xxx

$_SERVER['SCRIPT_FILENAME'] = 실행되고 있는 위치와 파일명-> /public_html/include/index.php

$_SERVER['SERVER_PORT'] = 사용하는 포트

-> 80

$_SERVER['REQUEST_URI'] = 현재페이지의 주소에서 도메인 제외

-> /index.php?id=hong&name=홍길동

$_SERVER['PHP_SELF'] = 현재페이지의 주소에서 도메인과 넘겨지는 값 제외

-> index.php

 

 

주로 사용하는 서버 함수만 표기했습니다. 이 외에도 더 있습니다.

<?php

var_dump($_SERVER);

?>

을 이용해서 보다 자세한 정보를 얻을 수 있습니다.


Posted by 은둔고수
프로그램2009. 7. 14. 22:08

split 비교(jsp, asp, php, javascript)

[JSP]
String str="as_bd_cd_dd";    
String[] arr = str.split("_");
//결과 arr[0] = "as", arr[1] = "bd", arr[2] = "cd", arr[3] = "dd"
arr = str.split("_", 2);
//결과 arr[0] = "as", arr[1] = "bd_cd_dd"

[PHP]
$str = "as_bd_cd_dd";
$arr = split("_",$str);
//결과 arr[0] = "as", arr[1] = "bd", arr[2] = "cd", arr[3] = "dd"
$arr = split("_",$str,2);
//결과 arr[0] = "as", arr[1] = "bd_cd_dd" 
//PHP는 구분자에게 패턴을 줄수도 있다 "[_, -]" 이런식으로

[ASP]
Dim str : str = "as_bd_cd_dd ee" 
Dim arr : arr = Split(str)
'결과 arr(1) = "as_bd_cd_dd" arr(2) = "ee"
arr = Split(str, "_")
'결과 arr(1) = "as", arr(2) = "bd", arr(3) = "cd", arr(4) = "dd ee"
arr = Split(str, "_", 2)
'결과 arr(1) = "as", arr(2) = "bd_cd_dd ee"
' "0"과 "1"만 사용 할 수 있다. "0" 바이너리 비교 "1" 텍스트 비교
arr = Split(str, "_", 2, "0") 
'결과 arr(1) = "as", arr(2) = "bd_cd_dd ee"

[javascript]
var str="as_bd_cd_dd";
var arr= str.split("_");
//결과 arr[0] = "as", arr[1] = "bd", arr[2] = "cd", arr[3] = "dd"
arr= str.split("_",2);
//결과 arr[0] = "as", arr[1] = "bd"
 
Posted by 은둔고수
프로그램/php2009. 7. 14. 21:51

[php-함수]PHP 문자열 함수 관련


strlen() : 문자열 길이 리턴

<?

$char="php_sample";

echo strlen($char);

?>

 

addslashes() : 문자열에 포함된 [작은따옴표], [큰따옴표], [역슬래시]에 해당

                               하는 문자가 있을 경우 그 앞에 역슬래시 문자를 추가 후 리턴

<?

$char="php_'sample";

echo addslashes($char);

echo "<br>";

$char="php_\sample";

echo addslashes($char);

?>

 

stripslashes() : 문자열에 [역슬래시]가 있을때 역슬래시를 제거 후 리턴

<?

$char="php_\'sample";

echo stripslashes($char);

?>

 

nl2br() : '\n' 문자를 <br>로 바꾼 후 리턴

<?

$char="member \n blog";
echo nl2br($char);
echo "<br>";

?>

 

number_format() : 문자열의 값을 금액 단위의 문자로 리턴

<?
$char=1234;
echo number_format($char);  //1,234
echo "<br>";
$char="";
echo number_format($char);  //0
echo "<br>";
$char=1234;
echo number_format($char,2); //1,234.00
?>

 

substr() : 문자열의 일부를 옵션에 맞게 리턴

<?

$char1=substr("abcdef", 0);  //abcdef

$char2=substr("abcdef", 1);  //bcdef

$char3=substr("abcdef", -1); //f

$char4=substr("abcdef", 0, 3); //abc

$char5=substr("abcdef", 2, 3); //cde

echo "$char1 <br> $char2 <br> $char3 <br> $char4 <br> $char5";

?>

 

strrchr() : 해당 문자열의 선택된 문자부터 마지막 문자까지 리턴

<?

$char1=strrchr("php_sample", "s"); //sample

$char2=strrchr("php_sample", "p"); //ple

$char3=strrchr("image.gif", "."); //.gif

echo "$char1 <br> $char2 <br> $char3";

?>

 

rand() : 정수형 임의의 값 리턴

<?

$char1=rand();

$char2=rand(0,5);

$char3=rand(1,100);

echo "$char1 <br> $char2 <br> $char3";
?>

 

uniqid() : 마이크로타임에 기반하여 중복되지 않는 고유한 값 리턴

<?

$char1=uniqid(2);

$char2=uniqid(2);

$char3=uniqid(rand());

echo "$char1 <br> $char2 <br> $char3";

?>

 

md5() : 중복되지 않는 고유값 리턴

                 (16진수 32문자 -> 고정된 크기의 값을 구할 수 있다)

<?

$char1=md5(2);

$char2=md5(rand());

$char3=md5(uniqid(rand()));

echo "$char1 <br> $char2 <br> $char3 <br>";

?>

 

htmlspecialchars() : 저장되는 문자열이 html로 적용되지 않도록 한다

<?

$char1="<";

$char2=">";

$char3="&";

echo htmlspecialchars($char1);  //&lt

echo "<br>";

echo htmlspecialchars($char2);  //&gt

echo "<br>";

echo htmlspecialchars($char3);  //&amp

?>

 

chop() : 문자열의 마지막 부분 공백을 지운 후 리턴

<?

$char1="php_sample ";

$char2="테스트";

$char3=" php_sample";

echo chop($char1);

echo chop($char2);

echo chop($char3);

?>

Posted by 은둔고수
프로그램/php2009. 7. 14. 21:48

[php-tip]PHP POST, GET, SESSION, 배열 값, 기타 등등 모두 출력하기

<?

// 테스트용 데이터 생성

$_POST['1']="가";
$_POST['2']="나";
$_POST['3']="다";
$_POST['4']="마";

$_GET['1']="가";
$_GET['2']="나";
$_GET['3']="다";
$_GET['4']="마";

 

$_SESSION['1']="가";
$_SESSION['2']="나";
$_SESSION['3']="다";
$_SESSION['4']="마";

 

$ary = array("1","2","3");
?>

 

<?

# POST 값을 모두 출력하기

// foreach()을 이용하는 방법
foreach($_POST as $key => $value)
{
 echo "$key ==> $value <br>";
}

echo "<br><br>";

// var_dump()을 이용하는 방법

var_dump($_POST);

 

echo "<br><br>";

// print_r()을 이용하는 방법

print_r($_POST);

?>

 

<?

# GET 값을 모두 출력하기

// foreach()을 이용하는 방법
foreach($_GET as $key => $value)
{
 echo "$key ==> $value <br>";
}
 

echo "<br><br>";

// var_dump()을 이용하는 방법

var_dump($_GET);

 

echo "<br><br>";

// print_r()을 이용하는 방법

print_r($_GET);

?>

 

<?
# SESSION 값을 모두 출력하기

// foreach()을 이용하는 방법
foreach($_SESSION as $key => $value)
{
 echo "$key ==> $value <br>";
}
?>

 

<?

# 배열 값을 모두 출력하기

// foreach()을 이용하는 방법
foreach($ary as $key => $value)

{
 echo "$key ==> $value <br>";
}
 

echo "<br><br>";

// var_dump()을 이용하는 방법

var_dump($ary);

 

echo "<br><br>";

// print_r()을 이용하는 방법

print_r($ary);

?>

Posted by 은둔고수