anonymous No title
PHP
<!DOCTYPE html>
<html lang="ja" >
<!--head文を記入します-->
  <head>
    <meta charset="utf-8">
    <title>名前とコメント欄</title>
  </head>
<!--body文の始まり-->
  <body>
    <form action="" method="post">
      <!--名前の欄を作る-->
      <p>名前</p>
      <input type="text" name="user_name"><br>
      <!--コメント欄を作ります-->
      <p>コメント</p>
      <textarea name="comment" rows="4" cols="40"></textarea><br>
      <!--送信ボタンの取り付け-->
      <input type="submit" value="送信">
    </form>
   <?php
   //エラー表示をなくします
   error_reporting(0);
   //名前を変数に
    $name=$_POST["user_name"];
   //コメントを変数に
   $comment=$_POST["comment"];
   //時間の設定
   $date=date("Y-m-d H:i:s");
   //ファイルネイムの設定
   $filename="kadai_2_2.txt";
   //投稿番号の設定
   $num=count(file($filename))+1;
   //これらを繋げます
   $parts="$num<>$name<>$comment<>$date";
   //ファイルを開きます
   $fp=fopen($filename,"a");
   //名前、コメントどっちもからの時
   if(empty($name) && empty($comment)){
       echo "未記入箇所があります。<br>";
   }
   //名前がからの時
   elseif(empty($name) ){
       echo "名前を入力してください<br>";
   }
   //文章がからの時
   elseif(empty($comment)){
       echo "コメントを入力してください<br>";
   }
   //どっちも入ってるとき
   elseif(isset($name) && isset($comment)){
     fwrite($fp,$parts.PHP_EOL);
     fclose($fp);
   }
    ?>
  </body>
</html>
anonymous No title
PHP
<!DOCTYPE html>
<html lang= "ja">
   <!--head文開始-->
    <head>
        <meta charset= "UTF-8">
        <title>名前を表示させます</title>
    </head>
   <!--body文開始-->
   <body>
     <form  action="" method="post">
       <!--名前の取得-->
       <labe>名前</label>
       <input type="text" name="user_name">
       <!--送信ボタンを作る-->
       <input type="submit" name="submit" value="送信"><br>
     </form>
    <?php
    //名前が入力されるかつ送信が押されたらで条件分岐
     if(isset($_POST["submit"]) && isset($_POST["user_name"])){
       $fp=fopen("kadai_1_7.txt","a");
       fwrite($fp,$_POST["user_name"].PHP_EOL);
       fclose($fp);
     }
     //フォームに表示
        // 読み込むファイル名の指定
        $filename = "kadai_1_7.txt";
       // ファイルを全て配列に入れる
        $retarray = file( $filename );
       // 取得したファイルデータ(配列)を全て表示する
        for( $i = 0; $i < count($retarray); ++$i ) {
       // 配列を順番に表示する
        echo( $retarray[$i] . "<br />\n" );
      }
    ?>
   </body>
anonymous No title
PHP
<!DOCTYPE html>
<html lang= "ja">
   <!--head文開始-->
    <head>
        <meta charset= "UTF-8">
        <title>名前を表示させます</title>
    </head>
   <!--body文開始-->
   <body>
     <form  action="" method="post">
       <!--名前の取得-->
       <labe>名前</label>
       <input type="text" name="user_name">
       <!--送信ボタンを作る-->
       <input type="submit" name="submit" value="送信">
     </form>
    <?php
    //名前が入力されるかつ送信が押されたらで条件分岐
     if(isset($_POST["submit"]) && isset($_POST["user_name"])){
       //aで追記保存していきます
       $fp=fopen("kadai_1_6.txt","a");
       fwrite($fp,$_POST["user_name"].PHP_EOL);
       fclose($fp);
      }
    ?>
   </body>
anonymous No title
PHP
<!DOCTYPE html>
<html lang= "ja">
   <!--head文開始-->
    <head>
        <meta charset= "UTF-8">
        <title>名前を表示させます</title>
    </head>
   <!--body文開始-->
   <body>
     <form  action="" method="post">
       <!--名前の取得-->
       <labe>名前</label>
       <input type="text" name="user_name">
       <!--送信ボタンを作る-->
       <input type="submit" name="submit" value="送信">
     </form>
    <?php
    //名前が入力されるかつ送信が押されたらで条件分岐
     if(isset($_POST["submit"]) && isset($_POST["user_name"])){
       //aで追記保存していきます
       $fp=fopen("kadai_1_6.txt","a");
       fwrite($fp,$_POST["user_name"].PHP_EOL);
       fclose($fp);
      }
    ?>
   </body>
