PHP에 대한 컨텐츠는 구글이나 기타 검색 사이트를 통해서 검색해보니 상당히 많을 것이다. 

그 중에서 PHP를 시작하는 사람에게 도움이 될만한 혹은 tutorial을 공부하는 사람에게 도움이 될 컨텐츠를 생산해보고자 시작한다.



-----------------------------------------------------------------------


PHP를 시작하기 위해서는 에디터가 필요하다.

메모장에서도 PHP 개발은 시작 할수 있다.


개인 컴퓨터에서 테스트 혹은 학습용으로 환경을 만들기 위해서는 window + apache + PHP + mySQL 환경이 만들어야 한다.


XAMPP, AUTOSET, APMSETUP 3가지 정도가 있다.

그 중 XAMPP가 업데이트를 잘 해주기 때문에 XAMPP를 사용한다.




XAMPP URL : https://www.apachefriends.org


AUTOSET URL : http://autoset.net/xe/




위의 프로그램 설치는 간단하다. 다음~ 다음~ 다음만 누르면 된다.



브라우저(익스플로러, 파이어폭스, 사파리, etc) 에서 주소창에 http://127.0.0.1 혹은 http://localhost를 하면 xampp 간략한 안내 페이지가 보인다.


xampp 기본 설치 디렉토리(=폴더)는 c 드라이브의 c:\xampp 다.





'tech > PHP' 카테고리의 다른 글

웹 개발 환경  (0) 2017.03.08
PHP 개발의 50%  (0) 2017.02.26
php 코드 작성 10원 짜리 팁  (0) 2016.10.28
eclipse tab 간격 설정(들여쓰기)  (0) 2016.10.19
GET으로 값 넘길시 쿼리스트링이 깨지는 경우가 있었습니다.  (0) 2013.07.17





기존 :


<?php

if(a == "10"){

?>

<img src="...">

<?

}

?>






<?php if(a == "10"):?>

<img src="...">

<?php endif;?>




2016/10/04 - [tech/SQL] - 날짜 형태로 변환

2013/07/17 - [tech/PHP] - GET으로 값 넘길시 쿼리스트링이 깨지는 경우가 있었습니다.




들여쓰기(tab) 간격 설정하는 것은 window - Preferences를 선택하면 설정 창이 뜨게 됩니다.





displayed tab width 부분 4를 변경하면 됩니다.



윈도우에서 파일 찾을 때


윈도우 키 + R 후


findstr /S "찾을 문자열" c:\temp\*.*



/S : 하위 디렉토리까지 찾기


*.* : 모든 파일 찾기


=>


c:\temp\ 하위 디렉토리의 모든 파일을 찾을 문자열을 찾기


SELECT date_format(idate,'%Y-%m-%d') AS idate FROM 테이블명


idate라는 컬럼의 데이터가 000-00-00 포맷이 아니라면 해당 형태로 변환하여 SELECT

SELECT email, count(*) FROM registration GROUP BY email;


=> email 컬럼의 데이터 중 개수를 조회합니다.




'tech > SQL' 카테고리의 다른 글

mwb 확장자는?  (0) 2017.05.29
날짜 형태로 변환  (0) 2016.10.04
테이블에 같은 값이 있으면 update, 없으면 insert 하기  (0) 2013.11.07
숫자와 문자 데이타가 섞인 데이터의 정렬  (0) 2013.02.06
sqlite  (0) 2010.11.16

eclipse서 wrap










eclipse를 최초 설치하면 wrap 기능이 없어서 가로가 긴 구문의 경우 가로 스크롤을 넘겨야 보입니다.



wrap :  http://ahtik.com/eclipse-update



wrap 플러그인을 설치하면 ctrl + alt + w 기능 활성화 됩니다. 토글 기능이므로 다시 ctrl + alt + w 누르면 해제 됩니다.






PHP와 Javascript를 할 때 알아 두면 편한 디버깅 방법에 질문을 받곤합니다.

