Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
MySQL

При обновлений F5 не обнуляются переменные

16.01.2015, 11:44. Показов 1328. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток
При нажатии сабмит заносится строка а
при обновлений по F5 опять происходит insert
почему не обнуляются переменные post

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?
   echo '<div  style="background; width:25%;  float:left;">';
   echo '     <fieldset>';
   echo '              <legend>Изменения:</legend>';
   include ('list_year.php'); 
   echo '&nbsp';
   include ('list_mes.php'); 
   echo '&nbsp';
   include ('list_service.php'); 
   echo '</br>';
   echo '</br>';
   include ('list_tariff.php'); 
   echo '</br>';
   echo '</br>';
   echo 'Сумма тарифа: <input name="summa_edit" type="text" onkeypress="if ( event.which != 8 && event.which != 0 && event.which !=13 && event.which !=45 && event.which !=46 && (event.which < 48 || event.which > 57)) return false" align="right" value="" size="6">';
  if (($_POST['save']) and (!empty($_POST['summa_edit'])))
     {
       $sql=mysql_query('INSERT TARIFF (KOD_SERVICE,KOD_TARIFF,SYS_YEAR,ID_MONTH,NAME_TARIFF,PRICE_TARIFF)
                         SELECT "'.$id_service.'","'.$id_tariff.'","'.$id_year.'","'.$id_month.'","'.$_POST['tariff_list'].'","'.$_POST['summa_edit'].'"');
 
     }
   echo '&nbsp';
   echo '&nbsp';
   print ($id_tariff);
   echo '<input name="save" type="submit" value="Выполнить">';
   echo '     </fieldset>';
   echo '</div>';
 
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.01.2015, 11:44
Ответы с готовыми решениями:

Обнуляются переменные при выводе
Не могу понять, что у меня не правильно, вроде через конструктор обнулил все переменные, далее через инит они должны инициализировать...

Обнуляются переменные при обращении из другой формы
есть исходная форма в ней объявлена переменная public partial class Form1 : Form { public int otnum; потом я открываю вторую...

Обнуляются переменные
Есть код на ассемблере, вычисляющий (b*2+c/25)/(a+a/b-1) a-aaaS, b-bbbS, c-cccS, dddS-значение выражения Если a=6,b=3,c=50 программа...

14
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
16.01.2015, 19:17
Цитата Сообщение от inetinf Посмотреть сообщение
почему не обнуляются переменные post
при обновлении страницы запрос отправляется заново - потому и не обнуляется ничего.. Вариантов решения несколько, самые распространенные это три (в порядке убывания популярности):
1. Выполнение редиректа на другую страницу (или на эту же самую, не важно).
2. Проверка записи на существование перед вставкой записи.
3. Использование сессий/кукисов для пометки о том, что данная запись уже вставлена и проверка там, соответственно.
Какой из этих способов выбрать - в общем-то, решать вам.
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
16.01.2015, 19:26  [ТС]
если не трудно подскажите на примере как сделать редирект на эту же страницу
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
16.01.2015, 19:33
PHP
1
2
3
4
5
if(запись добавлена успешно)
{
    header('Location: ' . $_SERVER['PHP_SELF']);
    exit;
}
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
17.01.2015, 11:22  [ТС]
Доброго времени суток можно еще 1 вопрос
есть прога на php нужно поставить на домашний комп виртуальный сервер php+MySQL с подключением через инет
помогите выбрать какаю прогу выбрать для установки ОС (какую лучше выбрать ОС)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.01.2015, 13:32
Debian.
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
19.01.2015, 10:20  [ТС]
Доброго времени суток что то не получается с редиректом подскажите что не так делаю заранее спс
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?
if($exit==1)
{
    header('Location: ' . $_SERVER['PHP_SELF']);
    exit;
    $exit=0;
}
   include ('menu.php'); 
   include ('config.php'); 
   echo '   <form  method="POST" >';   
   if ($_POST['service_list'])
      {
        $SERVICE_NAME=mysql_query('select * from SERVICE_NAME Where NAME="'.$_POST['service_list'].'" Order by KOD_SERVICE') or die(mysql_error());
        while ($record=mysql_fetch_assoc($SERVICE_NAME))
                {
                   $id_service=$record['KOD_SERVICE'];
                }
      }
      if (($_POST['tariff_list'])  and (empty($_POST['year_list'])))
         {
            $tariff=mysql_query('select * from tariff_view_spr where (KOD_SERVICE="'.$id_service.'") and (NAME_TARIFF="'.$_POST['tariff_list'].'")');
         }
      if (($_POST['tariff_list'])  and (!empty($_POST['year_list'])))
         {
            $tariff=mysql_query('select * from tariff_view_spr where (KOD_SERVICE="'.$id_service.'") and (NAME_TARIFF="'.$_POST['tariff_list'].'") and (SYS_YEAR="'.$_POST['year_list'].'")');
         }
      if (empty($_POST['tariff_list']))
           {
            $tariff=mysql_query('select * from tariff_view_spr where (KOD_SERVICE="'.$id_service.'")');
           }
   echo '<div  style="background; width:25%;  float:left;">';
   echo '     <fieldset>';
   echo '              <legend>Изменения:</legend>';
   include ('list_year.php'); 
   echo '&nbsp';
   include ('list_mes.php'); 
   echo '&nbsp';
   include ('list_service.php'); 
   echo '</br>';
   echo '</br>';
   include ('list_tariff.php'); 
   echo '</br>';
   echo '</br>';
   echo 'Сумма тарифа: <input name="summa_edit" type="text" onkeypress="if ( event.which != 8 && event.which != 0 && event.which !=13 && event.which !=45 && event.which !=46 && (event.which < 48 || event.which > 57)) return false" align="right" value="0" size="6">';
  if (($_POST['save']) and ($_POST['summa_edit']!=0))
     {
       $sql=mysql_query('INSERT TARIFF (KOD_SERVICE,KOD_TARIFF,SYS_YEAR,ID_MONTH,NAME_TARIFF,PRICE_TARIFF)
                         SELECT "'.$id_service.'","'.$id_tariff.'","'.$id_year.'","'.$id_month.'","'.$_POST['tariff_list'].'","'.$_POST['summa_edit'].'"');
       $exit=1;
     }
   echo '&nbsp';
   echo '&nbsp';
   print ($id_tariff);
   echo '<input name="save" type="submit" value="Выполнить">';
   echo '     </fieldset>';
   echo '</div>'; 
     $record=mysql_fetch_assoc($tariff);
     $id_tariff=$record['KOD_TARIFF'];
        print ($id_tariff);
//   $tariff=mysql_query('select * from tariff where nlc="'.$page_title.'"');
//   echo '<div style="background:#0080C0; width:150px; float:left; ">';
   echo '<div style="background; width:350px;  float:left;">';
   $table= "<table border=1>";
   $table.= "<td align=center bgcolor=Indianred>Наименование тарифа</td>";
   $table.= "<td align=center bgcolor=Indianred>Год</td>";
   $table.= "<td align=center bgcolor=Indianred>Месяц</td>";
   $table.= "<td align=center bgcolor=Indianred>Тариф</td>";
   if(mysql_num_rows($tariff) > 0) 
       {
   while($record=mysql_fetch_assoc($tariff))
        {      
          $table.= "<tr>";
          $table.= "<td align=Left>".$record['NAME_TARIFF']."</td>";
          $table.= "<td align=right>".$record['SYS_YEAR']."</td>";
          $table.= "<td align=right>".$record['ID_MONTH']."</td>";
          $table.= "<td align=right>".$record['price_tariff']."</td>";
        }
   $table.= "</tr>";
   $table.= "</table>";
       }
       else {
     $table .= '<tr><td colspan="13" align=center>Данных нет</td></tr>';          }
   echo $table;
   echo '&nbsp';
   echo '</div>';
   echo '</form>';
?>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.01.2015, 11:08
Откуда берется $exit?
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
19.01.2015, 12:01  [ТС]
при добавлений
Цитата Сообщение от inetinf Посмотреть сообщение
PHP
1
if (($_POST['save']) and ($_POST['summa_edit']!=0)) { $sql=mysql_query('INSERT TARIFF (KOD_SERVICE,KOD_TARIFF,SYS_YEAR,ID_MONTH,NAME_TARIFF,PRICE_TARIFF) SELECT "'.$id_service.'","'.$id_tariff.'","'.$id_year.'","'.$id_month.'","'.$_POST['tariff_list'].'","'.$_POST['summa_edit'].'"'); $exit=1; }
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.01.2015, 12:05
нет, откуда она берется в начале скрипта? Скрипт выполняется пошагово, а не скачками.
https://ideone.com/lva9kg
PHP
1
2
3
4
5
6
7
<?php
 
echo 'Переменная $foo ', (isset($foo) ? '' : 'не '), 'известна', PHP_EOL;
$foo = 'foo'; //переменная инициализирована только после использования
 
$bar = 'bar'; //переменная инициализирована перед использованием
echo 'Переменная $bar ', (isset($bar) ? '' : 'не '), 'известна', PHP_EOL;
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
19.01.2015, 12:12  [ТС]
да вы правы я знаю об этом
если добавить в другое место т.е. после получения значения $exit педирект то получается
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\com_service_rab\me nu.php:1)

Добавлено через 2 минуты
часть menu.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Menu.ihtut.net</title><meta http-equiv="content-type" content="text/html; charset=windows-1251" /><style type="text/css" media="screen">html{background:#fff;margin:10px 20px;}a{color:#207DB0;}hr{background:#207DB0; height:1px;}</style>
 
<!-- путь к таблице стилей -->
<link rel="stylesheet" href="menu/styl.css" type="text/css">
<!-- end путь к таблице стилей -->
 
</head><body>
 
<!-- код меню -->
<div id="nav">
 
<ul class="current">
    <li><a href="/com_service_rab/index.php"><b>Главная</b></a>
</ul>
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.01.2015, 12:15
Значит, уже есть какой-то вывод в браузер. Смотрите тему Что означает предупреждение "headers already sent"

Добавлено через 1 минуту
Цитата Сообщение от inetinf Посмотреть сообщение
часть menu.php
А, ну конечно тогда.. Значит, либо добавляйте значение в сессию, потом проверяйте сессии и уже выполняйте или нет редирект, либо используйте JS для редиректа (в теме по ссылке об этом есть)
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
19.01.2015, 12:26  [ТС]
включив output_buffering = On в php.ini проблема решилась
при обновлении сбрасываются все значения да уж хотел решить проблему нажил еще одну )
спс за помощь
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.01.2015, 12:33
Цитата Сообщение от inetinf Посмотреть сообщение
при обновлении сбрасываются все значения
Ну да. Если это вас не устраивает - то вам нужен не первый способ, а второй или третий.
0
0 / 0 / 8
Регистрация: 29.07.2014
Сообщений: 514
19.01.2015, 19:16  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Использование сессий/кукисов
если вас не затруднит пример использования сессий на примере
я конечно почитаю как это делается но для меня проще разобраться на примере
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.01.2015, 19:16
Помогаю со студенческими работами здесь

Во фреймах обнуляются глобальные переменные
Существует форма и фрейм на ней. В заголовочном файле формы существует глобальная переменная, которая хранит какое-то значение (не равное...

Поиск. Данные запроса обнуляются при сортировке
Снова нужна помощь, друзья! Решил добавить себе в интернет магазин поиск по товарам. Вот контроллер: public ActionResult...

При переходе обнуляются начальные данные. Как их сохранить?
Доброго дня всем. Помогите советом. Прикрутила к тексту пагинатор. Текст выводит, страницы выводит, но, начальные данные теряются....

При работе с экземплярами класса его списки обнуляются
Здравствуйте! Прошу помощи с решением следующей проблемы. есть класс: public class TreeNode { ... ...

Работа с контейнерами: данные обнуляются при взаимодействии форм между собой
есть клас: struct lab_6_14 { public string Name; public int Phone; public string Addres; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru