2017-02-06 13 views
0

BeagleboneにあるSDカードのログファイルを見ることができるウェブページがあります。このWebページでは、ログファイルへのハイパーリンクを含むテーブルが表示され、ユーザーがログファイルを表示したいときに特定のログファイルをクリックし、ローカルシステムにダウンロードされます。さて、これらの項目の隣にあるチェックボックスをHTMLテーブルに入れて、ユーザーがビーグルボーンサー​​バーから削除できるようにします。テーブルの項目の横にチェックボックスを入れます。phy

テーブルをチェックボックスのフォームに配置しようとする前に、コードが完全に機能していました。これは次のようになりました: Before adding the form to delete

しかし、フォームを追加した後は、何も表示されません。 ファイルunlink.phpは、ファイルを削除するコードを指します。ここで コードです:

<?php 

$url = $_SERVER['DOCUMENT_ROOT']; 

$path = "/var/www/html/Logs"; 
$dh = opendir($path); 

$k=0; 
$foo=True; 

while (($file = readdir($dh)) !== false) { 
    if($file != "." && $file != "..") { 
    #echo "<a href='Logs/$file'>$file</a>"; 
    if($k==0 || $k %7==0){ 
     $col .= "<tr><td><input type="checkbox" name="file[]" value="Logs/$file"><a href='Logs/$file'>$file</a><br /></td>"; 
    } 
    else if($k %7==6){ 
     $col .= "<td><input type="checkbox" name="file[]" value="Logs/$file"><a href='Logs/$file'>$file</a><br /></td></tr>"; 
    } 
    else{ 
     $col .= "<td><input type="checkbox" name="file[]" value="Logs/$file"><a href='Logs/$file'>$file</a><br /></td>"; 
    } 

    $k++; 

} 

} 
echo "<form action="unlink.php" method="get"><table>$col</table><input type="submit" name="formSubmit" value="Submit" /></form> "; 

closedir($dh); 
?> 
+0

入力が1つの形の外にあります –

+0

エラーが発生しましたか?あなたの 'echo'文は' ''を使用していますが、 '' 'もエスケープしていますので、文字列を破ると思っていたでしょう。 – Andy

+0

@ Fred-ii-フォーム外部の入力はどうですか?それらはすべて$ colにあり、$ colはechoステートメントの最後でのみ呼び出されます。 – avelampudi

答えて

1

フォームタグとテーブルをエコーライン、あなたは、文字列内のすべての二重引用符をエスケープするか、単一引用符にそれらのすべてを変更するのいずれかが必要です。 "<form method="get">..."のような文字列があり、二重引用符で囲んで二重引用符を使用しているため、エラーが発生します。

echo "<form action='unlink.php' method='get'><table>$col</table><input type='submit' name='formSubmit' value='Submit' /></form> "; 

PHPが書き込むエラーログを表示すると、このエラーが表示されます。

+0

私はこれを試しました、それは助けにはなりません。 PHPはどこにエラーを書き込むのですか? – avelampudi

+1

また、$ col – Andy

+1

に追加されているすべての値の引用符をエスケープ/変更する必要があります。また、チェックボックスを使用してすべての行に同じ問題があります。あなたの投稿の構文ハイライトを見てください。赤(文字列)から黒/青に色がどのように変わるかを見てください。これは文字列の一部ではないためです。 –

関連する問題