Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.33 KB | None | 0 0
  1. <?php
  2. session_start();
  3. function DBConnection(){
  4.  
  5.     $host='localhost';
  6.     $dbname='tic_tac_toe';
  7.     $user='root';
  8.     $pass='';
  9.  
  10.     try {
  11.       $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
  12.       $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  13.         return $DBH;
  14.     }
  15.     catch(PDOException $e) {
  16.         echo 'ERROR: ' . $e->getMessage();
  17.     }
  18.  
  19. }//function ends
  20. function sqlexec($sql, $vars, $conn, $placeholder){
  21.     try {
  22.         $stmt = $conn->prepare($sql);
  23.         for ($i=0; $i < count($vars); $i++) {
  24.             $stmt->bindParam($placeholder[$i], $vars[$i]);
  25.         }
  26.         $result = $stmt->execute();
  27.         return $stmt;
  28.     } catch (Exception $e) {
  29.         echo 'Error: '.$e->getMessage();
  30.     }
  31. }
  32. $conn = DBConnection();
  33. $sql = "SELECT * FROM games WHERE gamer2=''";
  34. $stmt = sqlexec($sql,array(),$conn,array());
  35. if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  36.     $sql = "UPDATE games
  37.    SET gamer2 = :gamer2
  38.    WHERE id=:id";
  39.     $gamer2 = "guest".rand();
  40.     $_SESSION['id'] = $row['id'];
  41.     $gamer1 = "guest";
  42.     $stmt = sqlexec($sql,array($gamer2,$_SESSION['id']),$conn,array(':gamer2',':id'));
  43.     $_SESSION['player'] = $gamer2;
  44. }else {
  45.     $sql = "INSERT INTO games (gamer1,gamer2)
  46.    VALUES (:gamer1,:gamer2)";
  47.     $gamer1 = "guest".rand();
  48.     $gamer2 = "";
  49.     $stmt = sqlexec($sql,array($gamer1,$gamer2),$conn,array(':gamer1',':gamer2'));
  50.     $_SESSION['id'] = $conn->lastInsertId();
  51.     $turn = 'x';
  52. }
  53. ?>
  54. <!DOCTYPE html>
  55. <html>
  56.     <head>
  57.         <meta charset="utf-8">
  58.         <title>tic tac toe</title>
  59.         <link rel="stylesheet" href="style.css">
  60.         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  61.         <script type="text/javascript">
  62.             <?php if(isset($turn)){echo "var xo='x';
  63.                var turn = 0;";}
  64.             else{echo "var xo='o';
  65.                var turn = 0;";} ?>
  66.             <?php echo "var id=".$_SESSION['id'].""; ?>
  67.         </script>
  68.         <meta name="viewport" content="width=device-width, initial-scale=1">
  69. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  70. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  71. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  72.     </head>
  73.     <body>
  74.         <?php echo $gamer1.' vs '.$gamer2; ?>
  75.  
  76.     <div class="table-responsive vcenter">
  77.         <table>
  78.             <tr>
  79.                 <td class="td" id="td1" onclick="tdclk(this)"></td>
  80.                 <td class="td" id="td2" onclick="tdclk(this)"></td>
  81.                 <td class="td" id="td3" onclick="tdclk(this)"></td>
  82.             </tr>
  83.             <tr>
  84.                 <td class="td" id="td4" onclick="tdclk(this)"></td>
  85.                 <td class="td" id="td5" onclick="tdclk(this)"></td>
  86.                 <td class="td" id="td6" onclick="tdclk(this)"></td>
  87.             </tr>
  88.             <tr>
  89.                 <td class="td" id="td7" onclick="tdclk(this)"></td>
  90.                 <td class="td" id="td8" onclick="tdclk(this)"></td>
  91.                 <td class="td" id="td9" onclick="tdclk(this)"></td>
  92.             </tr>
  93.         </table>
  94.     </div>
  95.         <script type="text/javascript" src="script.js"></script>
  96.     </body>
  97. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement