what is the best way to direct the user to another page given the IF statement is true. i want the page to direct the user to another page using PHP, when the IF statement is run, i tired this but it doesn't work??
if ( mysqli_num_rows ( $result ) > 0 ) { header('Location: exist.php'); die(); } Below is the full source code for the page.
<?php // starts a session and checks if the user is logged in error_reporting(E_ALL & ~E_NOTICE); session_start(); if (isset($_SESSION['id'])) { $userId = $_SESSION['id']; $username = $_SESSION['username']; } else { header('Location: index.php'); die(); } ?> <!DOCTYPE html> <html lang="en"> <head> </head> <body> <p><span>Room No: </span><?php $room = $_SESSION['g']; echo $room; // echo's room ?> </p> <p><span>Computer No: </span><?php $select3 = $_POST['bike']; echo $select3; ?> </p> <p><span>Date: </span><?php $date = $_POST['datepicker']; echo $date; // echo's date ?> </p> <p><span>Start Session: </span> <?php if(isset($_POST['select1'])) { $select1 = $_POST['select1']; echo $select1; echo ""; } else{ echo "not set"; } ?> </p> <p><span>End Session: </span> <?php if(isset($_POST['select2'])) { $select2 = $_POST['select2']; echo $select2; echo ""; } else{ echo "not set"; } ?> </p> </div> <div id="success"> <?php $servername = "localhost"; $name = "root"; $password = "root"; $dbname = "my computer"; // Create connection $conn = mysqli_connect($servername, $name, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $query = "SELECT * FROM `booked` WHERE `date` = '{$date}' AND `computer_id` = '{$select3}' AND `start_time` = '{$select1}' AND `end_time` = '{$select2}' AND `room` = '{$room}' "; $result = mysqli_query($conn, $query); if ( mysqli_num_rows ( $result ) > 0 ) { header('Location: exist.php'); die(); } else { $sql = "INSERT INTO booked (date, computer_id, name, start_time, end_time, room) VALUES ('$date', '$select3', '$username', '$select1', '$select2', '$room')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); } ?> </div> <form action="user.php"> <input type="submit" value="book another" class="bookanother" /> </form> </div> </body> </html>
header()function must be called before any output is sent to the browser. php.net/manual/en/function.header.php