2015-02-02 1 views
0

이 .php 파일에서 html 본문에 알 수없는 항목 번호가있는 정렬되지 않은 목록을 생성합니다. $ num_files (예배 규칙서).PHP-isset for 루프가 알 수없는 버튼 수를 확인하지 않음

각 파일에 대한 "보기"버튼이있는 디렉토리에서 파일의 정렬되지 않은 목록으로 끝납니다.

사용자가 특정 파일 (특정 목록 항목)에 대한보기 단추를 클릭하면 리디렉션해야합니다.

아무 버튼을 눌러도 아무 일도 일어나지 않습니다.

[some stuff up here] 

<ul class="center"> 
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="POST"> 
<?php 
if($num_files==0) exit; 
$i = 0; 
$ii=0; 
while ($i < $num_files) { 
    $ii=$i+2; 
    echo "<li> $user_filenames[$ii] </li>"; 
    $id = trim("view".$i); 
    echo '<input type="submit" id=$id name=$id value="view">'; 
    $i=$i+1; 
}?> 
</form> 
</ul> 

<?php 
    $x=0; 
    $xx=0; 
    while ($x < $num_files) { 
     $var = trim("view".$x); 
     if(isset($_POST[$var])){ 
      $xx = $x+2; 
      $_SESSION['current_file'] = $user_filenames[$xx]; 
      header("Location: view_file.php"); 
      exit; 
     } 
     $x=$x+1; 
    } 
?> 
</body> 
</html> 

내가 다음에 코드를 변경할 때이 버튼을 누르면 (만 소정 $ user_filenames [X] 요소로 리디렉션됩니다 때, 그것은 성공적으로 리디렉션 지적 가치, 그리고 구별 할 수 버튼).

<ul class="center"> 
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="POST"> 
<?php 
if($num_files==0) exit; 
$i = 0; 
$ii=0; 
while ($i < $num_files) { 
    $ii=$i+2; 
    echo "<li> $user_filenames[$ii] </li>"; 
    echo '<input type="submit" id="view" name="view" value="view">'; 
    $i=$i+1; 
}?> 
</form> 
</ul> 

<?php 
     if(isset($_POST['view'])){ 
      $_SESSION['current_file'] = $user_filenames[2]; 
      header("Location: view_file.php"); 
      exit; 
     } 
    } 
?> 
</body> 
</html> 
+1

확인, 당신은 또한 이름 몇 가지 유효한 HTML 코드 – Capsule

+0

시작하기 = $ id''에 따옴표를 추가 할 수 있습니다 알았다. 불행히도 적절한 HTML을 사용하더라도 여전히 문제가 발생합니다. – sam

답변

0

소스를 볼 때이 올바른 이름 및 id 속성이 있습니까? 코드에 설정해야 상단 의해 판단하기 때문에,

대신의
echo '<input type="submit" id=$id name=$id value="view">'; 

(당신이 말한 어떤 작품) 의미가

echo '<input type="submit" id="view" name="view" value="view">'; 

:

input type="submit" id=$id name=$id value="view" 
+0

나는 이드가 평생을 평가하는 것을 생각하지 않는다. echo가 작은 따옴표 안에 있기 때문에 $ id는 $ id가 아니라 변수의 값이됩니다. http://php.net/manual/en/language.types.string.php 또한 $ var = trim ("view". $ x); 여기에있는 이름의 값과 일치합니다. input type = "submit"id = $ id name = $ id value = "view" – ARWVISIONS

0

이 있습니다 :

<input type="submit" id=someid name=someid value="view" 

그건 inval id html. 생성 된 코드에도 따옴표가 포함되어 있는지 확인해야합니다.

파이어 폭스의 경우 "방화 광"을 사용해 보시기 바랍니다. 그것을 사용하여 당신은 그것에 대해 생각조차하지 않고 뒤섞인 html을 알아 차렸을 것입니다.

이 문제 해결의 한 변형 될 것이다 : $ _POST``에 무엇이

$id = "'". trim("view".$i)."'"; 
+0

알립니다. 불행히도 적절한 HTML을 사용하더라도 여전히 문제가 발생합니다. – sam

+0

무슨 문제입니까? 클릭이 작동하지 않습니까? 당신은 생성 된 html btw를 게시해야합니다. 그 문제에 대해 밝히는 어쩌면 – Dbl

관련 문제