Я хочу показать сладкое предупреждение, если sql верно, но это не работает.
Вот часть бэк-энда.
<?php
include "../../../config/config.php";
if (isset($_POST['submit-slider']))
{
$title = $_POST['title-slider'];
$description = $_POST['description-slider'];
$street = $_POST['street-slider'];
$phone = $_POST['phone-slider'];
$trip = $_POST['trip-slider'];
$web = $_POST['web-slider'];
$email = $_POST['email-slider'];
$target_dir = "../../../img/homepage/screen_4/";
$target_file2 = "" . basename($_FILES["img-slider"]["name"]);
$target_file = $target_dir . basename($_FILES["img-slider"]["name"]);$uploadOk = 1;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
// header("Location: /dashboard/views/slider/add_slider.php");
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["img-slider"]["tmp_name"], $target_file)) {//echo "The file ". basename( $_FILES["img"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}$query = "INSERT INTO images(title,
description,
street_1,
phone,
url,
trip_link,
img,
email
)
VALUES ('" . $title . "', '". $description . "', '". $street . "', '". $phone . "', '". $web . "', '". $trip . "', '". $target_file2 . "', '". $email . "')";
$result = mysqli_query($con, $query);
if ($result) {
$_SESSION['succes_slider'] = 1;
header("Location: /dashboard/views/slider/add_slider.php");
} else {
// $_SESSION['succes_slider'] = 0;
header("Location: /dashboard/views/slider/add_slider.php");
}
}
}
?>
И вот страница, где я хочу показать сладкое оповещение.
<?php
session_start();
if (!isset($_SESSION['name'])) {
header("Location: /dashboard/login.php");
}//include "../config/config.php";
include "../../components/header.php";
include "../../components/menu.php";if (isset($_SESSION['succes_slider']) == 1) {
echo" <script>
$(document).ready(function() {
swal('Succes','','succes');
});
</script>";
}?>
</aside><!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Hello
<small>HI</small>
</h1>
</section>
<!-- Main content -->
<section class="content">
Я не знаю, почему не работает, и я знаю, что мой код уязвим в MySql Injection, но сейчас я не работаю над этим.
Сладкое предупреждение работает на моей странице входа в систему, если может помочь кому-то узнать, почему не работает на другой странице ..
Вот бэкэнд логина
if (isset($_POST['login'])) {
$email = mysqli_real_escape_string($con, $_POST['email']);
$password = mysqli_real_escape_string($con, $_POST['password']);$sql = "SELECT * FROM users WHERE email='" . $email . "' AND password='" . md5($password) . "'";$result = mysqli_query($con, $sql);$row_count = mysqli_num_rows($result);if ($row_count != 0) {
$row = mysqli_fetch_assoc($result);$_SESSION['email'] = $email;
$_SESSION['name'] = $row['name'];header("Location: /dashboard/index.php");
} else {
$_SESSION['error'] = 1;
header("Location: /dashboard/login.php");
}
}
Внешний интерфейс для входа в систему такой же, как и на другой странице, разница заключается в названии сеанса.
Вы должны использовать session_start перед использованием любого из $ _SESSION. Более того, я видел, что вы используете include, я предлагаю вам перейти по требованию, потому что это вызовет ошибки в случае, если у вас нет файла.
Еще одно предложение — проверить, существуют ли файлы, прежде чем включать / требовать их в своем скрипте.
<?php
// include "../../../config/config.php";
// if a file is missing include won't trigger an error
require "../../../config/config.php";
// always include session_start where you plan to use $_SESSION
session_start();
if (isset($_POST['submit-slider']))
В вашем первом файле вы должны использовать session_start()
тоже.
Вы назначаете $_SESSION['succes_slider'] = 1;
, но в этом файле сеанс не начался.
Так что просто используйте session_start();
на первой строке вашего первого кода, и это работает.
Я думаю, что вы не использовали тег Session Started code в файле …
Добавьте это сразу после того, как вы требуете:
session_start();