- 2
- 260578
- 조회 수 593
사용한 프로그램 - 비주얼 스튜디오 코드, 크롬 63.0 (윈도 10 64비트), 파일질라
사용한 서버 - 스터디 포 어스 (여기)
각 파일의 구조
(파일 이름은 어디서 가져왔는지 기억이 안나요..)
2.html 에서 입력 -> processorder.php에서 받음, 전달되었다고 출력 -> orders.txt에 저장 -> vieworders.php에서 보기
(보안은 상관 없음, 개인 사이트 비슷한데에서 굴릴거라서요..)
vieworders.php
<HTML>
<head>
<title>신고 내역 조회</title>
</head>
<body>
<h1>신고 내역 조회</h1>
<?php
$ROOTDOCU = $_SERVER['DOCUMENT_ROOT'];
fopen("web/board/orders.txt", 'r');
?>
</body>
</html>
2.html
<html>
<head>
<title>단어위키 사용자 신고 - 접수중</title>
<meta charset="utf-8">
</head>
<body>
<h1>차단을 요하는 사용자 신고</h1>
<h2>이 내용은 단어위키 관리자에게 전달됩니다.</h2>
<form action="processorder.php" method="post">
<table border="1">
<tr bgcolor="#fff8dc">
<td width="300">신고 내용</td>
<td width="50">신고 대상 ID</td>
<td width="50">신고 하신분 ID</td>
</tr>
<tr>
<td align="center"><input type="text" name="naeyong" size="100" maxlength="99"></td>
<td align="center"><input type="text" name="daesang" size="49" maxlength="48"></td>
<td align="center"><input type="text" name="hasinbun" size="49" maxlength="48"></td>
</tr>
<tr>
<td colsapn="1" align="center"><input type="submit" value="보내기"></td>
</tr>
</table>
</form>
</body>
processorder.php
<?php
$naeyong = $_POST['naeyong'];
$daesang = $_POST['daesang'];
$hasinbun = $_POST['hasinbun'];
?>
<html>
<head>
<title>단어위키 사용자 신고 - 접수 완료!</title>
</head>
<body>
<?php
$jeondal = "$naeyong \n $daesang \n $hasinbun \t";
$fp = fopen("/web/board/orders.txt");
fwrite($fp, $jeondal );
fclose($fp);
echo '<h2>전달되었습니다.</h2>';
echo '<p>이제 창을 닫으셔도 됩니다.</p>';
?>
</body>
</html>
부탁드리겠습니다.. 이번에도 제 실수 때문이라면 학원 가야겠습니다.. 미안해요
1. processorder.php 파일에서 fopen 를 위핸 플래그가 지정되지 않았습니다.
$fp = fopen("/web/board/orders.txt");
fwrite($fp, $jeondal);
를
$fp = fopen("/web/board/orders.txt", "a+");
fwrite($fp, $jeondal);
으로 바꿔주세요.
2. vieworders.php 에서는 fopen 만 하고, 읽고 출력하는 로직이 빠져있습니다.
fopen("web/board/orders.txt", 'r');
를
$fp = fopen("/web/board/orders.txt", 'r');
$fs = filesize("/web/board/orders.txt");
echo fread($fp, $fs);
fclose($fp);
로 바꿔주세요.
3. 오류는 아닙니다만, 이렇게 하면 간단합니다.
processorder.php 에서는
<?php
$jeondal = "$naeyong \n $daesang \n $hasinbun \t";
file_put_contents("/web/board/orders.txt", $jeondal, FILE_APPEND);
echo '<h2>전달되었습니다.</h2>';
echo '<p>이제 창을 닫으셔도 됩니다.</p>';
?>
로
vieworders.php 에서는
<?php
echo file_get_contents("web/board/orders.txt");
?>
로요.