[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Повторная отправка данных
Kekc
Добрый вечер!

Есть скрипт:

<?php
include('connect.php');
?>
<?php

if(isset($_POST['knopka']))
{$_SESSION['POST']=$_POST;
header('location:http://localhost/Diplom/Untitled1.php');
exit;
}
else if(! empty($_SESSION['POST']))
{
$post = $_SESSION['POST'];
$_SESSION['POST'] = array();
// обрабатываем данные, которые сохранены в $post
}
else
{
$a=$_POST['1'];
$b=$_POST['2'];
$c=$_POST['3'];
$resultating=$a+$b+$c;
echo $resultating;
}

?>


И есть ошибка при запуске скрипта:

Warning: Cannot modify header information - headers already sent by (output started at T:\home\localhost\www\Diplom\connect.php:1) in T:\home\localhost\www\Diplom\Untitled1.php on line 7

Вопрос: как устранить ошибку? Знаю, что ошибка вылезает из-за header('location:http://localhost/Diplom/Untitled1.php');

Испробовал пару вариантов решений этой проблемы, ничего не помогло.
sergeiss
Ошибка "стара, как мир". Говорит о том, что ты что-то уже вывел до того, как вызывать header(). В твоем случае, ты вывел как минимум знак "новая строка", формируемый вот здесь, между этими двумя тэгами:
?>
<?php

И мало того, что такое расположение тэгов не имеет смысла (т.е. эти 2 строки можно вообще удалить), так ты еще вносишь проблему, которую описал в теме.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Kekc
Ошибка пропала, но появилась другая проблема.
Я вношу через <input> числовые значения в переменные $a,$b,$c, и всегда выходит 0.
Полагаю, что не хочет работать вот эта часть скрипта:

{
$a=$_POST['a'];
$b=$_POST['b'];
$c=$_POST['c'];
$resultating=$a+$b+$c;
echo $resultating;
}


И вот форма к ней на всякий случай:

<form class="form" method="POST">
<input
name="a">
<input
name="b">
<input
name="c">
<button
name="knopka">Вычислить</button>
</form>
AllesKlar
Kekc
Одно их двух:
Либо ты все выходные без сна писал свой скрипт, и тебе посто нужно поспать.
Либо это не для тебя.
Ты делаешь ошибки логики, не зависящие от языка.

if(isset($_POST['knopka'])) // если есть $_POST
...
else if(! empty($_SESSION['POST'])) // если нет $_POST, но есть $_SESSION['POST']
....
else // иначе (нет ни $_POST, ни $_SESSION['POST'])
{
$a=$_POST['1']; // НЕТУ $_POST в этом блоке.
$b=$_POST['2'];
$c=$_POST['3'];
$resultating=$a+$b+$c;
echo $resultating;
}


_____________
[продано копирайтерам]
Kekc
Вы правы и в том, и в том варианте, но нужно написать!)
Я не понимаю для чего нужна $_SESSION, мне просто нужно сделать перенаправление на нужную мне страницу после нажатия кнопки.
AllesKlar
Kekc
Цитата
Я не понимаю для чего нужна $_SESSION, мне просто нужно сделать перенаправление на нужную мне страницу после нажатия кнопки.

Ну, может тогда имеет смысл посмотреть, для чего нужны сессии и как они работают?
Или вариант 2: заказать кому-нибудь сделать работу вместо тебя.


_____________
[продано копирайтерам]
Kekc
Ладно, спасибо большое, разберусь как-нибудь. biggrin.gif
С уважением к вам.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.