물에 살고싶은 개발자

아직 해결못한 <a herf>에서 php함수 호출하기 본문

php

아직 해결못한 <a herf>에서 php함수 호출하기

돼지사랑 2017. 5. 16. 21:56

아직 아는게 부족해서 그런지 모르겟지만


페이지에서 페이지로 넘길때 값을 지속적으로 주고받아야 하는 경우가 있다


지금 내 경우에는 로그인한 계정아이디를 주고받아야 하는 경우인데


계정명이다보니까 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();


이렇게하면 사라진다


사용법은 이게 끝!


공부는 다른데서 하길..

Comments