index.html <!DOCTYPE html> <html> <head> <script> location.href='index.php' </script> </head> </html> sessionCheck.php <?php session_start(); if (!isset($_SESSION['userName'])) { header("Location: logout.php"); exit; } else { //Retrieve all Session Variables that you wish to recover $userName = $_SESSION["userName"]; $userFirstName = $_SESSION["userFirstName"]; $userLastName = $_SESSION["userLastName"]; $userRole = $_SESSION["userRole"]; } ?> index.php <?php require ('sessionCheck.php'); ?> <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Teddy Bear Website - Home</title> <link href="css/teddybearsrus.css" rel="stylesheet" type="text/css"> </head> <body> <div id="app"> <header> <h1>Teddy Bears R Us</h1> </header> <?php require("nav.php"); ?> <main> <h1>Teddy Bears Home</h1> <p>My wonderful teddy bear website</p> </main> <footer> (c) Copyright 2020 - Mr Lai - All rights reserved </footer> </div> </body> </html> <?php session_start(); session_unset(); session_destroy(); header("Location: login.php"); ?> login.php <?php session_start(); function dbConnect() { $dbserver = $_SERVER["SERVER_NAME"]; $dbuser = "tbUser"; $dbpassword = "password"; $dbname = "teddyrusdb"; $conn = mysqli_connect($dbserver,$dbuser,$dbpassword,$dbname); if (!$conn) {echo("fail dbconnect"); } return $conn; } function doPost($conn) { // initialise local variables $message = "Login unsuccessfully attempted. Try Again"; $retCode = 0; // The purpose of POST here is to get userName and pwd from screen fields // and check against the database //retrieve the content of the screen fields and store them in local variables $userName = $_POST["userName"]; $pwd = $_POST["pwd"]; //construct and execute SQL $sql = "SELECT u.firstName, u.lastName, u.role FROM users AS u WHERE u.userName = LOWER(?) AND u.pwd = LOWER(?)"; $stmt = mysqli_stmt_init($conn); // initialise statement area for execution if (mysqli_stmt_prepare($stmt, $sql)) { mysqli_stmt_bind_param($stmt,"ss",$userName, $pwd); //replace $ with actual value mysqli_stmt_execute($stmt); mysqli_stmt_bind_result($stmt, $userFirstName, $userLastName, $userRole); //db fields are stored here mysqli_stmt_store_result($stmt); $rows = mysqli_stmt_num_rows($stmt); if ($rows>0) { // if the user is found in database mysqli_stmt_fetch($stmt); //store fields into $_SESSION for reuse later $_SESSION["userName"] = $userName; $_SESSION["userFirstName"] = $userFirstName; $_SESSION["userLastName"] = $userLastName; $_SESSION["userRole"] = $userRole; // format return message $message = "Welcome ".$userFirstName." ".$userLastName.". You have the role: ".$userRole; } mysqli_stmt_close($stmt); //////////////////////////// tell students to add this } else { echo ("db failed"); $retCode = -9; } return array('retCode' => $retCode, 'message' => $message); } // //////////////////////////////////////////////////////////////////////////////////////////////////////// $method = $_SERVER["REQUEST_METHOD"]; $message = "Please enter username and password and submit to Login"; if ($method == "POST") { $conn = dbConnect(); // connect to database first //$db = new dbConnect(); //$conn = $db->getConn(); if (isset($conn)) { $dbarray = doPost($conn); // pass the connection into the POST processing - messages returned $retCode = $dbarray["retCode"]; $message = $dbarray["message"]; if ($retCode != 0) { $message = "Error: ".$message; } } else {echo ("DB error: No connection");} } ?> <!DOCTYPE html> <html> <head> <title>Teddy Bear Website - Login</title> <link href="css/teddybearsrus.css" rel="stylesheet" type="text/css"> </head> <body> <div id="app"> <header> <h1>Teddy Bears R Us</h1> </header> <?php require("nav.php"); ?> <main> <h1>Teddy Bears Login Page</h1> <p>Please login</p> <div> <form name="login" action="" method="post" class="loginform"> <div class="LUname"><label for "userName">Username</label></div> <div class="TUname"><input name="userName" type="text" required></input></div> <div class="LPwd">Password</div> <div class="TPwd"><input name="pwd" type="password" required></input></div> <div class="ResetBtn"><button type="reset">Restart</button></div> <div class="SubmitBtn"><button type="submit">Open Sesame!</button></div> </form> </div> <div><h3><?php echo($message); ?></h3></div> </main> <footer> (c) Copyright 2020 - Mr Lai - All rights reserved </footer> </div> </body> </html> feedback.php require ('sessionCheck.php'); function dbConnect() { $dbserver = $_SERVER["SERVER_NAME"]; $dbuser = "tbUser"; $dbpassword = "password"; $dbname = "teddyrusdb"; $conn = mysqli_connect($dbserver,$dbuser,$dbpassword,$dbname); if (!$conn) {echo("fail dbconnect"); } return $conn; } // getFeedbackList will get a list of feedback using SQL and format it with HTML // to send back to browser in a variable // that is echo'ed in the HTML function getFeedbackList($conn) { $sql = "SELECT fb.feedbackId, fb.username, fb.userFullName, fb.feedbackDate, fb.feedback FROM vwFeedback AS fb"; $fbl = ""; $result = mysqli_query($conn,$sql) or die(mysqli_error($conn)) ; $fbl .= "<div class='feedbackList'><table>"; $fbl .= "<tr><th>Username</th><th>Full Name</th><th>Feedback Date</th><th>Feedback Comments</th></tr>"; if (mysqli_num_rows($result)>=1) { while($row = mysqli_fetch_assoc($result)) { $userName = $row["username"]; $userFullName = $row["userFullName"]; $feedbackDate = $row["feedbackDate"]; $feedback = nl2br($row["feedback"]); $fbl .= "<tr><td width='15%'>$userName</td><td width='15%'>$userFullName</td><td width='15%'>$feedbackDate</td><td width='55%'>$feedback</td></tr>"; } } else { $fbl .= "<tr><td colspan='4' align='center'>".$_SESSION['userName'].", No feedback comments found</td></tr>"; } $fbl .= "</table></div>"; return $fbl; } // addFeedback will get information from SESSION and from the FORM and INSERT them into database function addFeedback($conn) { $message = "Add Feedback failed - try again"; //Initialise variables to insert into the database $userName = $_SESSION["userName"]; $userFirstName = $_SESSION["userFirstName"]; $userLastName = $_SESSION["userLastName"]; $userFullName = $_SESSION["userFirstName"].' '.$_SESSION["userLastName"]; $feedbackDate = DATE("Y-m-d"); $feedback = $_POST["feedback"]; //get feedback comments from the Form to put in DB if (!isset($feedback)) { $message = "Please fill in comments before submitting"; } else { $sql = "INSERT INTO feedback (username, feedbackDate, feedback) VALUES (?,?,?)"; $stmt = mysqli_stmt_init($conn); $message = $userFullName.", feedback unsuccessfully added"; if (mysqli_stmt_prepare($stmt, $sql)) { mysqli_stmt_bind_param($stmt,"sss",$userName, $feedbackDate, $feedback); if (mysqli_stmt_execute($stmt) or die(mysqli_stmt_error($conn))) { $message =$userFullName.", feedback successfully added"; } } mysqli_stmt_close($stmt); } return $message; } // ///////////////////////////////////////////////////////////////////////////////// // Main line of code $conn = dbConnect(); date_default_timezone_set("Australia/Sydney"); $userName = $_SESSION["userName"]; $userFullName = $_SESSION["userFirstName"].' '.$_SESSION["userLastName"]; $message = "Please enter feedback and submit"; $method = $_SERVER["REQUEST_METHOD"]; if ($method=="POST") { if (isset($_POST["btnAdd"])) { $message = addFeedback($conn); } else { $message = "Invalid function selected"; } } $feedbackList = getFeedbackList($conn) // ////////////////////////////////////////////////////////////////////////////// ?> <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Teddy Bear Website - Feedback</title> <link href="css/teddybearsrus.css" rel="stylesheet" type="text/css"> </head> <body> <div id="app"> <header> <h1>Teddy Bears R Us</h1> </header> <?php require("nav.php"); ?> <main> <h1>Teddy Bears Feedback</h1> <p>Please give me feedback about my wonderful teddy bear website</p> <h2>Feedback Comments</h2> <?php echo($feedbackList); ?> <p> <div class="feedbackForm"> <form name="feedbackForm" action="" method="post"> <table> <tr> <td>Name</td> <td><?php echo($userFullName." (".$userName.")"); ?> </td> </tr> <tr> <td>Date</td> <td><?php echo(date('l, j M Y')); ?></td> </tr> <tr> <td>Comment</td> <td><textarea name="feedback" rows="4" cols="50" required></textarea></td> </tr> <tr> <td><button type="reset">Start Again</button></td> <td><input type="submit" name="btnAdd" value="Send my Comments"></input></td> </tr> </table> </form> </p> </div> <div><h3><?php echo($message); ?></h3></div> </main> <footer> (c) Copyright 2020 - Mr Lai - All rights reserved </footer> </div> </body> </html> quiz.php<?php$message = "Please answer the quiz..."; $method = $_SERVER["REQUEST_METHOD"]; //Hit the submit button....process answering the quiz IF ($method == "POST") { $max = 3; $correct = 0; // Start from Q1 to MAX question and check that the Answer is correct, if it is add 1 to total correct for ($x = 1; $x <= $max; $x++ ) { if ($_POST["Q".$x] == "T") { $correct = $correct + 1; } } IF ($correct > 0) { $message = "Congratulations you got ".$correct." right out of ".$max; } ELSE { $message = "Sorry, you got none correct! Try again!"; } } ?><html><head><title>Teddy Bears R Us - Quiz </title><link rel="stylesheet" href="css/teddybears.css"></head><body><?phprequire("header.php");require("nav.php"); ?><main><h1>Teddy Bears R Us Quiz</h1><form name="quiz" id="quiz" action="" method="post"><table><tr><td><h3>Q1. Why did the teddy bears go into the woods?</h3></td></tr><tr><td><input type="radio" name="Q1" id="Q1A" value="F" required>A. To collect wood for the fire</input></td></tr><tr><td><input type="radio" name="Q1" id="Q1B" value="T" required>B. To have a picnic</input></td></tr><tr><td><input type="radio" name="Q1" id="Q1C" value="F" required>C. To visit little red riding hood</input></td></tr><tr><td><input type="radio" name="Q1" id="Q1D" value="F" required>D. To prepare for their Award Assembly</input></td></tr><tr><td><h3>Q2. Why did the teddy bears go into the woods?</h3></td></tr><tr><td><input type="radio" name="Q2" id="Q2A" value="F" required>A. To collect wood for the fire</input></td></tr><tr><td><input type="radio" name="Q2" id="Q2B" value="T" required>B. To have a picnic</input></td></tr><tr><td><input type="radio" name="Q2" id="Q2C" value="F" required>C. To visit little red riding hood</input></td></tr><tr><td><input type="radio" name="Q2" id="Q2D" value="F" required>D. To prepare for their Award Assembly</input></td></tr><tr><td><h3>Q3. Why did the teddy bears go into the woods?</h3></td></tr><tr><td><input type="radio" name="Q3" id="Q2A" value="F" required>A. To collect wood for the fire</input></td></tr><tr><td><input type="radio" name="Q3" id="Q2B" value="T" required>B. To have a picnic</input></td></tr><tr><td><input type="radio" name="Q3" id="Q2C" value="F" required>C. To visit little red riding hood</input></td></tr><tr><td><input type="radio" name="Q3" id="Q2D" value="F" required>D. To prepare for their Award Assembly</input></td></tr><tr><td><button type="submit" name="submit">Send Answer for Quiz</button></td></tr><tr><td><?php echo($message);?></td></tr></table></form></main><footer><p>(c) 2021 Mr Lai - All Rights Reserved</p></footer></body></html> |
12 IPT >
