Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите пожалуйста с перезапросом страницы методом GET [2]
Форумы портала PHP.SU » » Вопросы новичков » Помогите пожалуйста с перезапросом страницы методом GET

Страниц (3): « 1 [2] 3 »
 

16. Строитель - 21 Мая, 2017 - 23:21:48 - перейти к сообщению
новый ученик, код индекса сюда опубликуйте, плиз.
17. новый ученик - 21 Мая, 2017 - 23:26:12 - перейти к сообщению
Строитель пишет:
новый ученик, код индекса сюда опубликуйте, плиз.

Это index.php
<?
require_once 'inc/cookie.inc.php';
require_once 'inc/headers.inc.php';
// Имя файла журнала
//define('PATH_LOG', 'path.log');
const PATH_LOG = "path.log" ;
require_once 'inc/log.inc.php';
?>
<!DOCTYPE html>
<html>
<head>
<title><?= $title?></title>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="inc/style.css" />
</head>
<body>

<div id="header">
<!-- Верхняя часть страницы -->
<img src="logo.gif" width="187" height="29" alt="Наш логотип" class="logo" />
<span class="slogan">обо всём сразу</span>
<!-- Верхняя часть страницы -->
</div>

<div id="content">
<!-- Заголовок -->
<h1><?= $header?></h1>
<blockquote>
<?php
if(1 === $visitCounter){
echo "Спасибо, что зашли на огонек";
}else{echo "Вы зашли к нам $visitCounter-й раз.<br /> Последнее посещение: $lastVisit";}
?>

</blockquote>
<!-- Заголовок -->
<!-- Область основного контента -->
<?php
require_once 'inc/routing.inc.php';
?>
<!-- Область основного контента -->
</div>
<div id="nav">
<!-- Навигация -->
<h2>Навигация по сайту</h2>
<ul>
<li><a href='index.php'>Домой</a></li>
<li><a href='index.php?id=contact'>Контакты</a></li>
<li><a href='index.php?id=about'>О нас</a></li>
<li><a href='index.php?id=info'>Информация</a></li>
<li><a href='test/index.php'>Он-лайн тест</a></li>
<li><a href='index.php?id=gbook'>Гостевая книга</a></li>
<li><a href='eshop/catalog.php'>Магазин</a></li>
<li><a href='index.php?id=log'>Журнал посещений</a></li>
</ul>
<!-- Навигация -->
</div>
<div id="footer">
<!-- Нижняя часть страницы -->
&copy; Супер-мега сайт, 2000 &ndash; <?= date('Y')?>
<!-- Нижняя часть страницы -->
</div>
</body>
</html>
18. Строитель - 21 Мая, 2017 - 23:28:44 - перейти к сообщению
новый ученик, что-то я не вижу в вашем индексе подключения файла gbook.inc.php
19. новый ученик - 21 Мая, 2017 - 23:31:31 - перейти к сообщению
Строитель пишет:
новый ученик, что-то я не вижу в вашем индексе подключения файла gbook.inc.php

Он вот здесь require_once 'inc/routing.inc.php'; а это его код
<?php
switch($id){
case 'contact': include 'inc/contact.inc.php'; break;
case 'about': include 'inc/about.inc.php'; break;
case 'info': include 'inc/info.inc.php'; break;
case 'log': include 'inc/view-log.inc.php'; break;
case 'gbook': include 'inc/gbook.inc.php'; break;
default: include 'inc/index.inc.php';
}
20. Строитель - 21 Мая, 2017 - 23:31:57 - перейти к сообщению
Так как у вас там подключается не один файл в индексе, то все я просматривать не имею желания. Поэтому попробуйте использовать этот вариант для индекса
Спойлер (Отобразить)
21. новый ученик - 21 Мая, 2017 - 23:40:39 - перейти к сообщению
Строитель пишет:
Так как у вас там подключается не один файл в индексе, то все я просматривать не имею желания. Поэтому попробуйте использовать этот вариант для индекса
Спойлер (Отобразить)

