X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> header(Location:)
cyber_ua
cyber_ua
Topic Starter сообщение 2.4.2012, 23:55; Ответить: cyber_ua
Сообщение #1


и снова у меня проблема с кодом :wacko:
использую header(Location:) для переадресации на превидущию страницу,но почему то не работает!
[PHP]<?php
include("../blocks/db_connect.php");
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
$title=$_POST['title'];
$text=$_POST['text'];
$author=$_POST['author'];
$usOt;
if (isset($title,$text,$author)){
$Ndate=date('Y-M-d H:i:s');
//$result=mysql_query ("INSERT INTO `news` (`title`,`meta_d`,`meta_k`,`date`,`text`,`author`) VALUES ('$title','$title','$title','$Ndate','$text','$author')");
if($result) $usOt="1";
else $usOt="Ошибка в базе данных :".mysql_error();
header("Location: ".$_SERVER['HTTP_REFERER']."&pr=$usOt");
exit;
}
?>[/PHP]
а если так то работает
[PHP]<?php
include("../blocks/db_connect.php");
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
$title=$_POST['title'];
$text=$_POST['text'];
$author=$_POST['author'];
$arr = explode("\r\n", $text);
$descript=$arr[0];
$usOt;
if (isset($title,$text,$author,$descript)){
$Ndate=date('Y-M-d H:i:s');
$result=mysql_query ("INSERT INTO `lessons` (`title`,`meta_d`,`meta_k`,`date`,`desc`,`text`,`author`) VALUES ('$title','$title','$title','$Ndate','$descript','$text','$author')");
if($result) $usOt="1";
else $usOt="Ошибка в базе данных :".mysql_error();
header("Location:../cyber/newLessons.php?pr=$usOt");
exit;
}
?>[/PHP]
читал про header , написанно:
перед ним не должен выводится текст(весь код выше это весь код страницы)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
cyber_ua
cyber_ua
Topic Starter сообщение 3.4.2012, 0:01; Ответить: cyber_ua
Сообщение #2


нашел интересное замечаняя на счет этой функции:
Помните, что функция header() должна быть вызвана до любого вывода из PHP-скрипта, любого тэга HTML, пустой строки в файле и т.д. Наиболее распрастарннённая ошибка использование include(), require(), функций, пробелов и пустых строчек до вызова функции header().
если так нельзя то чем ее можно заменить?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 3.4.2012, 0:12; Ответить: alexdrob
Сообщение #3


а вы не видите разницы тут
(cyber_ua @ 3.4.2012, 02:55) *
&pr=$usOt

и тут
(cyber_ua @ 3.4.2012, 02:55) *
?pr=$usOt

?
вы уверены что в первом случае у вас должен быть именно & а не ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 3.4.2012, 0:13; Ответить: Arks
Сообщение #4


если так нельзя то чем ее можно заменить?

javascript'ом
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
cyber_ua
cyber_ua
Topic Starter сообщение 3.4.2012, 0:18; Ответить: cyber_ua
Сообщение #5


(alexdrob @ 3.4.2012, 03:12) *
а вы не видите разницы тут

и тут

?
вы уверены что в первом случае у вас должен быть именно & а не ?


так и должно быть там разны страницы
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
cyber_ua
cyber_ua
Topic Starter сообщение 3.4.2012, 0:19; Ответить: cyber_ua
Сообщение #6


(Arks @ 3.4.2012, 03:13) *
javascript'ом

криво работает=(
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
cyber_ua
cyber_ua
Topic Starter сообщение 3.4.2012, 0:22; Ответить: cyber_ua
Сообщение #7


(alexdrob @ 3.4.2012, 03:12) *
а вы не видите разницы тут

и тут

?
вы уверены что в первом случае у вас должен быть именно & а не ?


в первом случае такая ссылка
http://localhost/Csite/cyber/add.php?page=News
во втром обычная (http://localhost/Csite/cyber/add.php - к примеру такая)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 3.4.2012, 0:27; Ответить: alexdrob
Сообщение #8


если у вас код второй работает, значит нет вывода в браузер до вызова header.
раз его нет, значит в первом коде его тоже не должно быть.

выведите в браузер ссылку, которую формирует ваш скрипт в первом коде и посмотрите верна ли она.

[PHP]header("Location: ".$_SERVER['HTTP_REFERER']."&pr=$usOt"); [/PHP]
замените на такой код
[PHP]echo $h = "Location: ".$_SERVER['HTTP_REFERER']."&pr=$usOt";
//header($h); [/PHP]
а так же обратите внимание на то что строка с запросом у вас закомментирована :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
cyber_ua
cyber_ua
Topic Starter сообщение 3.4.2012, 0:30; Ответить: cyber_ua
Сообщение #9


сдела это 20 мин назад=)
ссылка такая как надо
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 3.4.2012, 0:38; Ответить: alexdrob
Сообщение #10


Если раскомментировать строки включающие отображение ошибок, то если header не сработает из за отправки данных в браузер - вы увидите об этом сообщение, типа: заголовки не могут быть модифицированы, так как они уже были отправлены.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыНужен header как у них
11 muratastana 4637 8.1.2023, 16:34
автор: OlgaMcField
Открытая тема (нет новых ответов) Нужен header для шаблона $
2 Acktiv 1139 9.3.2016, 14:03
автор: Acktiv
Открытая тема (нет новых ответов) header
9 asbury 7288 5.7.2009, 12:36
автор: -Apay-


 



RSS Текстовая версия Сейчас: 29.3.2024, 0:41
Дизайн