게으른 대학생이 악단 사이트를 만들었는데 2만 명이 방문했어요.

이것은 처음으로 투고한 것이다.

입문


대학생들이 추구하기 쉬운 악단.동아리와 동아리 활동에 속한다면 그 정보는 쉽게 얻을 수 있지만, 그런 곳에 속하지 않는 사람들에게는 그 정보가 잘 돌아가지 않는다.그리고 올해 신입생들은 그 바이러스의 영향으로 수업 정보가 들어오지 않는다.이런 상황에서 나는 학생들이 불리하다고 생각해서 수업에 대한 논평 사이트를 만들었다.
실제로는 프로그래밍 초보자가 최초로 만들기 쉬운 전형적인 게시판이다.그러나 의외로 수요가 있다. 아니, 나는 사실 수요가 있다는 것을 안다.2만 명의 방문을 받았다.
이것을 보는 사람 중에 대학생이 있다면 복제해 보는 게 어때요?

링크


개발 환경


macOS Catalina (10.15.4)
Visual Studio Code (1.35.1)
PHP (7.3.16)

사이트 구성



※ 기타 페이지는 여름 집중 수업 등

매주 PHP 코드


index.사랑하다

<?php
//書き込まれたテキストの関数と何も書き込まれなかった場合のエラーメッセージの関数を最初に定義
$error_message1 = "";
$error_message2 = "";
$error_message3 = "";
$error_message4 = "";
$posted_message ="";
$class_name = ( isset( $_POST["class_name"] ) === true ) ?$_POST["class_name"]: "";
$timetable = ( isset( $_POST["timetable"] ) == true ) ?$_POST["timetable"]: "";
$teacher_name = ( isset( $_POST["teacher_name"] ) == true ) ?$_POST["teacher_name"]: "";
$comment  = ( isset( $_POST["comment"] )  === true ) ?  trim($_POST["comment"])  : "";

//改行を削除
//テキストデータを1行ずつ取得して表示するため改行不可(改善したい)
$comment = str_replace(array("\r\n", "\r", "\n"), '', $comment);

//すべての項目に書き込まれたか判定
//足りている場合テキストファイルに保存
//足りない場合エラーメッセージを代入
if (  isset($_POST["send"] ) ===  true ) {
    if ( $class_name   === "" ) $error_message1 = "授業の名前を入力してください"; 

    if ( $timetable === "" ) $error_message2 = "何時間目か入力してください";

    if ( $teacher_name === "" ) $error_message3 = "先生の名前を入力してください";

    if ( $comment  === "" )  $error_message4 = "コメントを入力してください";

    if( $error_message1 === "" && $error_message2 === "" && $error_message3 === "" && $error_message4 === "" ){
        $fp = fopen( "[曜日名].txt" ,"a" );
        fwrite( $fp ,  $class_name."\t".$timetable."\t".$teacher_name."\t".$comment."\n");
        $posted_message = "書き込みに成功しました。";
    }

}

//テキストファイルの読み込み
$fp = fopen("[曜日名].txt","r");

//テキストデータを1行ずつ取得し空白で分けて配列に
$dataArr = array();
while( $res = fgets( $fp)){
    $tmp = explode("\t",$res);
    $arr = array(
        "class_name"=>$tmp[0],
        "timetable"=>$tmp[1],
        "teacher_name"=>$tmp[2],
        "comment"=>$tmp[3]
    );
    $dataArr[]= $arr;
} 

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>石池|Ishiike [曜日名]</title>
        <link rel="icon" href="ishiike_logo.png" type="image/png">
    </head>
    <body>
        <header>
        <h1><a href="https://ishiike.matrix.jp"><img src="ishiike_logo.png" width="210px" height="100px"></a>【曜日名】</h1>
        </header>
        <?php echo $posted_message; ?>
        <form method="post" action="">
        授業名:<input type="text" name="class_name" value="<?php echo $class_name; ?>" style="font-size:1em;">
            <?php echo $error_message1; ?><br>
        時間:<input type="text" name="timetable" value="<?php echo $timetable; ?>" style="font-size:1em;">
            <?php echo $error_message2; ?><br>
        先生の名前:<input type="text" name="teacher_name" value="<?php echo $teacher_name; ?>" style="font-size:1em;">
            <?php echo $error_message3; ?><br>
        コメント:<textarea  name="comment" rows="4" cols="80" style="font-size:1em;"><?php echo $comment; ?></textarea>
            <?php echo $error_message4; ?><br>
<br>
          <input type="submit" name="send" value="投稿" rows="2" cols="4" style="font-size:2em;">
        </form>
        <dl>
         <!-- 配列をそれぞれ表示 -->
         <?php foreach( $dataArr as $data ):?>
         <p><span style="font-size:20px;"><?php echo htmlspecialchars($data["class_name"]); ?> : <?php echo htmlspecialchars($data["timetable"]); ?> : <?php echo htmlspecialchars($data["teacher_name"]); ?><br>
         <?php echo htmlspecialchars($data["comment"]); ?></span></p>
        <?php endforeach;?>
</dl>
<br>
        <a href="https://ishiike.matrix.jp/">ホーム</a>
    </body>
</html>
※ 동아리 페이지에는 [동아리 이름]과 [리뷰] 두 가지 항목이 있습니다.

마지막


개설은 당초 수업이었지만 동아리 페이지를 추가하면 방문이 더 늘어난다.
실제로 이것을 만들 때 PHP는 접촉한 적이 없고 공부하면서 더듬어 만든 것이다.
나는 안전에도 많은 불안이 있다고 생각한다.
그걸 지적할 수 있었으면 좋겠어요.

보충하여 기록하다


github
https://github.com/basyakue/Ishiike

좋은 웹페이지 즐겨찾기