anonymous No title
PHP
<?php
  $fp = fopen("kadai_1_2.txt", "r");
  $text = fgets($fp);
  echo $text;
  fclose($fp);
?>
anonymous No title
PHP
<?php
  $fp = fopen("kadai_1_2.txt", "w") ;
  fwrite($fp, "テストです");
  fclose($fp);
?>
anonymous No title
PHP
<?php echo "<h1> Hello World </h1>";?>
anonymous No title
PHP
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>mission_2-2.php</title>
</head>
<body>
    <!--フォーム作成と初期値設定-->
    <!--フォームからPOST送信-->
    <form action="mission_2-2.php" method="post">
        <input type="text" name="comment">
        <input type="submit" name="submit">
    </form>
    
    <?php
        //もし送信されたフォーム内に文字列が入っていたら
        //もしコメントが空でなければ
        if(isset($_POST["comment"])){
        //POST受信する
        $str=$_POST["comment"];
        
        }
        //もしフォームが存在すれば
        if(file_exists("mission_2-2.php")) {
            //変数にPOSTされた数値を代入
            $text = $str;
            //ファイル名を決める
            $filename="mission_2-2.txt";
            //もしコメントが空でなければ
            if(isset($text)){
            //ファイルを書き込みモードでオープンする
            $fp = fopen($filename,"w");
            //書き込む数値(文字列)を変数に代入する
            //ファイルに書き込む
            fwrite($fp, $text.PHP_EOL);
            //ファイルを閉じる
            fclose($fp);
            
            }
                //要素が完成!ならおめでとう!とWEBに表示する。それ以外は要素のまま表示する
                if($text=="完成!") {
                     echo "おめでとう!";
                } 
        
            }

    ?>
</body>
</html>
anonymous No title
PHP
<html>
<form action="" method="Post">
<head><title>mission_3-3</title></head>
        <input type="comment" name="com" placeholder=
        "コメント">
        <input type="submit" name="submit">
        <body><br><br></body>
<input type="number" name="num" placeholder="削除する番号">
<input type="submit" name="delete" value="削除"> 
</form>
<?php
$com=$_POST["com"];
$num=$_POST["num"];
//ファイルの読み込み
$filename="mission_3-3.txt";
if(file_exists($filename)){
$fq=fopen($filename,"r");
$txt = fgets($fq);
foreach($txt as $line){
$a=explode("<>",$line);
}
fclose($fq);
}

//削除
if(empty($num));
else{
$fp=fopen($filename,"w");
foreach($a as $line2){
     if($line2=$a[$num]);
     else{fwrite($fp,$a.PHP_EOL);}
}
}
fclose($fp);

//コメントの追加
if(empty($com));
else{
$fp1=fopen($filename,"a");
fwrite($fp1,$com.PHP_EOL);
fclose($fp1);
}
?>
</html>
anonymous No title
PHP
<?php
$item_name='';
$price ='';
$stock = '';
$status='';
$update_stock='';
$host = 'localhost';
$username = '********';
$password = '********';
$dbname = '********';
$charset = 'utf8';
$process_kind = "";
$date = date('Y-m-d H:i:s');
$delete ='';

$dsn = 'mysql:dbname='.$dbname.';host='.$host.';charset='.$charset;

$img_dir    = './img/';    
$data       = array();
$err_msg    = array(); 
$clear_msg  = array();
$new_img_filename = ''; 

