반응형

취업/PHP 54

[php]다중 탭 접속 쿠키 공유 문제..세션 스토리지 사용하자.

php를 쓰면 보통 php는 서버단 세션을 사용할 것이다. 왜냐면 진짜 안전하니까... 서버가 관리하니 외부 노출이 안되서 너무 좋다. 이번에는 js 라이브러리의 모듈에서 특정 값을 추출해 이를 서버로 던져줘야 해서 해당 값을 가져와야 했는데, 처음에 손쉽게 쿠키를 사용했다. 아니면 방법이 없어서.... 이게 나중에 발견된 문제였는데, 다중 접속시 쿠키값이 공유가 되어 덮어 쓰는 문제가 생겼다. 이걸 어떻게 해결하나 싶었는데, 고민하다가 front-end단의 세션스토리지가 있더라. 이름이 같아서 생각하지 못 한 부분이었다. 찾아보니 프론트엔드단의 세션스토리지도 서버의 세션처럼 한개의 탭이나 창을 열면 그때마다 새로 세션스토리지를 생성한다. 그로 인해 덮어쓰기가 진행되지 않아 모든 값을 여기로 던져버렸다 ..

취업/PHP 2021.12.14

[php] datatable export button not showing

JS 파일안에서 사용시 말 그대로 버튼이 출력되지 않는 문제... 원인은 제이쿼리를 쓰면 $document.ready(function() {});을 쓰는데, 이게 감싸있다보니 그런 것. 해당 부분을 제거하면 된다. type price quantity time let data = { symbol: 'coke' }; $('#userhistoryTable').DataTable({ order: [ [ 3, "DEC" ] ], destroy: true, dom: 'Blfrtip', buttons: [ 'copy', 'csv', 'excel', 'pdf', 'print' ], ajax: { url: 'curl', type: 'GET', data : data, dataSrc: '', error: function (e..

취업/PHP 2021.11.30

[php] 쿠키값은 도메인도 중요하다.

비교를 위해서 다른 사이트의 쿠키 값을 가져왔다. 보기만해도 도메인이 다르지 않는가. 이런 문제로 인해서 동일한 이름의 쿠키이더라도 생성 방식이 다르면 도메인을 다르므로 쿠키가 덮어쓰기가 안되고 중복되는 문제가 발생한다. 쿠키값을 읽는 부분인데, 이를 수정했으나 다음날 이상이 있다고 하길래 뭔가 했더니 고쳤던 부분이 다른 test컴에선 남아 있어 그런 문제였다. 보통 여러명이 코딩하면 발생할 수 있는 문제인데, 통일된 쿠키값을 만드는 게 중요하다. 필요할때마다 쿠키 값을 만들 필요가 있어 인터넷에서 구한 setcookie 코드를 사용하는데, 이번에 경우 쿠키값을 만드는 모듈을 다르게 생긴 문제가 있었다. 쿠키를 만드는데, 모듈을 다르게 쓰니 생성된 도메인이 달라 쿠키를 동일한 명으로 2개를 만드는 경우가..

취업/PHP 2021.11.18

[php] js파일 안에서 $(document).ready(function() {})을 쓰지마라.

js 안에서 $(document).ready(function() {})을 쓰지마라. 말 그대로이다. 이것을 쓰지 말라하는 이유는 js에서 굳이 쓸 필요가 없기때문이다. 이거때문에 쓸데없는 버그를 걸렸기에 그러하다. 필자는 기본적으로 해당 문구를 php 파일 안에서만 $(document).ready(function() {})를 쓰는데, 삭제하기 귀찮아 이걸 그대로 js에다가 가져놨다가, 고생을 했다. 왜냐하면, 해당 부분이 없이쓰면 js 파일자체가 전역변수로 사용되는데, 해당 문구가 있으면 js 안에서 let volt = '볼트'; let obj = { 'fruit': "사과", 'time': "3시"}; $(document).ready(function() { let apple = '사과'; console..

취업/PHP 2021.11.17

[php] CI 코드이그나이터3에 env dotenv .env 적용하기

위코드를 다닐때는 초보자라 config.js에서 그냥 export 해서 사용했던거였는데, node.js를 배우면서 dotenv라는 라이브러리를 알게되었다. 해당 라이브러리는 config.js처럼 하나의 전역변수 파일을 만들어 따로 호출하지 않고, config.js는 해당 파일을 사용하는 컴포넌트에서 매번 import해야했음. 하지만, dotenv는 자동으로 해당파일을 import해서 변수 호출하는 방식으로 해결하는 라이브러리. 해당 파일만 github 예외파일로 선정시 나머지 코드들은 github에 업로드가 가능하니 공유도 좋다. 즉 보안성도 좋고 사용하기도 좋아서 재사용코드들도 관리가 쉽다는 것. url * 500개면 500개를 일일히 수정하는 것인데, 이를 한개의 코드만 바꾸면 나머진 알아서 교체되니..

취업/PHP 2021.11.12

[php] 구글 차트 배경색 및 가로, 세로 축 텍스트 색상 바꾸기

참고 자료 배경색 https://stackoverflow.com/questions/8808100/google-chart-background-color Google Chart Background Color I'm styling a google chart using the javascript api. I want to change the background of the area where the data is plotted. For some reason when I set background options like so: chart.draw(data, { stackoverflow.com 텍스트 https://stackoverflow.com/questions/26406307/google-charts-chang..

취업/PHP 2021.11.04

[php] input file 이미지 파일 blob으로 바꿔 업로드하기.

흔히들 보는 이미지 업로드 방식은 바로 input을 이용한 방식일 것이다. 대충 만들었다. 다들 이렇게 해서 파일을 보내리라고 본다. 내가 기존에 작성한 toast ui 업로드 방식에서 이미지서버가 아닌 move file을 이용한 업로드를 구현해야했다. 그러다보니 기존 blob을 사용해야하는데 input에서는 작동하지 않는다.... 이를 위해서 blob으로 바꿔줘야 했다. let file = $('#file').prop("files")[0]; // input file에서 데이터 뽑는 방법 let tmp = new Blob([file], { type: `${file.type}` }); // 타입은 동적으로 보내서 감지할 수 있게 했음. let formData = new FormData(); formData..

취업/PHP 2021.10.28

[php] 휴대전화 정규식

/^(?:(010-?([0-9]{4}))|(01[1|6|7|8|9]-?([0-9]{3,4})))-?([0-9]{4})$/ 새로 만든 정규식. 기존에 굴러다니는건 제대로 안되길래 내가 찾아서 수정했다. 왜냐하면 기존 정규식은 010에서도 중간이 4자리, 끝자리 3자리일때도 true가 떠버려서 수정해야만 했다. 기존 건 /^01([0|1|6|7|8|9])-?([0-9]{3,4})-?([0-9]{4})$/ //01%N - 3,4 - 4자리 구성이라 잘못 쳐도 뚫린다. /^(?:(010-\d{4})|(01[1|6|7|8|9]-\d{3,4}))-(\d{4})$/ // 010 - 4자리 - 4자리 // 01%N - 3,4 - 4자리 // 로 뚫리진 않아야하는데, 정규식에 맞는 번호를 쳐도 false. https:/..

취업/PHP 2021.10.22

[input] datetime-local 캘린더 css custom 하기

input[type="datetime-local"]::-webkit-calendar-picker-indicator { color: rgba(0, 0, 0, 0); opacity: 1; display: block; background: url(https://cdn3.iconfinder.com/data/icons/linecons-free-vector-icons-pack/32/calendar-16.png) center/80% no-repeat white; // 여기서 중앙정렬과 배경색을 준다. width: 20px; height: 20px; border-width: thin; cursor: pointer; } 아이콘이 마음에 들지 않아 내가 찾아 수정한 것이고, 기본 베이스는 아래코드를 사용했다. input[..

취업/PHP 2021.10.05

[php] input Datetime-local에 자바스크립트 제이쿼리 value 구현

input 창에 밸류를 넣어야한다. 그런데, 제이쿼리 구현하긴 귀찮다. 그러다보니 그런 것을 찾았는데, 결국 찾았다. 바로 datetime-local! 사용 방식은 이러하다. 그런데, 시간 규격이 개떡같다. mysql 시간 규격은 YYYY-MM-DD hh:mm:ss인데, 필요한 시간 규격은 YYYY-MM-DDTHH:MM:SS라 다른 곳에서 쓰는 규격 양식으로 전환해야한다. 출처 https://hianna.tistory.com/319 [HTML] 날짜 입력 항목에 현재 시간을 기본값으로 세팅하기 날짜 시간 입력 항목에 기본값으로 현재 날짜, 시간을 지정하는 방법을 알아보도록 하겠습니다. 날짜 입력 항목에 현재 시간을 기본값으로 세팅하기 지난번에는 HTML의 태그를 이용하여 날짜, 시 hianna.tisto..

취업/PHP 2021.10.01
728x90