2017-02-12 3 views
0

나는 동적 콘텐츠를 구축하는 PHP를 삽입하기 위해 노력하고있어,하지만 난 형태 몇 가지 문제가 있습니다

$content_message = "<p class='notification'>Please type in and confirm your new password.</p>" 
    . '<form method="post" id="change_password" action="htmlspecialchars(' . $_SERVER["PHP_SELF"] . '?id=' . $id . '&code=' . $code . ')">' 

내가 할 수있는을 ' htmlspecialchars이 문자열 안에 추가 된 변수와 함께 $_SERVER["PHP_SELF"]과 함께 작동하도록하는 방법을 찾으십시오.

도움이 되었으면 좋겠습니다.

+0

htmlspecialchars ('PHP는'action = " '와 같은 문자열에서 꺼내십시오 .htmlspecialchars ('encode'$ id'와'$ code'는 별도로'& code ='는'id'의 일부분이 될 것입니다. '$ code' .. – chris85

+0

@sebjel 실행하고자하는 모든 코드는 문자열에서 가져와야합니다. 적절한 IDE (PHPStorm과 같은 것)를 사용하면 더 깨끗한 코드를 작성할 수 있습니다. HTML의 논리 .MVC (모델, 컨트롤러, 뷰)를 살펴보고 HTML 템플릿을 작성하십시오 (Twig 또는 Blade HTML 템플리트 참조). 이렇게하면 더 깔끔하고 관리하기 쉽고 버그가 적은 코드를 작성할 수 있습니다. 사람들은 내가 처음 시작했을 때를 들여다 보라고 말하면 좋겠지 만 장기적으로 도움이 될 것입니다. (나머지를 이해 한 후) – ctwheels

+0

@sebjel'action = '페이지를 넣기를 원할 수도 있습니다 .php '(분명히 어떤 페이지로 가고 싶은지) PHP 세션을 통해 매개 변수를 전송하면 코드 검사를 통해 값을 쉽게 조작 할 수 없으며 추악한 URL도 막을 수 있습니다 – ctwheels

답변

0

htmlspecialchars을 위생적으로 처리하지 마십시오. 이런 식으로 수행

$content_message = "<p class='notification'>Please type in and confirm your new password.</p>" 
       . '<form method="post" id="change_password" action="'.htmlspecialchars(
       . $_SERVER["PHP_SELF"] 
       . '?id=' 
       . $id 
       . '&code=' 
       . $code 
       .).'">' 

또한 해당 브라우저는 현재 열려있는 동일한 주소로 양식을 보내기 때문에 action=PHP_SELF를 호출 할 필요가 없다, 기억하십시오. 조치 속성을 생략 할 수 있습니다.

0

동적 값을 보내려면 입력 된 숨겨진 태그를 사용하여 쉽게 배치 할 수 있습니다. & 정보도 안전합니다.

그냥 같은

:

$content_message = "<p class='notification'>Please type in and confirm your new password.</p>" 
       . '<form method="post" id="change_password" action="" > 
       <input type="hidden" name="id" value="'.$id.'" /> 
       <input type="hidden" name="code" value="'.$code.'" /> 
       <form/>'; 

을 그리고 당신은 값을받을하려는 경우, 그냥이 코드를 확인하십시오

echo $_POST['id']; 
echo $_POST['code']; 

희망이 당신을 위해 도움이 될 수 있습니다.

관련 문제