Harigami
ログイン
anonymous タイトルなし
Python
<?php
  $type = "normal";
  $script_name = $_SERVER["SCRIPT_NAME"];

  //もし"送信ボタン"が押されたら
  if (isset($_POST['send'])){
    
    //まず名前とコメントの関数を定義
    $yourname = $_POST['yourname'];
    $comment = $_POST['comment'];

    if((!empty($yourname)) && (!empty($comment))){
      //日付を取得する
      $postDate = date('Y-m-d H:i:s');
      //読み込むファイルの名前
      $filename = 'kadai_2-6.txt';
      //ファイルの存在がある場合は投稿番号+1、なかったら1を指定する
      if (file_exists($filename)) {
        $fileNum = count(file($filename))+1;
      } else {
        $fileNum = 1;
      }
                
      //ファイルに書き込むメッセージデータを作成する
      $newData  = $fileNum."<>".$yourname."<>".$comment."<>".$postDate."<>"."\n";
      //"追記モード"でファイルを開く
      $FP = fopen($filename,'a');
      //メッセージデータをファイルに書き込む
      $result = fwrite($FP,"$newData");
      //ファイルを閉じる
      fclose($FP);
    }
  } 

  /*削除機能の設定*/
  //削除ボタンを押したら
  //削除番号とパスワードが入力されたら
  if (isset($_POST['delNum'])&& isset($_POST['delete_pass'])) {

    //削除に必要な関数を定義
    $delete_num = $_POST['delNum'];
    $delete_pass = $_POST['delete_pass'];
    $delCon = file("kadai_2-6.txt");
    $filename = 'kadai_2-6.txt';
  
    for ($i = 0; $i < count($delCon) ; $i++){
      //explode関数によってテキストを "<>" で分割
      $check_list = explode("<>", $delCon[$i]);

      //番号とパスワードが一致するとき
      if($check_list[0] == $delete_num && $check_list[4] == $delete_pass){

        $fill = fopen($filename,'w');
        //一致したときのみ削除操作
        for($J = 0; $j < count($delCon); $j++){

          //explode関数によってテキストを "<>" で分割
          $input_list = explode("<>", $delCon[$j]);

          //指定した番号が一致しないとき
          if($input_list[0] != $delete_num){
            
            //削除指定した番号より番号が大きいとき→削除後、番号を詰めるための操作
            if($delete_num < $input_list[0]){
              $input_list[0] = $input_list[0]-1;
            }
            //分割したものを再度関数にして集める
            $text = $input_list[0]."<>".$input_list[1]."<>".$input_list[2]."<>".$input_list[3]."<>"."\n";

            //fwriteで書き込む
            fwrite($fill,$text);
          }
        }
        fclose($fill);

      }elseif($check_list[0] == $delete_num && $check_list[4] != $delete_pass){
        echo 'パスワードが違います。';
      }
    }
  }

  /*編集機能の設定*/

  //初期値
  $message = "";
  $name = "";
  $id = "";

  //「投稿を編集」ボタンが押されたら
  if (isset($_POST['hensyuu'])){
    if($_POST["editNum"]){
      $edit_num = $_POST['editNum'];
      //編集に必要な関数を定義
      $editCon = file("kadai_2-6.txt");
      $filename = 'kadai_2-6.txt';

      for ($j = 0; $j < count($editCon) ; $j++){
        //explode関数によってテキストを "<>" で分割
        $input_list = explode("<>", $editCon[$j]);

        //指定した番号が一致するとき
        if($input_list[0] == $edit_num){
          $name = $input_list[1];
          $message = $input_list[2];
          $id = $edit_num;
          
        }
      }
    }else{
      echo"編集する番号を入力してください。";
    }
  }

  if(isset($_POST['edit'])){
    $edit = $_POST['id'];
    $ediCon = file("kadai_2-6.txt");
    $edit_name = $_POST["yourname"];
    $edit_comment = $_POST["comment"];
    $postDate = date('Y-m-d H:i:s');
    $fp= fopen("kadai_2-6.txt",'w');
      for($k = 0; $k < count($ediCon); $k++){
        $editData = explode("<>",$ediCon[$k]);
        if($editData[0] == $edit){
          //分割したものを再度関数にして集める
          $editData[1] = $edit_name;
          $editData[2] = $edit_comment;
          $editData[3] = $postDate;
        }
        $text = $editData[0]."<>".$editData[1]."<>".$editData[2]."<>".$editData[3]."<>"."\n";
        fwrite($fp,$text);
      }
      fclose($fp);
      header('location:kadai_2-6.php');
  }
