기초적인 php 질문...기본도 안됨. 정보
기초적인 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가 버전업하면서 바뀌었나요?
폼에서 변수받아서 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가 버전업하면서 바뀌었나요?
댓글 전체


풀어서 설명좀 해주시지.. 그럼 php 5.23인가 그래요.
그럼 지금 환경에서는 어떻게 넘겨줘야하나요?
그럼 지금 환경에서는 어떻게 넘겨줘야하나요?

$ss를 바로 사용하려면
PHP환경파일인 php.ini 파일에
register_globals = Off 를
register_globals = On 으로 변경하면 됩니다.
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("실패");}
?>
라고 변경해 보시면 어떨까요 ?
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 으로 설정되어있나봅니다.
로컬을 설정을 바꾸면 될것같네요. ^^;;
자세한 답변 해주신,
방황하는중년, 크레파숑, 엑스엠엘 님께 감사드립니다.
제가 쓰는 미리내 계정으로 올려보니, 인식하는군요..
register-globals on 으로 설정되어있나봅니다.
로컬을 설정을 바꾸면 될것같네요. ^^;;
자세한 답변 해주신,
방황하는중년, 크레파숑, 엑스엠엘 님께 감사드립니다.