php에서 페이지 이동하는 법은 다양하다. 그 중에 자바스크립트를 이용한 페이지 이동방법과 얘를 공통 함수로 빼서 편하게 사용할 수 있는법에 대해 소개하고자 한다. 우선 자바스크립트를 이용해 페이지를 이용하는 방법이다. echo 를 꼭 써줘야 작동한다. 그리고 ""따옴표 안에 script 태그를 감싸준 뒤 그 안에 자바스크립트랑 동일한 코드를 넣어준다. 이렇게하면 php에서 javascript 코드가 작동하게 된다. 자주쓰는 코드는 함수로 만들어놓고 불러와서 사용하는게 젤 편하다. /** script의 페이지 이동 함수문을 불러온다. * @Param string path 이동할 페이지 경로 * @Param string type location의 어떤 함수를 부를 것인지 */ function scriptL..
참고: https://lemontia.tistory.com/1033 [react] text 내 http에 a 태그로 변환, 링크 삽입 다음처럼 DB에 저장된 글이 있다고 해보자. 안녕하세요. 저희 사이트는 https://www.naver.co.kr 입니다 감사합니다. 이것을 react에서 다음과 같은 컴포넌트로 만들었었다. function viewSplitLine(content) { re.. lemontia.tistory.com // string을 html로 변환해서 뿌려주는 함수 // 전역에서 사용하기 위해 export해놨는데 필요없으면 지우면 됨 export function makeInnerHtml(content) { const htmlCode = content.split("\n").reduce((c..
라라벨을 사용하게 되어서 로컬환경에 composer 및 laravel을 설치하는데, 문제가 생겼다. 나는 composer설치와 laravel까지 정상적으로 설치가 완료되었는데, php artisan --version laravel 쉘인 artisan의 버전 확인부터가 진행되지 않았다. php artisan serve 해당 설치 명령 또한 먹질 않았음... 멘붕와서 이리저리 고치느라 화면을 미리 캡처해놓지 못했다ㅠㅠ 구글링 했던 내용을 가져와보면 대충 아래와 같은 에러가 떴던 것 같다. Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 255 PHP Fatal err..
html의 form에서 선택된 checkbox의 값만 넘겨주려면 input:checkbox의 name값을 배열로 만들어주면 된다. 예를들어 checkbox의 이름을 checkList라고 할거라면 이렇게 name 값 뒤에 [] 배열 선언만 해주면 된다. 이렇게 체크한 값의 값만 배열로 넘어가게 된다. // 기존 코드 $("input:checkbox[name=checkList]:checked"); 그렇다면 jQuery에서 해당 값을 선택하려면 기존의 코드에서 변경해야할 것이다. 어떻게 해야되나 한참 삽질하던 찰나에 쉬운 방법을 찾았다. 참고한 사이트: https://chicpro.dev/jquery-input-%EB%B0%B0%EC%97%B4%EC%9D%BC-%EB%95%8C-selector/ [jQuery..
오랜만에 쿼리짜다가 신기한 함수를 발견해서 글로 적어보기로 했다. 바로바로 GROUP_CONCAT() 함수!! GROUP_CONCAT() 살짝 알아본 바로는 SELECT 결과를 concat을 통해 한 문장으로 합쳐주는 것이다. maria db에 잘 설명되어있어서 페이지 참고하시라고 첨부합니당... https://mariadb.com/kb/en/group_concat/ group_concat 안에도 서브쿼리처럼 사용할 수 있으며, 정렬과 Limit 제한까지 가능한 모양이다. SELECT name FROM test; 만약 이렇게 test라는 table에 값이 있다고 치자. 얘를 조회하면 컬럼의 길이가 3으로 나뉜다. 얘를 한 컬럼으로 합치고 싶을 때 group_concat()을 사용하면 된다. SELECT ..
php를 이용해 홈페이지를 만들 일이 생겨서 처음으로 php를 접해보았다. 그냥 php 뉴비인 상태... 내 상황은 이렇다. 1. 프로젝트에(이하 root) api 폴더를 만들어 api를 작성함 2. view 페이지는 root에 존재한다. 3. view에서 api를 require하여 작성한 함수를 호출함 4. 파일을 찾을 수 없다고 에러가 남 이런 경우가 많아서 왜 그런지 계속 생각해봤다. 1. php는 파일을 require (또는 include)하면 require를 선언한 파일 내부에 해당 파일이 같이 컴파일? 된다. 2. 따라서 require되기 전에는 상대경로가 지금 존재하는 경로 기준으로 설정된다. 3. 하지만 해당 파일이 require된 후라면 컴파일된 파일의 기준으로 상대경로가 설정된다. 말 ..
눈누난나 열심히 웹 개발을 마치고 애플 앱 패키징과 애플 로그인 기능 추가만을 앞두고 있었다. 애플 로그인을 추가하기 위해 Mac으로 사파리에 접속해봤는데 웬걸.... 하얀 화면만이 나를 반겨주었다..^^ element를 확인해본 결과 noscript라고만 뜨고 아무런 단서가 없었다... 콘솔에도 아무것도 안보였는데 (사실 콘솔창 하단에 에러 메시지가 떠있었는데, 윈도우는 맨위에 뜨니까 있는지 모르고 확인 못했음..ㅎ) 어떻게 해결해야하나 막막했다. 일단 열심히 서칭하고 의심되는 항목들을 수정해보았다. 1. SSL 인증서 애플이 유효기간이 13개월 이상인 SSL 인증서를 미지원한다는 얘기가 있었다. 하지만 인증서를 확인해본 결과 3개월 단위로 갱신되는 중이라 나에겐 해당되지 않았음... ㅁ 맥에서 웹사이..
오랜만에 프로그래머스에서 코딩테스트를 연습해봤다. 레벨 1인데도 넘 어렵... 시저 암호 문제는 영어 대문자와 소문자가 들어오면 입력받은 숫자만큼 뒷 순서의 알파벳을 반환해주는 뭐 그런 문제였음. 자세한건 프로그래머스 참고하세용 아무튼 문제를 본 순간 아스키코드로 풀어야할 것 같은 늬낌이 와서 풀어봤음 우선 문제 풀이 전 자바스크립트에서 아스키코드 변환 법을 알아보쟙 ■ 문자에서 ASCII 코드로 변환하는 법 | charCodeAt() 함수 // 문자.charCodeAt(아스키 코드로 변환 할 문자 index); let convertString = "ABC"; console.log(convertString.charCodeAt(0)); // 출력: 65 console.log(convertString.cha..
■ 쿠키 저장하기 // 쿠키 저장하기 함수 export function setCookie(name, value = "", expireDays = "", path = "/") { let expires = ""; if (expireDays) { let date = new Date(); date.setTime(date.getTime() + expireDays * 24 * 60 * 60 * 1000); expires = `expires=${date.toUTCString()};`; } document.cookie = `${name}=${value || ""};${expires}path=${path}`; } 웹브라우저에 쿠키를 저장하는 함수이다. 매개변수로는 저장할 쿠키의 key 이름, 저장할 값, 그리고 만료일을..
참고: https://webisfree.com/2016-06-15/[자바스크립트]-이벤트-버블링-제거방법-stoppropagation() 이벤트 버블링 막기 { alert("전체 영역 클릭"); }} > 전체 영역 { alert("겹쳐진 영역 클릭"); }} > 겹쳐진 영역 이렇게 div나 다른 html 태그들이 겹쳐져 있을 때 겹쳐진 영역에서 클릭을 했을 때 클릭한 영역의 이벤트 1개만 일어나야 할 때가 많다. 겹쳐진 영역을 클릭 시 처음에는 겹쳐진 영역의 onClick 이벤트가 발생한다. 하지만 그 이벤트 이후..!! 이렇게 뒤에 있는 영역의 onClick 이벤트까지 겹쳐져서 발생하게된다. 이런 것을 이벤트 버블링이라고 하는데, 어떻게 해결해야될지 막막하다. 하지만 한 줄만 추가해주면 끝이다!!! 이..
다들 아시다싶이 formData에 들어있는 값은 console에 그냥 찍으면 나오질 않는다. 이럴 땐 반복문을 돌려서 안에 들어있는 값을 일일이 확인해주어야한다. 귀찮긴해도 안에 값이 제대로 들어갔는지 확인이 필요할 때가 많기 때문에...ㅠㅠ 1. formdata key와 값 확인하는 법 let formData = new FormData(); // ... formData.append("키이름", "값"); 생략 for (let key of formData.keys()) { console.log(key, ":", formData.get(key)); } formdata를 생성 후 안에 값을 넣어준다. 그 다음 formData.keys()를 통해 해당 form에 들어있는 key를 배열로 가져온 후 반복문을 돌..
개발하다가 처음으로 변수를 동적으로 추가해야할 일이 생겼다. 웬만하면 배열에 값을 추가하는 방법을 사용했는데 이번에는 그런식으로 개발했더니 기능이 제대로 동작을 안하더라ㅠㅠ (외부 API 연동하다가 생긴 일...) 처음에는 eval()이라는 함수를 이용하여 변수 명 뒤에 다른 변수(나는 count)를 붙여줬는데 ES버전이 올라가면서 전역변수로 생성이 안된다는 말도 있고... (다른 곳에서 값을 조회하려니까 존재하지 않는 변수라는 Warning창이 떴다.) 정말 다른 방법이 없는 것이 아니라면 eval()을 쓰지말라는 글이 굉장히 많았다. 그래서 다른 방법을 모색하던 차에 발견한 window 함수... 브라우저 내에서 글로벌 변수로 만들어진다고 한다. window['변수'+"3"] = "변수"+"3"; c..