?>

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="utf-8">
        <title>課題2-6</title>
    </head>
    <body>
        <h2 style="color: #FF0000;">課題2 掲示板</h2>

        <!--記入欄-->
        <form action="" method="post">
          <input type="hidden" name="id" value="<?= $id ?>">
            お名前</br>
            <input type="text" name="yourname" value="<?= $name ?>"></br>
            コメント</br>
            <textarea name="comment" cols="30" rows="3"><?= $message ?></textarea></br>
            <input type="password" name="pass"></br></br>
            <input type="submit"name="send"value="投稿">
            <input type="submit"name="edit"value="編集"></br></br>
        </form>
        <!--削除フォーム-->
        <form action="" method="post">
            削除したい番号を指定してください。(半角)</br>
            <input type="text"name="delNum" value="".PHP_EOL></br>
            パスワードを入力してください。</br>
            <input type="password" name="delete_pass"></br></br>
            <input type="submit"value="削除"></br></br>
        </form>

        <!-- 編集フォーム -->
        <form action="" method="post">
          編集番号の指定(半角):</br>
          <input type="text" name="editNum"></br>
          パスワードを入力してください。</br>
          <input type="password" name="edit_pass"></br></br>
          <input type="submit" name="hensyuu" value="投稿を編集"></br>
        </form>
        <hr>

    <?php
      //file関数でテキストファイルを一行ずつ読み込む
      $textarray = file("kadai_2-6.txt");
      //ループをかけてすべてのコメントを表示
      for($i = 0; $i < count($textarray); $i++){
        $list = explode("<>", $textarray[$i]);
        echo $list[0];
        echo $list[1]."<br>";
        echo $list[2]."<br>";
        echo $list[3]."<br>";
          
      }
    ?>
  </body>
</html>
  • 0
  • 0
anonymous タイトルなし
Python
<?php
$file_name = "text2_1.txt";

//削除時の初期値
$delete = "";
$delete_pass = "";
$delete_num = "";



$lines = file($file_name);

//削除時パスワード比較
if(isset($_POST["delete_pass"])){
  $delete_pass = $_POST["delete_pass"];
  $delete_num = $_POST["delete"];
  for($i=0; $i<count($lines); $i++){
    $line = explode("&lt;&gt;", $lines[$i]);
    if($line[0] == $delete_num){
      if($line[4] == $delete_pass){
        $delete = 1;
      } else {
        $delete = 0;
      }
    }
  }
}

//削除比較があえば削除
if($delete == 1){
  $lines = file($file_name);
  
  $fp = fopen("$file_name", "w");

  //foreachでも代用可能
  for ($i=0; $i<count($lines); $i++) {
    $line = explode("&lt;&gt;", $lines[$i]);
    if ($line[0] != $delete_num) {
      if ($line[0] >= $delete_num) {
        $line[0] = $line[0] - 1;
      }
      $text = $line[0]."&lt;&gt;".$line[1]."&lt;&gt;".$line[2]."&lt;&gt;".$line[3]."&lt;&gt;".$line[4]."&lt;&gt;"."\n";
      fwrite($fp, $text);
    }
  }
  
  fclose($fp);

  header('Location:kadai2_1.php');
}

?>

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  </head>
</html>
<body>

  <?php if(($delete == 0) ): ?>
    <?php echo "パスワードが違います"; ?>
  <?php endif; ?>

 

</body>
  • 0
  • 0
