기초적인 php 질문...기본도 안됨.

너무 간단한 것이라..콧방귀가 여기까지 들립니다. --;;
폼에서 변수받아서 echo로 출력하는거요..


join.php--------------------------------

<form method="post" action="result.php">
<input type ="text" name="ss" size="10" >
<input type="submit" value="join" >
</form>


result.php-----------------------------
<?
if($ss){echo("성공");}else{echo("실패");}
?>



$ss로 값이 전달이 안되요..

그런데 result.php의 <? 다음에..

$ss=$_POST['ss'];
를 입력해주면 성공입니다.

다른분 write_ing.php인가에 스킨 보니 이런거 있었던 기억이 납니다.

음 꼭 이래야하나요? PHP가 버전업하면서 바뀌었나요?
|

댓글 5개

풀어서 설명좀 해주시지.. 그럼 php 5.23인가 그래요.
그럼 지금 환경에서는 어떻게 넘겨줘야하나요?
$ss를 바로 사용하려면

PHP환경파일인 php.ini 파일에

register_globals = Off 를
register_globals = On 으로 변경하면 됩니다.
이미 위에 엑스엠엘님이 다 설명하신 부분입니다.

4.x 대에서는 register-globals 버전 자체가 on 이었기 때문에

$_GET[write] = "a";
$_POST[write] = "b";
$write = "c";

echo" $write ";

--------- 결과 : c 출력 ";

5.x 대에서 register-globals off 로 기본 채택 - 보안상의 이유로

위의 3개 변수가 다 다르게 작동하신다고 보시면 됩니다.

4.x 대에서는 위 3개가 같았으나 5.x 대에선 다르다고 생각하시면 됩니다.

<?
phpinfo();
?>
화일을 하나 만드셔서 본인의 환경을 한번 보시는게 좋으실듯 하시구요

위의 예제에 간단히 추가를 해드리면

넘겨주실때 <form method="post" action="result.php">

method 를 post 로 넘겨 주셨으니 당연히 받을때도 $_POST 로 받아야 하겠죠

result.php-----------------------------
<?
if($_POST[ss]){echo("성공");}else{echo("실패");}
?>

라고 변경해 보시면 어떨까요 ?
감사합니다.
제가 쓰는 미리내 계정으로 올려보니, 인식하는군요..
register-globals on 으로 설정되어있나봅니다.
로컬을 설정을 바꾸면 될것같네요. ^^;;

자세한 답변 해주신,
방황하는중년, 크레파숑, 엑스엠엘 님께 감사드립니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
15년 전 조회 1,089
15년 전 조회 1,324
15년 전 조회 898
15년 전 조회 944
15년 전 조회 1,002
15년 전 조회 1,062
15년 전 조회 1,519
15년 전 조회 1,128
15년 전 조회 1,074
15년 전 조회 1,457
15년 전 조회 1,510
15년 전 조회 1,017
15년 전 조회 1,357
15년 전 조회 1,110
15년 전 조회 1,022
15년 전 조회 1,374
15년 전 조회 990
15년 전 조회 1,371
15년 전 조회 1,515
15년 전 조회 1,206