Я уже давно ломаю голову над этой проблемой, но пока не нашел ее. У меня есть форма (в index. php), которая загружает пользовательский ввод в базу данных после нажатия кнопки отправки. Как и ожидалось, я перенаправлен на add_records. php после нажатия кнопки submit, но затем я застрял на нем, несмотря на включение строки
header("location: index.php")
Перенаправление работает нормально, если я закомментирую весь код mysqli , поэтому я пришел к выводу, что ошибка связана с mysqli и загрузкой в базу данных (возможно, я неправильно обрабатываю географические данные). Я сделал все, как обычно - проверил журнал ошибок, проверил на наличие ошибок в PHPMyAdmin, но все не показывает ошибок! Я показал приведенный ниже код, чтобы помочь в устранении неполадок, со всей конфиденциальной информацией, замененной на '#' (обратите внимание: я несколько раз проверял пароль базы данных et c., И они верны).
index. php:
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: ##/records/login.php");
exit;
}
echo file_get_contents("##/code/header.php");
?>
<div class="page-header">
<h1>Hi, <b><?php echo htmlspecialchars($_SESSION["username"]); ?></b>. Welcome to our site.</h1>
</div>
<form action="##/records/add_records.php" method="POST">
<input type="text" name="species" placeholder="Species">
<br>
<input type="date" name="date" placeholder="Date">
<br>
<input type="time" name="time" placeholder="Time">
<br>
<input type="location" name="location" placeholder="Location Name">
<br>
<input type="text" name="lat/long" placeholder="Lat Long">
<br>
<input type="number" name="count" placeholder="Count">
<br>
<input type="text" name="county" placeholder="County (default Norfolk)">
<br>
<input type="text" name="country" placeholder="Country (default United Kingdom)">
<br>
<input type="text" name="notes" placeholder="Notes">
<br>
<button type="submit" name="submit">Submit</button>
</form>
<p>
<a href="##/records/logout.php" class="btn btn-danger">Sign Out of Your Account</a>
</p>
<?php echo file_get_contents("##/code/footer.php"); ?>
add_records. php:
<?php include_once '##/records/config_bird_records.php';
$species = mysqli_real_escape_string($conn, $_POST['species']);
$date = mysqli_real_escape_string($conn, $_POST['date']);
$time = mysqli_real_escape_string($conn, $_POST['time']);
$location = mysqli_real_escape_string($conn, $_POST['location']);
$latlong = mysqli_real_escape_string($conn, $_POST['latlong']);
$count = mysqli_real_escape_string($conn, $_POST['count']);
$county = mysqli_real_escape_string($conn, $_POST['county']);
$country = mysqli_real_escape_string($conn, $_POST['country']);
$notes = mysqli_real_escape_string($conn, $_POST['notes']);
$sql = "INSERT INTO bird_db (Species, Date, Time, Location, Lat/Long, Count, County, Country, Notes) VALUES ('$species', $date, $time, '$location', geography::STGeomFromText('POINT($latlong)', 4326), $count, '$county', '$country', '$notes')";
mysqli_query($conn, $sql);
mysqli_close($conn);
header("location: ##/records/index.php")
?>
config_bird_records. php:
<?php
/* Database credentials.*/
define('DB_SERVER', '##');
define('DB_USERNAME', '##');
define('DB_PASSWORD', '##');
define('DB_NAME', '##');
/* Attempt to connect to MySQL database */
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
// Check connection
if($conn === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>
Спасибо за любую помощь, Луис