anonymous タイトルなし
Python
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>mission_5-1</title>
</head>
<body>
<?php
if(!empty($_POST["name"])){$name=$_POST["name"];}
else{$name="";}
if(!empty($_POST["str"])){$str=$_POST["str"];}
else{$str="";}
if(!empty($_POST["delete_number"])){$delete_number=$_POST["delete_number"];}
else{$delete_number="";}
if(!empty($_POST["hensyuu"])){$hensyuu=$_POST["hensyuu"];}
else{$hensyuu="";}
if(!empty($_POST["hensyuu_num"])){$hensyuu_num=$_POST["hensyuu_num"];}
else{$hensyuu_num="";}
if(!empty($_POST["password_toukou"])){$password_toukou=$_POST["password_toukou"];}
else{$password_toukou="";}
if(!empty($_POST["password_delete"])){$password_delete=$_POST["password_delete"];}
else{$password_delete="";}
if(!empty($_POST["password_edit"])){$password_edit=$_POST["password_edit"];}
else{$password_edit="";}
//DB接続設定
$dsn='mysql:dbname=;host=';
$user='';
$password='';
$pdo=new PDO($dsn, $user, $password, 
array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING));
$sql='CREATE TABLE IF NOT EXISTS tb'
."("
. "id INT AUTO_INCREMENT PRIMARY KEY,"//自動連番の整数を指定
. "name char(32),"
. "str TEXT,"
. "date DATETIME,"
. "password_toukou TEXT"
.");";
$stmt=$pdo->query($sql);
$sql=$pdo->prepare("INSERT INTO tb (name,str,date,password_toukou) 
                   VALUES(:name,:str,:date,:password_toukou)");

//投稿機能
if(!empty($name)&&!empty($str)&&!empty($password_toukou)&&empty($hensyuu_num)){
   $sql->bindParam(':name',$name,PDO::PARAM_STR);//:nameなどのパラメータに値を入れる
   $sql->bindParam(':str',$str,PDO::PARAM_STR);
   $sql->bindParam(':date',date('Y/m/d h:i:s'),PDO::PARAM_STR);
   $sql->bindParam(':password_toukou',$password_toukou,PDO::PARAM_STR);
   $sql->execute();}//命令を実行する(prepareのときに必要)

//$row['password_toukou']を作ってパスワード機能を実装する
$sql='SELECT * FROM tb';//tbテーブルにある全てのデータを取得するSQL文を、変数に格納
$stmt=$pdo->query($sql);//SQL文を実行するコードを、変数に格納
$result=$stmt->fetchAll();//該当する全てのデータを配列として返す
foreach($result as $row);//foreach文でデータベースより取得したデータを1行ずつループ処理

//削除機能
if(!empty($delete_number)&&!empty($password_delete)){
   $id=$delete_number;
   $sql='delete from tb where id=:id';
   $stmt=$pdo->prepare($sql);
   $stmt->bindParam(':id', $id, PDO::PARAM_INT);
   if($password_delete==$row['password_toukou']){
      $stmt->execute();}
}   

//編集機能
if(!empty($hensyuu)&&!empty($password_edit)){
    $id=$hensyuu;
    $sql='SELECT * FROM tb WHERE id=:id';//tbテーブルにある全てのデータを取得するSQL文を、変数に格納
    $stmt=$pdo->prepare($sql);//SQL文を実行するコードを、変数に格納
    $stmt->bindParam(':id',$id,PDO::PARAM_INT);
    if($password_edit==$row['password_toukou']){
    $stmt->execute();
    $result=$stmt->fetchAll();//該当する全てのデータを配列として返す
    foreach($result as $row){//foreach文でデータベースより取得したデータを1行ずつループ処理
       $hensyuu_num=$row['id'];
       $hensyuu_name=$row['name'];
       $hensyuu_str=$row['str'];}
	}
}	
if(!empty($hensyuu_num)&&!empty($name)&&!empty($str)){
    $id=$hensyuu_num; //変更する投稿番号
	$sql='UPDATE tb SET name=:name,str=:str WHERE id=:id';
	$stmt=$pdo->prepare($sql);
	$stmt->bindParam(':name',$name,PDO::PARAM_STR);
	$stmt->bindParam(':str',$str,PDO::PARAM_STR);
	$stmt->bindParam(':id',$id,PDO::PARAM_INT);
	$stmt->execute();
}
	?>

  <form action=""method="post">
       <input type="text" name="name" placeholder="名前"
       value="<?php if(isset($hensyuu)) {echo $hensyuu_name;} ?>"><br>
       <input type="text" name="str" placeholder="コメント" 
       value="<?php if(isset($hensyuu)) {echo $hensyuu_str;} ?>"><br>
       <input type="hidden" name="hensyuu_num"
       value="<?php if(isset($hensyuu)) {echo $hensyuu_num;}?>">
       <input type="text" name="password_toukou" placeholder="パスワード"><br>
       <input type="submit" name="submit">
  </form>
  <form action=""method="post">
      <input type="text" name="delete_number" placeholder="削除対象番号"><br>
      <input type="text" name="password_delete" placeholder="パスワード"><br>
      <input type="submit" name="delete" value="削除">
  </form>
  <form action=""method="post">
       <input type="text" name="hensyuu" placeholder="編集対象番号"><br>
       <input type="text" name="password_edit" placeholder="パスワード"><br>
       <input type="submit" name="edit" value="編集">
  </form>

<?php
$sql='SELECT * FROM tb';//tbテーブルにある全てのデータを取得するSQL文を、変数に格納
$stmt=$pdo->query($sql);//SQL文を実行するコードを、変数に格納
$result=$stmt->fetchAll();//該当する全てのデータを配列として返す
foreach($result as $row){//foreach文でデータベースより取得したデータを1行ずつループ処理
echo $row['id'].",";
echo $row['name'].",";
echo $row['str'].",";
echo $row['date']."<br>";
echo "<hr>";}
?>

</body>
</html>
  • 0
  • 1
出口尚哉 タイトルなし
Python
def removeEdge(self,sId,tId,label): #メゾット作成
        for i in self.nodeList[sId]: #nodelistでidのvalueのlistを全部出す
            if i.id==tId and i.label==label: #tidとラベルが同じなら削除する
                self.nodeList[sId].remove(i)
        for i in self.nodeList[tId]: #上の逆にした版
            if i.id==sId and i.label==label:
                self.nodeList[tId].remove(i)
        self.numEdges-=1 #数を一個減らす
    def removeNode(self,taisyou): #メゾット作成
        while True: #for文でpopしていったらバグったのでwhileで
            if len(self.getNodeNeighbors(taisyou))==0: #長さが0ならループ終わらせる
                break
            karioki=self.getNodeNeighbors(taisyou).pop(0) #先頭から順番に取り出していく、変数名は適当
            print(taisyou,karioki.id,karioki.label)
            self.removeEdge(taisyou,karioki.id,karioki.label) #removeedgeを呼び出してまずリンクを切っていく
        self.nodeList.pop(taisyou) #次にノードリストからtaisyouを消す
        self.numNodes-=1 #数を減らして終了
  • 0
  • 1
anonymous タイトルなし
Python
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>登録ページ</title>
  </head>

  <body>
    <h3>ユーザー登録</h3>

    <form method="post" action="sent.php">
      <div class="form-item">
        名前:<input type="text" name="name">
        メールアドレス:<input type="text" name="mail">
        パスワード:<input type="password" name="pass">
        <input type="submit" value="登録">
      </div>
    </from>
  </body>
</html>
  • 0
  • 0
anonymous タイトルなし
Python
<?php
//初期値
$blank = 11;

//データベースへの接続
$user = "root";
$pass = "";

try{
  $db = new PDO('mysql:host=localhost;dbname=test;charaset=utf8', $user, $pass);
} catch (PDOException $e) {
  echo "データベースに接続できません。".$e->getMessage();
  exit;
}

//テーブルの作成
$create_query = <<< _TABLE_
  CREATE TABLE IF NOT EXISTS touroku1 (
    id           int not null auto_increment primary key,
    pass_id      TEXT,
    register_id  TEXT,
    name         TEXT,
    mail         TEXT,
    pass         TEXT,
    time         INTEGER
  );
_TABLE_;
$result = $db->exec($create_query);
if($result === false) {
  print_r($db->errorInfo());
  exit;
}


//ユニークなIDの作成
$create_id = uniqid();


//データの挿入
if(isset($_POST["name"]) && isset($_POST["mail"]) && isset($_POST["pass"])){
  if(($_POST["name"] == "") || ($_POST["mail"] == "") || ($_POST["pass"] == "")){
    $blank = 10;
  } else {
    $template = "INSERT INTO touroku1 (pass_id, register_id, name, mail, pass, time)".
                "VALUES(?,?,?,?,?,?);";
    $stmt = $db->prepare($template);
    $stmt->execute(array($create_id, 0, $_POST["name"], $_POST["mail"], $_POST["pass"], time()));

    //番号の取得
    $select = "SELECT id FROM touroku1 WHERE pass_id = :pass_id";
    $stmt = $db->prepare($select);
    $stmt->bindValue('pass_id',$create_id);
    $stmt -> execute();
    $result = $stmt -> fetch(PDO::FETCH_COLUMN);

    //本登録用urlの取得
    if(empty($_SERVER["HTTP"])){
      $url = "http://".$_SERVER["HTTP_HOST"]."/kadai3_4/touroku1.php"."?product=".$result;
    } else {
      $url = "https://".$_SERVER["HTTP_HOST"]."/kadai3_4/touroku1.php"."?product=".$result;
    }

    mb_language("japanese");
    mb_internal_encoding("UTF-8");

    $from = '';
    $to = $_POST["mail"];

    $header = "From: $from\n";
    $header.= "Reply-To: $from";

    $subject = "メールのテスト";
    $body = "以下URLから24時間以内に登録を行ってください。\n";
    $body.= $url."\n";
    $body.= "24時間を過ぎた場合、仮登録は自動で登録が解除されます。\n";

    $r = mb_send_mail($to, $subject, $body, $header);
    if (!$r) {
        echo "失敗";
    }
  }
}

?>

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>ユーザー仮登録</title>
  </head>
  <body>
    <?php if($blank == 10): ?>
      <h3>登録失敗</h3>
      <div>名前、メールアドレス、パスワードを正しく入力してください。</div>
    <?php endif; ?>

    <?php if($blank == 11): ?>
      <h3>ユーザー仮登録</h3>
      <p>ユーザー登録用のメールアドレスを送信しました。</p>
      <p>メールアドレスのURLから登録ページで登録を行ってください。</p>
    <?php endif; ?>
  </body>
</html>
  • 0
  • 0
anonymous タイトルなし
Python
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>mission_3-3</title>
</head>
<body>
    <form action="" method="post">
        名前:<input type="name" name="name"><br>
        コメント:<input type="text" name="str">
        <input type="submit" name="submit"><br>
        削除:<input type="number" name="num">
        <input type="submit" name="delate">
    </form>
    <?php
            
           if(!empty($_POST["name"]).($_POST["str"])){
            $name = $_POST["name"];
            $str = $_POST["str"];
            $date = date("Y年m月d日 H時i分s秒").PHP_EOL;
            $filename = "mission_3-3.txt";
            if(file_exists($filename)){
                   $lines = file($filename);
                   $lastline = $lines[count($lines)-1];
                   $count = explode("<>",$lastline)[0]+1;
              }else{
                  $count = 1;
              }
            $fp = fopen($filename,"a");
            fwrite ($fp,$count."<>".$name."<>".$str."<>". $date);
            fclose ($fp);
           }
           
           
           if(!empty($_POST["num"])){
                $delate = $_POST["num"];
                $filename = file("mission_3-3.txt");
                $fp = fopen("mission_3-3.txt","w");
                for ($i = 0; $i < count($filename) ; $i++){
                    $delData = explode("<>",$filename[$i]);
                    if($delData[0] != $delate ){
                        fwrite($fp, $filename[$i]);
                    }else{
                        fwrite($fp,"");
                    }
                }
                fclose ($fp);
             }
             
             
             
            if($_POST["submit"].$_POST["delate"]){
                $filename="mission_3-3.txt";
            if(file_exists($filename)){
            $lines = file($filename,
            FILE_IGNORE_NEW_LINES);
            foreach($lines as $line){
                $line = explode("<>",$line);
            foreach($line as $list){    
               echo $list ;
            }
              echo"<br>"; 
            }
            }
            }
           
            
           
                
            
            
           
            
            
        
    ?>
</body>
</html>
  • 0
  • 1
anonymous タイトルなし
Python
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>mission_3-3</title>
</head>
<body>
    <form action="" method="post">
        名前:<input type="name" name="name"><br>
        コメント:<input type="text" name="str">
        <input type="submit" name="submit"><br>
        削除:<input type="number" name="num">
        <input type="submit" name="delate">
    </form>
    <?php
            
           if(!empty($_POST["name"]).($_POST["str"])){
            $name = $_POST["name"];
            $str = $_POST["str"];
            $date = date("Y年m月d日 H時i分s秒").PHP_EOL;
            $filename = "mission_3-3.txt";
            if(file_exists($filename)){
                   $lines = file($filename);
                   $lastline = $lines[count($lines)-1];
                   $count = explode("<>",$lastline)[0]+1;
              }else{
                  $count = 1;
              }
            $fp = fopen($filename,"a");
            fwrite ($fp,$count."<>".$name."<>".$str."<>". $date);
            fclose ($fp);
           }
           
           
           if(!empty($_POST["num"])){
                $delate = $_POST["num"];
                $filename = file("mission_3-3.txt");
                $fp = fopen("mission_3-3.txt","w");
                for ($i = 0; $i < count($filename) ; $i++){
                    $delData = explode("<>",$filename[$i]);
                    if($delData[0] != $delate ){
                        fwrite($fp, $filename[$i]);
                    }else{
                        fwrite($fp,"");
                    }
                }
                fclose ($fp);
             }
             
             
             
            if($_POST["submit"].$_POST["delate"]){
                $filename="mission_3-3.txt";
            if(file_exists($filename)){
            $lines = file($filename,
            FILE_IGNORE_NEW_LINES);
            foreach($lines as $line){
                $line = explode("<>",$line);
            foreach($line as $list){    
               echo $list ;
            }
              echo"<br>"; 
            }
            }
            }
           
            
           
                
            
            
           
            
            
        
    ?>
</body>
</html>
  • 0
  • 0
anonymous タイトルなし
Python
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>mission_3-3</title>
</head>
<body>
    <form action="" method="post">
        名前:<input type="name" name="name"><br>
        コメント:<input type="text" name="str">
        <input type="submit" name="submit"><br>
        削除:<input type="number" name="num">
        <input type="submit" name="delate">
    </form>
    <?php
            
           if(!empty($_POST["name"]).($_POST["str"])){
            $name = $_POST["name"];
            $str = $_POST["str"];
            $date = date("Y年m月d日 H時i分s秒").PHP_EOL;
            $filename = "mission_3-3.txt";
            if(file_exists($filename)){
                   $lines = file($filename);
                   $lastline = $lines[count($lines)-1];
                   $count = explode("<>",$lastline)[0]+1;
              }else{
                  $count = 1;
              }
            $fp = fopen($filename,"a");
            fwrite ($fp,$count."<>".$name."<>".$str."<>". $date);
            fclose ($fp);
           }
           
           
           if(!empty($_POST["num"])){
                $delate = $_POST["num"];
                $filename = file("mission_3-3.txt");
                $fp = fopen("mission_3-3.txt","w");
                for ($i = 0; $i < count($filename) ; $i++){
                    $delData = explode("<>",$filename[$i]);
                    if($delData[0] != $delate ){
                        fwrite($fp, $filename[$i]);
                    }else{
                        fwrite($fp,"");
                    }
                }
                fclose ($fp);
             }
             
             
             
            if($_POST["submit"].$_POST["delate"]){
                $filename="mission_3-3.txt";
            if(file_exists($filename)){
            $lines = file($filename,
            FILE_IGNORE_NEW_LINES);
            foreach($lines as $line){
                $line = explode("<>",$line);
            foreach($line as $list){    
               echo $list ;
            }
              echo"<br>"; 
            }
            }
            }
           
            
           
                
            
            
           
            
            
        
    ?>
</body>
</html>
  • 0
  • 0
anonymous タイトルなし
Python
<?php
$filename = 'test5.txt';

    //初期値
    $flag = 11;
    //自動サイト更新
    $script_name = $_SERVER["SCRIPT_NAME"];
    //データを挿入
    if(isset($_POST["name"]) && isset($_POST["comment"])) {
    if($_POST["name"] == "" || $_POST["comment"] == "" || $_POST["pass"]){
        $flag = 10;
    }else{  
        

        // fopen ファイルオープン a 追記 w 上書き r 読み込み
        $FP = fopen($filename, 'a');

        // ファイルのデータの行数を数えて$numに代入
        $num = count( file( $filename ) ); 
        $num++;

        // 名前がポストされたら変数にいれる
        if(isset($_POST["name"])) {
            $name = $_POST["name"];
            $comment = $_POST["comment"];
            $time = date("Y/n/j G:i");
            // fwrite ファイルにデータを書き込む
            fwrite($FP,$num . '<>' . $name . '<>' . $comment . '<>' . $time . "\n");
        } 

            
        // fclose ファイルを閉じる
        fclose($FP);


        header("location: $script_name"); exit;
    }
}
?>

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>簡易掲示板 課題2</title>
</head>
<body>
    <form action="" method="post">
        <p>お名前 <br>
        <input type="text" name="name"></p>
        <p>コメント <br>
        <textarea name="comment" cols="30" rows="5"></textarea></p>
        <input type="submit" value="投稿">
        <?php if($flag == 10): ?>
          <?php echo "(未入力です)" ?>
        <?php endif; ?>
    </form>

    <?php
        // ファイルを全て配列に入れる
        $ret_array = file( $filename );

        // 取得したファイルデータ(配列)を全て表示する
        for( $i = 0; $i < count($ret_array); ++$i ) {
            $line = explode("<>",$ret_array[$i]);
            // 配列を順番に表示する
            echo $line[0].$line[1].$line[2].$line[3]."</br>";
        }
        
    ?>
</body>
</html>
  • 0
  • 0
あなたもコードを投稿しませんか?
投稿する