개발/php

[php] strpos(), strrpos(), in_array() 특정 문자열 검색하기

strpos()와 strrpos() 함수는 strstr()과 유사한 방식으로 동작한다. 하지만 strpos()의 실행 속도가 더 빠르기 때문에 strstr()대신 strpos()의 사용을 권장한다고 한다. 문장이나 특정 변수에서 특정 문자가 있는지 체크하려면 strpos(), strrpos() 함수를 사용하면 된다. strpos([대상 문자열], [조건 문자열]) strpos([대상 문자열], [조건 문자열], [검색시작위치(숫자)]) strrpos([대상 문자열], [조건 문자열]) strrpos([대상 문자열], [조건 문자열], [검색시작위치(숫자)]) 둘의 차이는 strpos 함수는 영문자의 대소문자를 구별하여 검색한다. 영문자 대소문자를 구별하지 않고 검색하려면 strrpos()함수를 사용하면 ..

[php] sql 구문으로 테이블 값 가져오는 방법

기본 sql 구문 $sql = " select * from 테이블명 where wr_is_comment = '0' and wr_id = '{$view['wr_id']}' "; $row = sql_query($sql); 이 기본 구문은 배열로 보여주기 때문에 보통 for 문과 함께 많이 사용한다. 아래와 같이 for문과 함께 사용하면 해당되는 값을 모두 불러온다. [for문과 함께 사용 예시] $sql = " select * from 테이블명 where wr_is_comment = '0' "; $result = sql_query($sql); for ($i=0; $row=sql_fetch_array($result); $i++) { echo $row['id']; } where 조건절에 해당하는 값이 딱 한개만..

[php] sql 쿼리 반복문으로 데이터를 불러오는 여러가지 방법 (for문, while문)

어떤 코드를 반복적으로 사용할 때 for문과 while문을 많이 사용한다. for문 vs. while문의 차이점은 for문은 반복 횟수가 정해져있을 때 주로 사용하고, while문은 반복 횟수가 정해져있지 않고, 값이 있는 만큼 계속 반복해서 보여줄 때 사용한다. for문 예시 sql문 + for문 보통 이 경우는 sql 조건문에 해당하는 자료 갯수 구해서 갯수만큼 뿌려오도록 하는데 아래 처럼 모두 나오게 할 수도 있다. while문 예시 sql문 + while문

[php] 그누보드 보안 SSL 적용 (https 강제 리다이렉션하기)

보안SSL이란? SSL이란 Security Socket Layer의 약자로 Netscape에서 웹서버(웹사이트)와 사용자PC(브라우저)간의 주고 받는 데이터의 암호화/보안을 위해 만든 프로토콜. 보안서버가 구축된 웹서버는 해커가 중간에 데이터를 가로채더라도 데이터가 암호화 되어있어 개인정보 노출을 막을 수 있다. 이제는 보안서버가 선택이 아니라 필수가 된 것 같다. 보안서버를 적용하지 않으면 크롬에서는 아예 주의요함이라고 뜬다..;; 호스팅사에 보안SSL 구축 신청을 한 뒤 셋팅이 완료되면 그누보드에서는 몇군데 설정만 변경해주면 바로 보안 서버 적용이 가능하다. 아래의 방법은 사이트 전체에 보안 SSL를 적용하는 방법이다. 1. 기본 도메인 변경하기 copnfig.php 파일 에서 G5_DOMAIN, G..

[php] ajax를 활용하여 좋아요 버튼 만들기

각 상품별 상품 사용 리뷰마다 좋아요 버튼을 추가하는 작업을 하였다. 좋아요 버튼 클릭시 페이지 이동을 하지 않고 그 자리에서 바로 좋아요 숫자가 변경되고, 채워진 하트로 바뀌고, 다시 클릭했을 때는 좋아요 숫자가 -1 감소되고, 다시 빈 하트로 보여주기 위해서 ajax를 활용하였다. 1. 좋아요 테이블 생성 먼저 좋아요 기능에 필요한 테이블을 하나 추가하고, 필드를 추가한다. rg_id : 좋아요 데이터 아이디 it_id : 상품 id (상황에 따라 생략가능) is_id : 상품평 아이디 (상황에 따라 생략가능) mb_id : 회원아이디 rg_datetime : 좋아요 누른 시간 2. 좋아요 버튼을 넣을 자리에 추가 상품 후기를 여러개를 불러오기 때문에 btn_like버튼 아이디 값에 각각의 고유 번호..

[php] explode 배열 값 있는 것만 콤마로 구분해서 보여주기

체크박스를 통해서 값을 받고 | 를 구분자로 배열로 저장하는 작업을 했다. 값을 저장하는 것 까지는 문제가 없는데, 값이 있는 경우만 불러오고 콤마로 깔끔하게 보여주는 방법을 고민해보았다. 예를 들어 아래와 같이 체크박스를 통해서 값을 받았다고하자. 좋아하는 과일을 선택하세요(중복선택가능) □사과 □배 □포도 □복숭아 □망고 사과 배 포도 복숭아 망고 | 로 구분해 값을 각각 저장하는 경우에 $fruit = "$fruit1|$fruit2|$fruit3|$fruit4|$fruit5" 와 같은 형식으로 값을 저장하게 될 것이다. 좋아하는 과일을 선택하세요.(중복선택가능) ▣사과 □배 □포도 ▣ 복숭아 □망고 예를들어 사과와 복숭아만 선택한 경우, $fruit 의 저장된 값은 사과|||복숭아|| 중간에 값이 ..