try {
  $dbh = new PDO($dsn, $username, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES utf8mb4'));
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    
  if(isset($_POST['process_kind'])=== TRUE){
      $process_kind=$_POST['process_kind'];
    }
  if($process_kind==='insert_item'){
    
    if(isset($_POST['item_name']) === TRUE) {
        $item_name = $_POST['item_name'];
      }
      if(isset($_POST['price']) === TRUE) {
        $price = $_POST['price'];
      }
      if(isset($_POST['stock'])=== TRUE) {
        $stock = $_POST['stock'];
      }
      if(isset($_POST['status'])=== TRUE) {
        $status = $_POST['status'];
      }
      if($item_name === '') {
        $err_msg[] = '商品名を入力してください';
      }
      if($price === '') {
        $err_msg[] = '価格を入力してください';
        
      } else if (preg_match("/^[0-9]+$/",$price)!==1) {
        $err_msg[] = "価格を0以上の半角数字で入力してください"; 
      }
      if($stock === '') {
        $err_msg[] = '個数を入力してください';
        
      } else if (preg_match("/^[0-9]+$/",$stock)!==1) {
        $err_msg[] = "個数を0以上の半角数字で入力してください";
      } 
      if(preg_match('/^[01]$/',$status)===0){
        
        $err_msg[] = 'ステータス値が不正です';
      }
      
      if (is_uploaded_file($_FILES['new_img']['tmp_name']) === TRUE) {
      
        $extension = pathinfo($_FILES['new_img']['name'], PATHINFO_EXTENSION);
      
        if ($extension === 'png' || $extension === 'jpeg'|| $extension === 'jpg') {
       
          $new_img_filename = sha1(uniqid(mt_rand(), true)). '.' . $extension;
        
          if (is_file($img_dir . $new_img_filename) !== TRUE) {
          
            if (move_uploaded_file($_FILES['new_img']['tmp_name'], $img_dir . $new_img_filename) !== TRUE) {
              $err_msg[] = 'ファイルアップロードに失敗しました';
            }
          } else {
            $err_msg[] = 'ファイルアップロードに失敗しました。再度お試しください。';
          }
        } else {
          $err_msg[] = 'ファイル形式が異なります。画像ファイルはJPEGとPNGのみ利用可能です。';
        }
      } else {
        $err_msg[] = 'ファイルを選択してください';
      }
      
      
      
      
      if (count($err_msg) === 0 && $_SERVER['REQUEST_METHOD'] === 'POST') {
         
        $dbh->beginTransaction(); 
        try {
          $sql = 'INSERT INTO ec_item_master (item_name,price,img,status,create_datetime)
          VALUES(?, ?, ?, ?, now())';
  
          $stmt = $dbh->prepare($sql);
  
          $stmt->bindValue(1, $item_name,    PDO::PARAM_STR);
          $stmt->bindValue(2, $price, PDO::PARAM_INT);
          $stmt->bindValue(3, $new_img_filename,    PDO::PARAM_STR);
          $stmt->bindValue(4, $status, PDO::PARAM_INT);
  
          $stmt->execute();
          
          $item_id = $dbh->lastInsertId();
          print '商品を追加しました</br>';
          
          $sql = 'INSERT INTO ec_item_stock (item_id,stock,create_datetime,update_datetime)
          VALUES(?,?,now(),now())';
  
          $stmt = $dbh->prepare($sql);
      
          $stmt->bindValue(1,$item_id, PDO::PARAM_INT);
          
          $stmt->bindValue(2,$stock, PDO::PARAM_INT);
          
          $stmt->execute();
   
          $user = $stmt->fetchAll();
      
          $dbh->commit();
      
          print 'データ登録完了';
        } catch (PDOException $e) {
          throw $e;
          $dbh->rollback();
        
          $err_msg[] = 'データの追加に失敗しました';
          
        }
      } 
    
      
      }else if ($process_kind==='update_stock'){
        if(isset($_POST['stock'])===TRUE){
          $stock=$_POST['stock'];
        }
        if(isset($_POST['item_id'])===TRUE){
          $item_id=$_POST['item_id'];
        }
        if($stock === '') {
          $err_msg[] = '在庫数を入力してください';
    
        } else if (preg_match("/^[0-9]+$/",$stock)!==1) {
          $err_msg[] = "在庫数は0以上の半角数字で入力してください"; 
        }
        
        if(preg_match('/^[0-9]+$/',$item_id)===0){
            $err_msg[] = 'item_idの値が不正です';
        }
      
       if(empty($err_msg)){ 
      
      try{
        
          $sql='update ec_item_stock set stock = ? , update_datetime = ? where item_id = ?';
           
          $stmt = $dbh->prepare($sql);
           
          $stmt->bindValue(1,$stock, PDO::PARAM_INT);
          $stmt->bindValue(2,$date, PDO::PARAM_STR); 
          $stmt->bindValue(3,$item_id,PDO::PARAM_INT);
          
          $stmt->execute();
          print'在庫数を変更しました';
        } catch (PDOException $e) {
          
            throw $e;
      }
    }
      }else if ($process_kind==='change_status'){
        
          if(isset($_POST['status'])===TRUE){
            $status = $_POST['status'];
          }  
          if(isset($_POST['item_id'])===TRUE){
            $item_id = $_POST['item_id'];
          }
          if(preg_match('/[01]/',$status) !== 1){
            $err_msg[] ='不正なステータスが指定されています。';
          }
          if(empty($err_msg)) { 
          $clear_msg[] = 'ステータスが変更されました';
          }
        try{
          
          if(empty($err_msg)){
            if($status === '0'){
              $status = 1;
            }else{
              $status = 0;
            }
            $sql = 'UPDATE ec_item_master SET status = ? ,update_datetime = ? WHERE item_id = ?';
            
            $stmt = $dbh->prepare($sql);
            
            $stmt->bindValue(1,$status, PDO::PARAM_INT);
            $stmt->bindValue(2,$date, PDO::PARAM_STR); 
            $stmt->bindValue(3,$item_id,PDO::PARAM_INT);
              
            
            $stmt->execute();
          }
          
        
        
        } catch (PDOException $e){
          throw $e;
        }
      
      }else if($process_kind==='delete_item'){
        
        if(isset($_POST['item_id'])===TRUE){
            $item_id = $_POST['item_id'];
          }
        if(preg_match('/^[0-9]+$/',$item_id)===0){
            $err_msg[] = 'item_idの値が不正です';
        }
        
        if(empty($err_msg)){
           $dbh->beginTransaction(); 
          try {
            $sql='DELETE FROM ec_item_stock WHERE item_id = ?';
            $stmt = $dbh->prepare($sql);
            $stmt->bindValue(1, $item_id,    PDO::PARAM_INT);
            $stmt->execute();
            
            $sql='DELETE FROM ec_item_master WHERE item_id = ?';
            $stmt = $dbh->prepare($sql);
            $stmt->bindValue(1,$item_id, PDO::PARAM_INT);
            $stmt->execute();

            $dbh->commit();
            $clear_msg[]= 'データ削除完了';
          } catch (PDOException $e) {
            throw $e;
            $dbh->rollback();
          
            $err_msg[] = 'データの削除に失敗しました';
            
          }
          
        }
        
        
      }

  }
    
    $sql = 'SELECT ec_item_master.item_id,item_name,price,img,status,stock_id,stock FROM ec_item_master INNER JOIN ec_item_stock ON ec_item_master.item_id = ec_item_stock.item_id';
      
    $stmt = $dbh->prepare($sql);
    
    $stmt->execute();
    
    $rows = $stmt->fetchAll();
    
    foreach ($rows as $row) {
      $data[] = $row;
    }
} catch(PDOException $e) {
  $err_msg['db_connect'] = 'DBエラー:' .$e->getMessage();
}

