Guest User

Untitled

a guest
Aug 19th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. <?php
  2. //sql接続
  3. $dsn = ;
  4. $user = ;
  5. define(PASS,'パスワード');
  6. $pdo = new PDO ($dsn,$user,PASS);
  7.  
  8.  
  9. $sql = "CREATE TABLE mybbs"
  10. ."("
  11. ."id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,"
  12. ."name char(43),"
  13. ."comment TEXT"
  14. .")";
  15.  
  16. $stmt = $pdo -> query($sql);
  17.  
  18. $password = $_POST['pass'];
  19. $table_name = "mybbs";
  20.  
  21. $name = $_POST['name'];
  22. $comm = $_POST['comment'];
  23. $edi_num = $_POST['edi_num'];
  24. $edi_row = $_POST['edi_row'];
  25. $edi_bool = $_POST['edi_bool'];
  26. if(empty($edi_row)){
  27. $edi_bool = false;
  28. }
  29.  
  30. $del_num = $_POST['del_num'];
  31.  
  32. function check_password($password){
  33. $bool = false;
  34. if(empty($password)){
  35. echo 'パスワードを入力してください<br />';
  36. }elseif(strpos($password,'パスワード') == true){
  37. $bool = true;
  38. }
  39. return $bool;
  40. }
  41.  
  42. if(!empty($password)){
  43. $pdo = new PDO(
  44. $dsn,$user,$password,array(
  45. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  46. PDO::ATTR_EMULATE_PREPARES => false));
  47. }
  48. //edition
  49. if($edi_bool){
  50. if(strstr($password,'パスワード')){
  51. $sql = "UPDATE $table_name SET name = '$name',comment='$comm' WHERE id = $edi_row";
  52. $result = $pdo -> query($sql);
  53. }
  54. }
  55. if(ctype_digit($edi_num)){
  56. if(strstr($password,'パスワード')){
  57. $sql = "SELECT * FROM $table_name";
  58. $result = $pdo -> query($sql);
  59. foreach($result as $row){
  60. if($edi_num == $row['id']){
  61. $edi_row = $edi_num;
  62. $edi_bool = true;
  63. $edi_name = $row['name'];
  64. $edi_comm = $row['comment'];
  65. }
  66. }
  67. }
  68. }
  69.  
  70. //delete
  71. if(ctype_digit($del_num)){
  72. if(strstr($password,'パスワード')){
  73. $sql = "DELETE FROM $table_name WHERE id = $del_num";
  74. $result = $pdo -> query($sql);
  75. }
  76. }
  77.  
  78. //register
  79. if(!empty($name) and !empty($comm) and !$edi_bool){
  80. if(strstr($password,'パスワード')){
  81. $sql = $pdo -> prepare("INSERT INTO mybbs (id,name,comment) VALUES (:id,:name, :comment)");
  82. $sql -> bindParam(':name',$name,PDO::PARAM_STR);
  83. $sql -> bindParam(':comment',$comm,PDO::PARAM_STR);
  84. $sql -> execute();
  85. $date = date("Y/m/d H:i");
  86. echo $name.",".$comm."を受け付けました".$date;
  87. }
  88. }
  89.  
  90.  
  91. ?>
  92.  
  93. <!DOCTYPE html>
  94. <html>
  95. <body>
  96.  
  97. <form action = "mission4.php" method = "post">
  98. 名前:<input type = "text" name = "name" value = <?php echo $edi_name; ?>><br/>
  99. コメント:<input type = "text" name = "comment" value =<?php echo $edi_comm;?>><br/>
  100. <br/>
  101. 削除対象番号: <input type = "text" name = "del_num" value = ""><br/>
  102. 編集対象番号: <input type = "text" name = "edi_num" value = ""><br/>
  103. <br/>
  104. パスワード:<input type = "text" name = "pass" placeholder = "パスワードは必須です"></br>
  105.  
  106. <input type = "hidden" name = "edi_row" value = <?php echo $edi_row;?>>
  107. <input type = "hidden" name = "edi_bool" value = <?php echo $edi_bool;?>>
  108. <input type = "submit" value = "送信">
  109.  
  110.  
  111. </form>
  112.  
  113. </body>
  114. </html>
  115.  
  116. <?php
  117. //データベース削除
  118. //$sql = 'DELETE FROM '.$table_name;
  119. //$result = $pdo -> query($sql);
  120. //データベースの要素追加
  121. //$sql = "INSERT INTO $table_name VALUES('1','hominyan','kawaii');
  122.  
  123. //データベースの要素削除
  124. //$sql = "DELETE FROM $table_name where id = 3";
  125.  
  126. //型を変更,オートインクリメントに
  127. //$sql = "ALTER TABLE mybbs CHANGE id id INT AUTO_INCREMENT PRIMARY KEY";
  128. //$result = $pdo -> query($sql);
  129.  
  130.  
  131. //表示
  132. $sql = "SELECT * FROM $table_name";
  133. $result = $pdo -> query($sql);
  134. echo 'データベース内部<br />';
  135. echo 'id |'.'name |'.' comment '.'<br>';
  136. $db_count = 0;
  137. foreach($result as $row){
  138. /*
  139. print_r($row);
  140. echo '<br/>';
  141. */
  142. echo $row['id'].'|';
  143. echo $row['name'].'|';
  144. echo $row['comment'].'<br>';
  145. $db_count++;
  146. }
  147.  
  148. //投稿番号リセット
  149. if(!$db_count){
  150. $sql = "ALTER TABLE $table_name AUTO_INCREMENT = 0";
  151. $result = $pdo -> query($sql);
  152. }
  153. ?>
Add Comment
Please, Sign In to add comment