IF 문이 참이라면 사용자에게 다른 페이지로 안내하는 가장 좋은 방법은 무엇입니까? 나는 PHP를 사용하여 다른 페이지로 사용자를 안내하는 페이지를 원한다. IF 문이 실행될 때,이 피곤하지만 작동하지 않는다 ??php를 사용하여 다른 페이지로 직접 사용자
if (mysqli_num_rows ($result) > 0)
{
header('Location: exist.php');
die();
}
아래는 전체 소스 코드입니다.
<?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>
가 작동하지 않는 이유는'헤더() '함수를 호출해야되기 때문이다. http://php.net/manual/en/function.header.php – mulquin
첫 번째 줄로 헤더를 이동하고 작동하는지 확인한 다음 다른 방법을 통해 내 대답을 따르고 자바 스크립트 대체 기능을 사용해보십시오. 헤더를 이미 보낸 경우 일반적으로 헤더 위치 문제가 발생합니다. – Iceman
[PHP에서 "헤더가 이미 전송되었습니다"오류를 해결하는 방법] (http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php) – Qirel