?>

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
    <title>ECサイト</title>
</head>
<body>
    <h1>管理ページ</h1>
    <?php if (count($clear_msg) !== 0) {
    foreach ($clear_msg as $clear) { ?>
      <p><?php print $clear; ?></p>
    <?php }
    } ?>

    <?php if (count($err_msg) !== 0) {
    foreach ($err_msg as $err) { ?>
      <p class="err"><?php print $err; ?></p>
    <?php }
    } ?>
        <h2>商品登録</h2>
        <form method="post" enctype="multipart/form-data">
        <div>商品名:<input type="text" name="item_name"/></div>
        <div>値 段:<input type="text" name="price"/></div>
        <div>部 数:<input type="text" name="stock"/></div>
        <div>商品画像:<input type="file" name="new_img"></div>
        <div>
            ステータス:
        <select name="status">
          <option value="1">公開</option>
            <option value="0">非公開</option>
        </select>
        </div>
        <div><input type="submit" name="insert_item" value="登録をする"/></div>
        <input type="hidden" name="process_kind" value="insert_item">
        </form>
        <h2>商品情報一覧・変更</h2>
        <p>商品一覧</p>
        <table>
            <tr>
                <th>商品画像</th>
                <th>商品名</th>
                <th>価格</th>
                <th>在庫数</th>
                <th>ステータス</th>
                <th>削除ボタン</th>
            </tr>
            <?php foreach ($data as $value) { ?>
            <?php $btn_label = $value['status']===0 ? '非公開 → 公開' :' 公開 → 非公開'; ?>
            <tr <?php echo $value['status']===0 ? 'class="gray"' :''; ?>>
                <form method="post">
                  <td><img src ="<?php print $img_dir . $value['img'];?>"></td>
                  <td><?php print htmlspecialchars ($value['item_name'],ENT_QUOTES);?></td>
                  <td><?php print htmlspecialchars ($value['price'],ENT_QUOTES);?>円</td>
                  <td><input type="text" name="stock" value="<?php print htmlspecialchars ($value['stock'],ENT_QUOTES);?>">個&nbsp;&nbsp;<input type="submit" name="update_stock" value="変更"
Don't you submit code?
Submit