Вы должны перенаправить страницу в home.php
на любых условиях, но вы еще не сделали этого.
Если mysqli_query()
после выполнения возвращается FALSE
или TRUE
, то расположение заголовка будет выполнено, и это нецелесообразно. Так как вам нужно echo
SESSION variable
на странице home.php
.
Вы можете проверить состояние, подобное этому, если необходимо.
if(mysqli_query($db, $sql))
{
// Here you can handle the TRUE loop
$_SESSION["title"] = $title;
header("location: home.php");
}
else
{
// Here you can handle the FALSE loop
}
И в home.php
вы должны внести следующие изменения для того, чтобы отобразить переменную сеанса для печати.
Проверить Очки для печати переменной сессии в другой странице
- Убедитесь, что у вас есть
session_start()
в верхней части страницы, так что вам нужно, чтобы получить супер глобальные переменную к этой странице.
- Если вам нужно показать все, что запрашивается из БД, вам необходимо убедиться, что соединение БД с этой страницей.
- Если возникла ошибка заголовка, попробуйте перезапустить буферизацию вывода на страницу, где вы начали местоположение заголовка. Вы можете перезапустить буферизацию вывода с помощью
ob_start()
ob_start()
необходимо использовать, только если вы получили header already sent error
в проблемах с перенаправлением.
Использование ob_start()
:
Думая о ob_start()
, как говорят «Start запоминанием все, что, как правило, выводимый, но не совсем ничего сделать с ним еще.»
Пример:
ob_start();
echo("Welcome User!"); //would normally get printed to the screen/output to browser
$output = ob_get_contents();
ob_end_clean();
ob_start()
- Включить буферизацию вывода
Эта функция включит выход буферизацию. В то время как буферизация вывода активна, никакой вывод не отправляется из сценария (кроме заголовков), вместо этого вывод сохраняется во внутреннем буфере.
Содержимое этого внутреннего буфера может быть скопировано в строковую переменную с использованием ob_get_contents()
. Чтобы вывести то, что хранится во внутреннем буфере, используйте ob_end_flush(). В качестве альтернативы ob_end_clean()
будет молча отбрасывать содержимое буфера.
Возврат TRUE по успеху или FALSE при отказе.
И к вопросу вы сделали вы должны сделать некоторые изменения
Вы запустили session
и это хорошо, но вы приложили к php
на эхо-заявление и выглядит некорректно.
Заменить:
php echo $_SESSION["title"];
с:
echo $_SESSION["title"];
Скорее все остальные коды в порядке.
И в целом вся страница будет выглядеть так.
<?php
session_start();
$db = mysqli_connect("localhost", "root", "", "store");
if (isset($_POST['button'])) {
//session_start(); This is not needed at all already you have started the session.
$title= mysqli_real_escape_string($db, $_POST['title']);
$body= mysqli_real_escape_string($db, $_POST['body']);
$sql = "INSERT INTO content (title,body) VALUES ('$title', '$body')";
mysqli_query($db, $sql);
$_SESSION["title"] = $title;
header("location: home.php");
}
?>
home.php
<?php
session_start();
echo $_SESSION["title"];
?>
Примечания: Ваш код находится в SQL Injection уязвимости рекомендуется использовать подготовленные заявления наряду с mysqli.*
Подготовленные справки Ссылка f или Mysqli: - http://php.net/manual/en/mysqli.prepare.php.
Я думаю, что мое объяснение будет ясным для вас, чтобы исправить вашу ошибку и код довольно хорошо.
Благодаря & Счастливому кодирование :)
вам нужно перенаправить и перебирают результаты по успешному запросу с SELECT. btw, используйте подготовленное заявление. Даже то, что вы используете, можно вводить. У вас также есть 2x 'session_start();', удалить второй. –
Вопрос слишком широк. Чтобы «научиться чему-то», вам нужно «попробовать что-то». Когда вы написали какой-то код и можете столкнуться с проблемой, только тогда мы поможем. Или, вы можете подождать, когда кто-то придет и «бросит рыбу» на ваши колени. Обучение «как» ловить рыбу действительно окупит большие награды; для тебя". Рестораны в конце концов закрываются, поэтому повар не всегда будет для вас. Узнайте, как приготовить для себя ;-) таким образом вы не застрянете и будете знать, что делать. –
@Fred-ii- я посмотрю на перенаправление и цикл, я даже не знал, что искать ... – OneBeginner