디버깅 방법은 생각보다 단순 합니다.


물론 그 해결 과정이 어려울 때도 있습니다.



1. 신텍스 에러를 체크 해주는 툴을 사용하세요.

- 저 같은 경우는 이클립스를 사용합니다. 신텍스 에러는 색깔이 다르게 되어서 주소창에 해당 파일을 실행하기 전에 어떤 부분에서 에러가 났는지 알수 있습니다.


2. 각 브라우저의 디버깅 툴을 사용하세요.

- 익스플로러의 경우 F12를 누르면 개발자 도구 창이 뜨게 되고 이 콘솔창에서 에러의 내용을 알수 있습니다.

- 크롬도 F12 입니다.

- 파이어폭스를 개발용으로 주로 사용합니다. 

Firebug 플러그인을 설치하시면 자바스크립트 에러 내용을 자세하게 알수 있습니다.


3. 익스플로러의 경우 에러 표시를 체크하여 주세요.




모든 스크립트 오류에 관련된 알림 표시를 체크하여 주시면 됩니다.

이 것을 체크해주셔야 자바스크립트 에러가 alert window로 보입니다.


4. 테스트 서버는 없고, 운영되고 있는 서버에서 테스트 해야 한다면 ....

- 쇼핑몰 결제 테스트의 경우 이럴 경우가 있습니다. 결제 대행사의 결제 모듈은 실 서버에서만 실행이 되기 때문에 실 서버에서 테스트 해야 하는데요.


$allow_ips = array(
    "0.0.0.0"
);

if(in_array($_SERVER['REMOTE_ADDR'], $allow_ips)){
    ...................;
}


if문 안의 내용은 허용한 IP만 보여지거나 실행될 부분 입니다.

허용 할 IP가 두개 이상이라면


$allow_ips = array(
    "0.0.0.0", "1.1.1.1", "2.2.2.2"
);


단 아이피는 공유기 아이피 입니다.


4. 값 확인

*PHP

GET이나 POST 값이 정상적으로 넘어 왔는지 확인 할 때 

echo "value : ".$_GET[xxxxx]; 하고 값을 확인 하거나


print_r($_GET]; 하면 값을 확인 할 수 있습니다.


*Javascript

alert("value : " + 변수명); 혹은 


var aaa = "test";

console.log(aaa);


그 외 jquery 사용 한다면, 

$("#result").html(확인 할려는 변수);

<div id="result"></div>


하면 result div에 확인하고자 하는 값이 나옵니다.


5. 파일을 정상적으로 로드 되었는지 확인

firefox httpfox 플러그인을 다운 받아서 파일이 정상적으로 로드 되었는지 패킷 캡춰하시면 알수 있습니다.

익스플로러도 F12 눌러서 네트워크 탭을 선택하면 알수 있습니다.





테이블에 같은 값이 있으면 update, 없으면 insert 하기




INSERT ... ON DUPLICATE KEY UPDATE Syntax




INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;


발췌 : http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html


'tech > SQL' 카테고리의 다른 글

날짜 형태로 변환  (0) 2016.10.04
[MySQL] 컬럼 데이터 개수 조회  (0) 2015.12.09
숫자와 문자 데이타가 섞인 데이터의 정렬  (0) 2013.02.06
sqlite  (0) 2010.11.16
[mysql] 문자 개수 만큼인것 만 보여줘~  (0) 2009.03.03

ini 특정 파일 찾기



var INIDataURL = "ini 파일명";
var INIDataLoad:LoadVars = new LoadVars();

INIDataLoad.onLoad = function(success:Boolean){
    if (success){
        oldINIstring = INIDataLoad;
       
        newINIstring = unescape(oldINIstring);
       
        sIndex  = newINIstring.indexOf("찾는 값");
   
        sHour = newINIstring.charAt(sIndex + 찾는 값의 index) + newINIstring.charAt(sIndex + 찾는 값의 index);

        }
}


INIDataLoad.load(INIDataURL);






+ Recent posts