PHP 간이포럼 제작 ①~발언 기능~
1. 발언 기능: {번호}<>{명칭}<>{주석}<>{발언 시간}의 형식으로 발언 내용을 표시합니다.또 각 발언에 비밀번호를 설정할 수 있다.
2. 삭제 기능: 지정된 번호의 발언을 삭제할 수 있습니다.비밀번호 인증도 한다.
3. 편집 기능: 지정된 번호의 발언을 편집할 수 있습니다.여기도 비밀번호 인증을 합니다.
이번에는 1.목표는 투고 기능을 실현하는 것이다.
1단계 입력 창 만들기
이름, 주석, 비밀번호 입력란을 만들고 다음touko를 만듭니다.1. php에 POST를 보냅니다.
keijiban.php<html>
<body>
<form action="toukou_1.php" method="post"> <!--ファイル、methodの指定-->
<table border="1">
<tr>
<td>名前</td>
<td><input type="text" name="name" required></td> <!--名前の入力フォーム作成-->
<td>コメント</td>
<td><input type="text" name="comment" required></td> <!--コメント入力フォーム作成-->
<td>パスワード設定
<td><input type="text" name="pass" required></td> <!--パスワード入力フォーム作成-->
<td colspan="2" align="center">
<input type="submit" value="送信"> <!--送信ボタン作成-->
</tr>
</table>
</form>
</body>
</html>
2단계 입력 데이터 저장
toukou_1. POST에서 받은 문자열을 txt에 저장합니다.{암호}<>{번호}<><>{주석}<>{발언시간}의 형식으로 저장합니다.
toukou_1.php<?php
$name = $_POST['name'];
$comment = $_POST['comment'];
$date = date("Y/m/d H:i:s");
$pass = $_POST['pass'];
$filename = 'toukou_1.txt'; /*保存先にファイル名を$filenameに代入*/
$fp = fopen($filename,'a'); /*ファイルを追記モードで開く*/
fwrite($fp,$pass.' <> '.$name.' <> '.$comment.' <> '.$date."\n"); /*情報をファイルに書き込む*/
fclose($fp); /*ファイルを閉じる*/
?>
<?php
unlink('toukou_2.txt'); /*ここでtoukou_2.txtを削除するコードを入れておく。理由は後ほど。*/
?>
<?php
header('Location:toukou_2.php'); /*次の処理を行うファイルへ移動させる*/
?>
3단계에서 실제로 표시되는 발언 내용 작성
지금1. txt에도 비밀번호를 입력한 상태여서 다른 파일touko2. txt에서 비밀번호를 삭제하고 발언 번호를 추가하여 브라우저에 실제 표시된 내용을 포럼으로 저장합니다.
toukou_2.php<?php
$data = file_get_contents('toukou_1.txt'); /*toukou_1.txtを読み込む*/
$element = explode( "\n",$data);/*toukou_1.txtを各行で分割する。file関数でも良い?*/
$cnt = count( $element ); /*分割した要素の数(行数)をカウントする*/
for( $i=0;$i<$cnt;$i++ ){ /*行末までループする*/
$fp = fopen("toukou_2.txt","a"); /*追記モードで開く*/
$num = count( file('toukou_2.txt')); /*ファイルのデータの行数をかぞえて$numに代入*/
$num++; /*投稿番号の取得*/
$youso = explode(" <> ",$element[$i]); /*各1行を <> で分割する。*/
fwrite($fp,$num.' <> '.$youso[1].' <> '.$youso[2].' <> '.$youso[3]."\n"); /*パスワード($youso[0])以外の情報をファイルに書き込む*/
fclose($fp);
}
?>
<?php
header('Location:toukou_3.php'); /*次の処理を行うファイルへ移動する*/
?>
4단계 발송 완료 확인 및 발언 내용 표시
사용자의 편의성을 고려해 기고 후 발언이 완료된 정보를 표시한다.또 투고 형식의 투고 내용을 보여준다.
toukou_3.php<?php
echo "名前とコメントを送信しました";
?>
<html>
<body>
<form>
<input type="button" onClick="location.href='keijiban.php'" value="簡易掲示板に戻る">
</form>
</body>
</html>
<!--掲示板に移動するボタンを作成する-->
표를 만드는 키지반.php 가touko2. txt 내용을 표시하는 프로그램을 설치합니다.
keijiban.php<html>
<head><title>簡易掲示板</title></head>
<body>
簡易掲示板<br /><br />
<?PHP
$file_name = "toukou_2.txt"; /*読込ファイルの指定*/
$ret_array = file( $file_name ); /*ファイルを全て配列に入れる*/
for( $i = 0; $i < count($ret_array); ++$i ) { /*行末までループする*/
echo( $ret_array[$i] . "<br />\n" ); /*配列を順番に表示する*/
}
?>
<!--これより下は手順1で作成したもの-->
<form action="toukou_1.php" method="post">
<table border="1">
<tr>
<td>名前</td>
<td><input type="text" name="name" required></td>
<td>コメント
<td><input type="text" name="comment" required></td>
<td>パスワード設定
<td><input type="text" name="pass" required></td>
<td colspan="2" align="center">
<input type="submit" value="送信">
</tr>
</table>
</form>
</body>
</html>
브라우저에 다음과 같이 표시됩니다.
Reference
이 문제에 관하여(PHP 간이포럼 제작 ①~발언 기능~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/chisatoshibuya/items/366de58d3604d92cf755
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<html>
<body>
<form action="toukou_1.php" method="post"> <!--ファイル、methodの指定-->
<table border="1">
<tr>
<td>名前</td>
<td><input type="text" name="name" required></td> <!--名前の入力フォーム作成-->
<td>コメント</td>
<td><input type="text" name="comment" required></td> <!--コメント入力フォーム作成-->
<td>パスワード設定
<td><input type="text" name="pass" required></td> <!--パスワード入力フォーム作成-->
<td colspan="2" align="center">
<input type="submit" value="送信"> <!--送信ボタン作成-->
</tr>
</table>
</form>
</body>
</html>
toukou_1. POST에서 받은 문자열을 txt에 저장합니다.{암호}<>{번호}<><>{주석}<>{발언시간}의 형식으로 저장합니다.
toukou_1.php
<?php
$name = $_POST['name'];
$comment = $_POST['comment'];
$date = date("Y/m/d H:i:s");
$pass = $_POST['pass'];
$filename = 'toukou_1.txt'; /*保存先にファイル名を$filenameに代入*/
$fp = fopen($filename,'a'); /*ファイルを追記モードで開く*/
fwrite($fp,$pass.' <> '.$name.' <> '.$comment.' <> '.$date."\n"); /*情報をファイルに書き込む*/
fclose($fp); /*ファイルを閉じる*/
?>
<?php
unlink('toukou_2.txt'); /*ここでtoukou_2.txtを削除するコードを入れておく。理由は後ほど。*/
?>
<?php
header('Location:toukou_2.php'); /*次の処理を行うファイルへ移動させる*/
?>
3단계에서 실제로 표시되는 발언 내용 작성
지금1. txt에도 비밀번호를 입력한 상태여서 다른 파일touko2. txt에서 비밀번호를 삭제하고 발언 번호를 추가하여 브라우저에 실제 표시된 내용을 포럼으로 저장합니다.
toukou_2.php<?php
$data = file_get_contents('toukou_1.txt'); /*toukou_1.txtを読み込む*/
$element = explode( "\n",$data);/*toukou_1.txtを各行で分割する。file関数でも良い?*/
$cnt = count( $element ); /*分割した要素の数(行数)をカウントする*/
for( $i=0;$i<$cnt;$i++ ){ /*行末までループする*/
$fp = fopen("toukou_2.txt","a"); /*追記モードで開く*/
$num = count( file('toukou_2.txt')); /*ファイルのデータの行数をかぞえて$numに代入*/
$num++; /*投稿番号の取得*/
$youso = explode(" <> ",$element[$i]); /*各1行を <> で分割する。*/
fwrite($fp,$num.' <> '.$youso[1].' <> '.$youso[2].' <> '.$youso[3]."\n"); /*パスワード($youso[0])以外の情報をファイルに書き込む*/
fclose($fp);
}
?>
<?php
header('Location:toukou_3.php'); /*次の処理を行うファイルへ移動する*/
?>
4단계 발송 완료 확인 및 발언 내용 표시
사용자의 편의성을 고려해 기고 후 발언이 완료된 정보를 표시한다.또 투고 형식의 투고 내용을 보여준다.
toukou_3.php<?php
echo "名前とコメントを送信しました";
?>
<html>
<body>
<form>
<input type="button" onClick="location.href='keijiban.php'" value="簡易掲示板に戻る">
</form>
</body>
</html>
<!--掲示板に移動するボタンを作成する-->
표를 만드는 키지반.php 가touko2. txt 내용을 표시하는 프로그램을 설치합니다.
keijiban.php<html>
<head><title>簡易掲示板</title></head>
<body>
簡易掲示板<br /><br />
<?PHP
$file_name = "toukou_2.txt"; /*読込ファイルの指定*/
$ret_array = file( $file_name ); /*ファイルを全て配列に入れる*/
for( $i = 0; $i < count($ret_array); ++$i ) { /*行末までループする*/
echo( $ret_array[$i] . "<br />\n" ); /*配列を順番に表示する*/
}
?>
<!--これより下は手順1で作成したもの-->
<form action="toukou_1.php" method="post">
<table border="1">
<tr>
<td>名前</td>
<td><input type="text" name="name" required></td>
<td>コメント
<td><input type="text" name="comment" required></td>
<td>パスワード設定
<td><input type="text" name="pass" required></td>
<td colspan="2" align="center">
<input type="submit" value="送信">
</tr>
</table>
</form>
</body>
</html>
브라우저에 다음과 같이 표시됩니다.
Reference
이 문제에 관하여(PHP 간이포럼 제작 ①~발언 기능~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/chisatoshibuya/items/366de58d3604d92cf755
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?php
$data = file_get_contents('toukou_1.txt'); /*toukou_1.txtを読み込む*/
$element = explode( "\n",$data);/*toukou_1.txtを各行で分割する。file関数でも良い?*/
$cnt = count( $element ); /*分割した要素の数(行数)をカウントする*/
for( $i=0;$i<$cnt;$i++ ){ /*行末までループする*/
$fp = fopen("toukou_2.txt","a"); /*追記モードで開く*/
$num = count( file('toukou_2.txt')); /*ファイルのデータの行数をかぞえて$numに代入*/
$num++; /*投稿番号の取得*/
$youso = explode(" <> ",$element[$i]); /*各1行を <> で分割する。*/
fwrite($fp,$num.' <> '.$youso[1].' <> '.$youso[2].' <> '.$youso[3]."\n"); /*パスワード($youso[0])以外の情報をファイルに書き込む*/
fclose($fp);
}
?>
<?php
header('Location:toukou_3.php'); /*次の処理を行うファイルへ移動する*/
?>
사용자의 편의성을 고려해 기고 후 발언이 완료된 정보를 표시한다.또 투고 형식의 투고 내용을 보여준다.
toukou_3.php
<?php
echo "名前とコメントを送信しました";
?>
<html>
<body>
<form>
<input type="button" onClick="location.href='keijiban.php'" value="簡易掲示板に戻る">
</form>
</body>
</html>
<!--掲示板に移動するボタンを作成する-->
표를 만드는 키지반.php 가touko2. txt 내용을 표시하는 프로그램을 설치합니다.keijiban.php
<html>
<head><title>簡易掲示板</title></head>
<body>
簡易掲示板<br /><br />
<?PHP
$file_name = "toukou_2.txt"; /*読込ファイルの指定*/
$ret_array = file( $file_name ); /*ファイルを全て配列に入れる*/
for( $i = 0; $i < count($ret_array); ++$i ) { /*行末までループする*/
echo( $ret_array[$i] . "<br />\n" ); /*配列を順番に表示する*/
}
?>
<!--これより下は手順1で作成したもの-->
<form action="toukou_1.php" method="post">
<table border="1">
<tr>
<td>名前</td>
<td><input type="text" name="name" required></td>
<td>コメント
<td><input type="text" name="comment" required></td>
<td>パスワード設定
<td><input type="text" name="pass" required></td>
<td colspan="2" align="center">
<input type="submit" value="送信">
</tr>
</table>
</form>
</body>
</html>
브라우저에 다음과 같이 표시됩니다.Reference
이 문제에 관하여(PHP 간이포럼 제작 ①~발언 기능~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/chisatoshibuya/items/366de58d3604d92cf755텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)