2014-05-21 2 views
-1

PHP로 작성된 양식이 있는데이 페이지는 스스로를 호출합니다 (이 말이 맞는지는 모르겠습니다).

" method="POST" enctype="multipart/form-data"> 

가 어떻게이 문제를 제대로 쓸 수 있습니다 : 나는 내 웹 사이트를 볼 때

echo('</table> 
<hr> 
<h1 id="loadscript_h1">Voeg een loadscript toe</h1> 
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST" enctype="multipart/form-data"> 
<div><input type="file" name="loadscript" id="loadscript" value="Kies loadscript"/></div>'); 
echo ('<input type="submit" class="formsubmit" name="upload_loadscript" value="Upload loadscripts" /> 
</form>'); 

는하지만 뭔가는 다음과 같이이 작성?

+0

어떻게하면 제대로 쓸 수 있습니까? - PHP를 통해 출력하지 마십시오 –

+0

나는 끊임없이 동의하지만 기술적으로 가능합니다. –

답변

0

문자열에 연결을 사용해야합니다. '을 알아 차려라. 문자열을 종료하도록 PHP에 지시하고 다음과 연결합니다. 문서보기 : http://www.php.net/manual/en/language.operators.string.php

echo '</table> 
<hr> 
<h1 id="loadscript_h1">Voeg een loadscript toe</h1> 
<form action="'.htmlspecialchars($_SERVER["PHP_SELF"]).'" method="POST" enctype="multipart/form-data"> 
<div><input type="file" name="loadscript" id="loadscript" value="Kies loadscript"/></div><input type="submit" class="formsubmit" name="upload_loadscript" value="Upload loadscripts" /> 
</form>'; 

또한 에코에 괄호가 필요하지 않습니다. 또한 단지 빈 작업 필드를 떠날 수 있으며, 게시 할 때 양식 자체를 다시 제출 PHP Heredoc

$action = htmlspecialchars($_SERVER["PHP_SELF"]); 
$form = <<<FORM 
    </table> 
    <hr> 
    <h1 id="loadscript_h1">Voeg een loadscript toe</h1> 
    <form action="{$action}" method="POST" enctype="multipart/form-data"> 
    <div><input type="file" name="loadscript" id="loadscript" value="Kies loadscript"/></div> 
    <input type="submit" class="formsubmit" name="upload_loadscript" value="Upload loadscripts" /> 
    </form> 
FORM; 

echo $form; 

를 사용

+0

또한 HTML 문자열의 완전한 길이를 감안할 때 'echo'를 완전히 버리고 리터럴 응답의 일부로 HTML을 사용하는 것이 좋습니다. – Dai

+0

아, 그렇습니다. 나는 기꺼이 이것을하기위한 대안을 upvote 것입니다. PHP에서 거의 완전히 침을 뱉는 완벽한 POS 사이트를 상속했기 때문에 echo로 남겼습니다. 그것은 끔찍해서 나를 죽게하고 싶습니다. 그래서 작은 부분을 바꿔 쓰면 적절하게 쓰는 것이 반대되는 시스템의 나머지 부분 전체에 대해 쓸데 없을 것입니다. 때로는 그냥 먹어야 만합니다 –

+0

아래 답변을 볼 때 heredoc을 사용할 수도 있습니다 https://stackoverflow.com/a/44433617/4390304 – k32y