"주석"을 클릭하면 새 파일 $ cname.txt가 열리지 않으므로 파일에 값을 삽입 할 수 없으므로 아무 것도 게시되지 않습니다. 사용자가 제출을 클릭 할 때 그 cname과 주석을 게시하고 싶습니다. 여기 내 코드입니다 :파일에 삽입
<?php
$name="";
/*print_r($_POST);*/
if(isset($_POST['submit'])) {
global $name;
$name=$_POST['name'];
$query=$_POST['query'];
$my_query="My query";
/* $files=fopen("$name.txt","w");
fclose($files); */
$po="$name <br> $my_query:$query \n";
$myfile=fopen("posts.txt","a+");
fwrite($myfile,$po);
fclose($myfile);
}
$mypost=fopen("posts.txt","r");
while($line = fgets($mypost)) {
echo '<form class="w3-container w3-card-4 w3-light-grey w3-text-blue w3-margin">
<div class="w3-row w3-section">
<div class="w3-col" style="width:50px"><i class="fa fa-question-circle-o" style="font-size:30px"></i></div>
<div class="w3-rest">
<p class="w3-input w3-border"><i class="fa fa-user-circle-o"></i>'.$line; echo '</p>
</div>
</div>
<p>comments</p>
<form method="post" action="' .htmlspecialchars($_SERVER['PHP_SELF']); echo '">
Name:<textarea name="cname" rows="1" cols="4"></textarea><textarea name="comment" rows="1" cols="60"></textarea><br>
<input type="submit" name="submits" value="Comment" class="w3-button w3-section w3-blue w3-ripple">
</form>
' ; }
$cname="";
if(isset($_POST['submits'])) {
global $cname;
$cname=$_POST['cname'];
$comment=$_POST['comment'];
$pos="$cname <br> $comment \n";
$myfiles=fopen("$cname.txt","a+");
fwrite($myfiles,$pos);
fclose($myfiles);
$myposts=fopen("$cname.txt","r");
while($lines = fgets($myposts)) {
echo $lines;
}
}'
</form>'
;
?>
myfiles의 =하면 fopen이 $ 시도 ("{$의 CNAME}가 .txt를", "A +"); –
사용자 제공 데이터를 사용하여 파일 이름을 결정하는 것은 위험합니다. 입력 내용을 필터링하십시오. – Philip
조치 주위의 추가 공백도 제거합니다. –