Спасибо!!!! Запись добавляется. Только после отправки снова переход на index.php. А как сделать чтоб после отправки формы страница оставалась гостевой а не index.php?
22. Строитель - 21 Мая, 2017 - 23:46:34 - перейти к сообщению
новый ученик пишет:
как сделать чтоб после отправки формы страница оставалась гостевой
Вероятно прописать в строке header("Location: " . $_SERVER["PHP_SELF"]); вместо $_SERVER["PHP_SELF"] имя директории и файла с кодом гостевой. Вроде бы так: inc/routing.inc.php

А всё вместе, если адрес верен, будет иметь такой вид:
23. новый ученик - 21 Мая, 2017 - 23:59:06 - перейти к сообщению
Строитель пишет:
новый ученик пишет:
как сделать чтоб после отправки формы страница оставалась гостевой
Вероятно прописать в строке header("Location: " . $_SERVER["PHP_SELF"]); вместо $_SERVER["PHP_SELF"] имя директории и файла с кодом гостевой. Вроде бы так: inc/routing.inc.php

А всё вместе, если адрес верен, будет иметь такой вид:

Спасибо!!!! Написал вот так header("Location: index.php?id=gbook"); exit; и всё заработало. Теперь последний вопрос немножко не по теме. Почему когда я нажимаю вам Спасибо! Мне говорят что у меня не достаточно записей чтоб осуществить эту операцию??? Очень хочется Правильно поблагодарить за помощь!
24. Строитель - 22 Мая, 2017 - 00:01:49 - перейти к сообщению
новый ученик пишет:
Почему когда я нажимаю вам Спасибо! Мне говорят что у меня не достаточно записей чтоб осуществить эту операцию?
Потому что эта возможность станет доступна после публикации вами 50-и постов ))
25. новый ученик - 22 Мая, 2017 - 00:07:50 - перейти к сообщению
Строитель пишет:
новый ученик пишет:
Почему когда я нажимаю вам Спасибо! Мне говорят что у меня не достаточно записей чтоб осуществить эту операцию?
Потому что эта возможность станет доступна после публикации вами 50-и постов ))

Понял. Всё равно Огромное Спасибо за Помощь!!!! Следующая тема не за горами. Я пока не понимаю как в этой гостевой сделать удаление записи.... Буду завтра голову ломать. А если не додумаюсь снова буду Умных Знающих людей спрашивать...
26. Строитель - 22 Мая, 2017 - 00:15:36 - перейти к сообщению
новый ученик пишет:
Строитель пишет:
новый ученик пишет:
Почему когда я нажимаю вам Спасибо! Мне говорят что у меня не достаточно записей чтоб осуществить эту операцию?
Потому что эта возможность станет доступна после публикации вами 50-и постов ))

Понял. Всё равно Огромное Спасибо за Помощь!!!! Следующая тема не за горами. Я пока не понимаю как в этой гостевой сделать удаление записи.... Буду завтра голову ломать. А если не додумаюсь снова буду Умных Знающих людей спрашивать...
Да не за что Закатив глазки На счёт удаления - опишу принцип, а реализацию уже будете допиливать самостоятельно:

1. Выбираете из базы id-данных, которые подлежат удалению
2. Подставляете в цикле эти id'шники в html-тег ссылки, например так:

<a href="delet.php?delet='. $row['id'] .'">'. $row['name'] .'</a>

3. В файле delet.php (или в одном из ваших файлов) проверяете наличие $_GET['delet'] и если она не пуста, то передаёте эти id'шники в sql-запрос на удаление записей
27. новый ученик - 22 Мая, 2017 - 11:15:03 - перейти к сообщению
Строитель пишет:
новый ученик пишет:
Строитель пишет:
новый ученик пишет:
Почему когда я нажимаю вам Спасибо! Мне говорят что у меня не достаточно записей чтоб осуществить эту операцию?
Потому что эта возможность станет доступна после публикации вами 50-и постов ))

Понял. Всё равно Огромное Спасибо за Помощь!!!! Следующая тема не за горами. Я пока не понимаю как в этой гостевой сделать удаление записи.... Буду завтра голову ломать. А если не додумаюсь снова буду Умных Знающих людей спрашивать...
Да не за что Закатив глазки На счёт удаления - опишу принцип, а реализацию уже будете допиливать самостоятельно:

