Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. <?php
  2.  
  3. class NariChat
  4. {
  5. public function main()
  6. {
  7. if ($_POST['tgf'])
  8. {
  9. if ($_POST['msg'])
  10. {
  11. NariChat::putContents('msg');
  12. }
  13. NariChat::redirect('index.php');
  14. }
  15. }
  16.  
  17. public static function putContents($str)
  18. {
  19. $conn = DB::connect();
  20. $msg = filter_input(INPUT_POST, $str);
  21. $dao = DaoChat();
  22. $dao->put($conn, $msg);
  23. $conn->commit();
  24. }
  25.  
  26. public static function getContents()
  27. {
  28. $conn = DB::connect();
  29. $dao = DaoChat();
  30. $msgs = $dao->get($conn);
  31. return htmlspecialchars(var_export($msgs,true));
  32. }
  33.  
  34. public static function redirect($url)
  35. {
  36. ob_start();ob_end_clean();
  37. header('Location:'.$url);
  38. exit;
  39. }
  40. }
  41. $cls = new NariChat();
  42. $cls->main();
  43. ?><!DOCTYPE html>
  44. <html lang="ja">
  45. <head>
  46. <meta charset="utf-8" />
  47. <title>ナリチャット</title>
  48. </head>
  49. <body>
  50. <h1>ナリチャット</h1>
  51. <p>JAPANESE ONRY m(__)m</p>
  52. <marquee>welcome</marquee>
  53. <p>工事中<p>
  54. <p><a href="#" onclick="javascript:alert('工事中')">過去ログ検索</a></p>
  55. <form action="index.php" method="POST">
  56. <input name="msg" />
  57. <input name="tgf" type="submit" />
  58. </form>
  59. <p>
  60. <pre><?php echo NariChat::getContents() ?></pre>
  61. </p>
  62. </body>
  63. </html>
  64. <?php
  65.  
  66. class DB
  67. {
  68. const HOST = 'localhost';
  69. const DBNAME = 'ixi';
  70. const USER = 'ixi';
  71. const PASS = 'pass';
  72. public static function connect()
  73. {
  74. try {
  75. $pdo = new PDO(
  76. 'mysql:host='.self::HOST.';dbname='.self::DBNAME.';charset=utf8',
  77. self::USER,
  78. self::PASS,
  79. array(PDO::ATTR_EMULATE_PREPARES => false)
  80. );
  81. } catch (PDOException $e) {
  82. echo 'データベース接続失敗。'.$e->getMessage();
  83. exit;
  84. }
  85.  
  86. return $pdo;
  87. }
  88. }
  89.  
  90. define(DATETIME_MYSQL, 'Y-m-d H:i:s');
  91. class DaoChat
  92. {
  93. const TBL_NAME_CHAT = 'CHAT';
  94.  
  95. public function put(PDO $conn, $msg)
  96. {
  97. $sql = '
  98. insert into
  99. '.self::TBL_NAME_CHAT.'
  100. (
  101. REG_DT
  102. ,UPD_DT
  103. ,MSG
  104. ) values (
  105. :REG_DT
  106. ,:UPD_DT
  107. ,:MSG
  108. )';
  109. $stmt = $conn->prepare($sql);
  110. $stmt->bindValue(':REG_DT', date(DATETIME_MYSQL));
  111. $stmt->bindValue(':UPD_DT', date(DATETIME_MYSQL));
  112. $stmt->bindValue(':MSG', $msg);
  113. return $stmt->execute;
  114. }
  115.  
  116. public function get(PDO $conn)
  117. {
  118. $sql = '
  119. select
  120. *
  121. from
  122. CHAT
  123. order by
  124. UPD_DT desc
  125. ';
  126. $stmt = $conn->prepare($sql);
  127. $stmt->execute;
  128. return $stmt->fetchAll();
  129. }
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement