일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- git인증
- WPF
- react-native
- 안드로이드
- Git
- AWS
- Invalid credentials
- not working
- sourcetree
- 리액트
- 데이터바인딩
- 예제
- aPK
- Kotlin
- 리액트 네이티브
- 안드로이드 스튜디오
- bitbucket
- gradle
- 빌드 오류
- flutter
- react
- 안됨
- 디버깅
- 개발환경설정
- VisualStudio
- 뒤로가기 안됨
- 인증문제해결
- EC2
- Android
- 설정
- Today
- Total
물에 살고싶은 개발자
아직 해결못한 <a herf>에서 php함수 호출하기 본문
아직 아는게 부족해서 그런지 모르겟지만
페이지에서 페이지로 넘길때 값을 지속적으로 주고받아야 하는 경우가 있다
지금 내 경우에는 로그인한 계정아이디를 주고받아야 하는 경우인데
계정명이다보니까 get이 아닌 post로 넘겨야하고
그러다보니
php로
$_POST["키"] = $val
include "해당 값을 넘겨줄 php파일";
형태의 방법에 의지하게 돼버렸다.
그러다보니 <a>태그에서도 써야만 하는 문제가 생겼는데
처음엔 ""문제로 안되다가
<a href='<?php submitFunc('../editprofile.php' , $userMail);?>'>
이런식으로 해결했다.
문제는 반쪽짜리 해결이라는점인데
분명 로그인페이지에선 아무문제없이 되던 php파일이 저렇게 넘겼을땐 아파치에서 에러가 뿜어져 나온다
Forbidden
You don't have permission to access /<form name="phpform" method="post" action="editprofile.php"> <input type="hidden" name="userMail" value="powell2082@naver.com"></form><script> document.phpform.submit();</script> on this server.
웹에서는 이렇게 에러가 나오고
아파치에 에러로그 메모장파일을 열어보면
[Tue May 16 21:33:35.511362 2017] [core:error] [pid 64124:tid 968] (20024)The given path is misformatted or contained invalid characters: [client ::1:13577] AH00127: Cannot map GET /%3Cform%20name=%22phpform%22%20method=%22post%22%20action=%22editprofile.php%22%3E%20%20%20%20%3Cinput%20type=%22hidden%22%20name=%22userMail%22%20value=%22powell2082@naver.com%22%3E%3C/form%3E%3Cscript%3E%20%20%20%20document.phpform.submit();%3C/script%3E HTTP/1.1 to file, referer: http://localhost/main.php
-------------------------------------------------------------------------------------------------------------------------------------------------------
php 세션을 사용해서 해결했다.
조언을 구해보니 세션을 쓰라는 얘기를 들어서 봣더니 졸라편하더라..
아무튼 세션에 대해 쉽게 말하자면 서버에 저장해두는 임시데이터라고 봐도 무방하다.
쿠키랑 비슷한녀석인데 보안측면에서 좀 더 낫고, DB까지 훑지않아도 되기때문에 비교적 빠르고
데이터가 상주하는 형태이기때문에 꺼내쓰기도 편하다.
아무튼 사용법을 보자
session_start();
$_SESSION['userMail'] = $userMail;
$userMail = $_SESSION['userMail'];
끝
아 그리고 마지막엔
session_destroy();
이렇게하면 사라진다
사용법은 이게 끝!
공부는 다른데서 하길..