1. Выбираете из базы id-данных, которые подлежат удалению
2. Подставляете в цикле эти id'шники в html-тег ссылки, например так:

<a href="delet.php?delet='. $row['id'] .'">'. $row['name'] .'</a>

3. В файле delet.php (или в одном из ваших файлов) проверяете наличие $_GET['delet'] и если она не пуста, то передаёте эти id'шники в sql-запрос на удаление записей

Огромное Спасибо за подсказки. Я сделал чуть иначе. Так как было по условиям задания лабораторной работы без дополнительных файлов. Борисов сам сформировал ссылку на удаление записи. Ещё раз Спасибо за помощь! Теперь я знаю где и как правильно включить буферизацию.
28. новый ученик - 22 Мая, 2017 - 17:54:58 - перейти к сообщению
Строитель пишет:
новый ученик пишет:
Строитель пишет:
новый ученик пишет:
Почему когда я нажимаю вам Спасибо! Мне говорят что у меня не достаточно записей чтоб осуществить эту операцию?
Потому что эта возможность станет доступна после публикации вами 50-и постов ))

Понял. Всё равно Огромное Спасибо за Помощь!!!! Следующая тема не за горами. Я пока не понимаю как в этой гостевой сделать удаление записи.... Буду завтра голову ломать. А если не додумаюсь снова буду Умных Знающих людей спрашивать...
Да не за что Закатив глазки На счёт удаления - опишу принцип, а реализацию уже будете допиливать самостоятельно:

1. Выбираете из базы id-данных, которые подлежат удалению
2. Подставляете в цикле эти id'шники в html-тег ссылки, например так:

<a href="delet.php?delet='. $row['id'] .'">'. $row['name'] .'</a>

3. В файле delet.php (или в одном из ваших файлов) проверяете наличие $_GET['delet'] и если она не пуста, то передаёте эти id'шники в sql-запрос на удаление записей

Простите Уважаемый, что снова к вам! Поторопился заявлять что всё работает... Сам нашёл несколько ошибок в работе. Например не заэкранировал строку запроса на дабавление новой записи. С которой возникла проблема. После экранирование строки запись перестала добавляться. Никакой ошибки не выдаёт просто запись не добавляет. Я так понимаю что эта функция с чем-то ссорится а с чем не пойму. Если экранирование убрать то всё вполне работает.
/* Сохранение записи в БД */
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if (isset($_POST['name'], $_POST['email'], $_POST['msg'])) {//Проверяем отправлена ли форма
$name = trim(strip_tags($_POST['name']));// Принимаем и фильтруем данные
$email = trim(strip_tags($_POST['email']));
$msg = trim(strip_tags($_POST['msg']));

$sql = mysqli_real_escape_string($link,"INSERT INTO msgs ( name, email, msg) VALUES ('$name', '$email', '$msg')");//Запрос на добавление новой записи
$res = mysqli_query($link, $sql);// Отправляем запрос на добавление новой записи
if( !$res)//В случае ошибки выводим сообщение о ней в браузер
echo mysqli_error($link);
}
header("Location: index.php?id=gbook");//посылаем заголовок на перезапрос страницы методом GET
exit;
}
/* Сохранение записи в БД */
29. Строитель - 22 Мая, 2017 - 18:42:19 - перейти к сообщению
новый ученик, у вас не правильно. Попробуйте так
Спойлер (Отобразить)
30. новый ученик - 22 Мая, 2017 - 19:17:51 - перейти к сообщению
Строитель пишет:
новый ученик, у вас не правильно. Попробуйте так
Спойлер (Отобразить)

Спасибо!!!! Вот теперь всё действительно работает. Сам я до этого не скоро бы додумался... Я правильно понял что mysqli_real_escape_string только по одной переменной может экранировать? Борисов ничего об этом не говорит в уроке. Когда буду полностью уверен что все косяки нашёл и убрал залью сюда весь код страницы.

 

Powered by ExBB FM 1.0 RC1