Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 445

/ вопрос открыт /

Здравствуйте!
У меня такой вопрос: скрипту передаётся текст из формы на странице index.php. Этот текст он (script.php) заносит в базу данных. Если удачно, то $res=true, иначе false. Как в конце скрипта осуществить переход обратно к странице index.php, передав ей значение $res, что бы показать пользователю результат выполнения? Заранее благодарен.

Приложение:
  1. <?php
  2. $connect=mysql_connect('localhost','root','');
  3. mysql_select_db('test',$connect);
  4. if ($_POST['mytext']!='')
  5. {
  6. mysql_query("INSERT INTO table1 VALUES ('".$_POST['mytext']."')");
  7. $res=true;
  8. } else $res=false;
  9.  
  10. mysql_close($connect);
  11. ?>


webkent Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: webkent (статус: 2-ой класс)
Вопрос отправлен: 19 июля 2010, 14:36
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Ерёмин А.А.

Здравствуйте, webkent!
Самое простое — послать заголовок о том, что нужно перейти на другую страницу, а параметр передать обычным GET-методом:

header('Location: page.php?res='.($res?1:0));
При этом до выполнения этой строки никакой текст выводиться не должен — заголовки отправляются перед содержимым!

Ответ отправил: Ерёмин А.А. (статус: *Администратор)
Время отправки: 19 июля 2010, 14:39
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 19 июля 2010, 17:01; участников в обсуждении: 3.
webkent

webkent (статус: 2-ой класс), 19 июля 2010, 14:43 [#1]:

понятно, скажите, а если он отправляется самым первым, а значение res формируется по ходу выполнения скрипта, будет ли это работать?
webkent

webkent (статус: 2-ой класс), 19 июля 2010, 14:45 [#2]:

Я, конечно, уже нашел способ

  echo('<script language="JavaScript"> 
  window.location.href = "index.php?res='.$res.'"
</script>');

Но хотелось бы PHPшный.
Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 19 июля 2010, 14:58 [#3]:

Цитата (webkent):

а если он отправляется самым первым

Кто? Заголовок?

Цитата (webkent):

а значение res формируется по ходу выполнения скрипта, будет ли это работать?

Какой будет передан Location — на такой и перейдёт. Если без вывода лишнего текста никак, то можно использовать буферизацию вывода:
<?php
ob_start();
/* делаем и выводим что хотим */
ob_end_clean();
header('Location: ...');
?>
Егор

Егор (статус: 10-ый класс), 19 июля 2010, 17:01 [#4]:

вах, Андрей САМ ответил...
чё деется на свете...
:)
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:58
Выполнено за 0.05 сек.