Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- function DBConnection(){
- $host='localhost';
- $dbname='tic_tac_toe';
- $user='root';
- $pass='';
- try {
- $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
- $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
- return $DBH;
- }
- catch(PDOException $e) {
- echo 'ERROR: ' . $e->getMessage();
- }
- }//function ends
- function sqlexec($sql, $vars, $conn, $placeholder){
- try {
- $stmt = $conn->prepare($sql);
- for ($i=0; $i < count($vars); $i++) {
- $stmt->bindParam($placeholder[$i], $vars[$i]);
- }
- $result = $stmt->execute();
- return $stmt;
- } catch (Exception $e) {
- echo 'Error: '.$e->getMessage();
- }
- }
- $conn = DBConnection();
- $sql = "SELECT * FROM games WHERE gamer2=''";
- $stmt = sqlexec($sql,array(),$conn,array());
- if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
- $sql = "UPDATE games
- SET gamer2 = :gamer2
- WHERE id=:id";
- $gamer2 = "guest".rand();
- $_SESSION['id'] = $row['id'];
- $gamer1 = "guest";
- $stmt = sqlexec($sql,array($gamer2,$_SESSION['id']),$conn,array(':gamer2',':id'));
- $_SESSION['player'] = $gamer2;
- }else {
- $sql = "INSERT INTO games (gamer1,gamer2)
- VALUES (:gamer1,:gamer2)";
- $gamer1 = "guest".rand();
- $gamer2 = "";
- $stmt = sqlexec($sql,array($gamer1,$gamer2),$conn,array(':gamer1',':gamer2'));
- $_SESSION['id'] = $conn->lastInsertId();
- $turn = 'x';
- }
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>tic tac toe</title>
- <link rel="stylesheet" href="style.css">
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
- <script type="text/javascript">
- <?php if(isset($turn)){echo "var xo='x';
- var turn = 0;";}
- else{echo "var xo='o';
- var turn = 0;";} ?>
- <?php echo "var id=".$_SESSION['id'].""; ?>
- </script>
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
- </head>
- <body>
- <?php echo $gamer1.' vs '.$gamer2; ?>
- <div class="table-responsive vcenter">
- <table>
- <tr>
- <td class="td" id="td1" onclick="tdclk(this)"></td>
- <td class="td" id="td2" onclick="tdclk(this)"></td>
- <td class="td" id="td3" onclick="tdclk(this)"></td>
- </tr>
- <tr>
- <td class="td" id="td4" onclick="tdclk(this)"></td>
- <td class="td" id="td5" onclick="tdclk(this)"></td>
- <td class="td" id="td6" onclick="tdclk(this)"></td>
- </tr>
- <tr>
- <td class="td" id="td7" onclick="tdclk(this)"></td>
- <td class="td" id="td8" onclick="tdclk(this)"></td>
- <td class="td" id="td9" onclick="tdclk(this)"></td>
- </tr>
- </table>
- </div>
- <script type="text/javascript" src="script.js"></script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement