2010-05-13 3 views
1

인스턴트 메신저 PHP에서 일하고 이후 변수에 이름 attibute 값을 직접 할당 할 수 있지만 지금은 일일 내가 이름 데이터 속성을 사용하여 게시물 데이터 값을 직접 할당 할 수있어 . 나는 그것에 관하여 문서를 아는 것이 정말로 궁금합니다.올바른 방법 (안전) PHP에서

내가 여기

예를

으로 설명하는 것은

<form method="post" action=""> 
<input type="text" name="userName" id="userName"> 
<input type="submit" name="doit" value="submit"> 
</form> 

이 포스트 데이터가 항상

$somevar=mysql_real_escape_string($_POST['userName']); 

사용 얻을 내 양식이다하지만 지금은 다른 방법

$somevar= "userName"; 
를 참조

난 그저 그쪽을 알고 싶다. t는 안전한 n 쉬운 방법입니까 ??

답변

1

PHP ini 지시문 register_globals을 찾고 있다고 생각합니다. Variables From External Sources을보십시오. 그러나이 지시어는 기본적으로 "off"로 설정되어 있으므로 PHP 5.3에서 사용되지 않으므로이 지시문을 그대로 두어야합니다. 그래도 어쨌든 mysql_real_escape_string()해야합니다.

당신은 또한 수동으로 전역을 등록 import_request_variables()를 사용할 수 있습니다 PHP는 웹 사이트에서

import_request_variables("p"); 
echo $userName; 

Using Register Globals는 자동 전역으로 HTTP 변수를 등록 할 안전하지 않을 수있는 방법에 관해서는 당신에게 좋은 아이디어를 제공합니다.

1

개인적으로 나는 탈출 함수를 사용하고 싶습니다. 그래서 나는 붙어있을 것이다 mysql_real_escape_string()

나는 변수가 인용 된 값에서 할당 된 코드를 본 적이 없다. 내가 이해할 수있는 방법은 모두 에 문자열이 포함되도록하는 것입니다. userName

+0

아래를 사용할 수 있지만, 나는이 질문을 해고 이유입니다,이 방법을 보았다. 심지어'register_globals'도 PHP에서 꺼져 있습니다 – diEcho

0

당신은 더 나은 내가 완전히 유 선생님에 동의 한

$somevar= $userName; 
OR 
$somevar= $_POST[userName]; 
+2

나는 어느 것을 사용해야하는지 묻지 않습니까? 나는 그것이 맞다는 것을 묻고있다. (2'nd one) – diEcho

+0

네, 물론 할 수 있어요. –

+0

미안 해요! 그냥 hev u ven이 방법 1을 본다고 묻는거야? 그렇다면 저에 관한 모든 문서를 제공하십시오. – diEcho