문제

기본 HTML 양식이 PHP를 통해 반향을 나타냅니다.

<html>
<body>
<?php 
if (isset($_GET["pk"]))
 { $pk = $_GET["pk"];}
echo '<form action="up.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>';
?>
</body>
</html>

PK의 값을 up.php로 전달하고 싶습니다.

action = "up.php? pk = $ pk"가 작동하지 않았습니다.

도움이 되었습니까?

해결책

숨겨진 필드 사용 :

<input type="hidden" name="pk" value="<?php echo $pk; ?>">

그건 그렇고, 당신이 가진 것처럼 많은 양의 HTML 인쇄 못생긴. HEREDOC, 템플릿 엔진 또는 프레임 워크를 사용하여 PHP에서 벗어나는 것을 고려하십시오.

편집하다:

아래에 언급 된 바와 같이, 먼저 소독하지 않고 페이지에 데이터를 인쇄하고 게시하지 않아야합니다. PK가 기본 키라고 가정하면 포장해야합니다. $pk 위에 intval 기능, 아주 최소한.

다른 팁

나는 $ _get [ 'pk'] 변수의 일종의 입력 제어에 관한 모든 의견에 동의합니다. PHP의 필터 모듈을 권장합니다. 이는 내가 믿는 기본 설치 모듈입니다.

<html>
<body>
<?php 
 $param = filter_input(INPUT_GET, 'pk', FILTER_SANITIZE_ENCODED);
?>
<form action="up.php<?php echo (isset($param) && $param != false) ? '?pk=' . $params : ''); ?>" method="post"enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

필터 모듈에 대한 자세한 내용은 다음을 참조하십시오. 링크 텍스트

또한 Paolo Bergantino와 동의합니다. 이것은 가장 예쁜 방법이 아니며, 템플릿 엔진, Heredocs 또는 Regexp는 시스템의 가독성과 유지 관리를 향상시키는 더 나은 방법이 될 수 있습니다.

단일 인용 문자열 안에 변수를 사용할 수 없습니다.

$pk = 123;
echo 'Hello $pk'; // echos Hello $pk
echo "Hello $pk"; // echos Hello 123
echo 'Hello ' . $pk; // echos Hello 123

그것을 통과하는 가장 좋은 방법은 양식 내부의 숨겨진 필드입니다.

다음과 같이 STH를 사용해보십시오.

<html>
<body>
<?php 
$params = "";
if (isset($_GET["pk"]))
  { $params = "?pk=" . $_GET["pk"];}
echo '<form action="up.php' . $params . '" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>';
?>
</body>
</html>

물론 $ _get [ "PK"]에는 거의 모든 것이 포함되어 있으므로 어떤 종류의 입력 소독에 대해 생각해보십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top