Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 31.12.2009
Сообщений: 33
1

Cookie не наращивается..:(

30.12.2011, 03:26. Показов 666. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Помогите разобраться, почему не наращиваются куки. По идеи сделано все правильно, но все же.. Вот код:
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
<?php 
if($_POST['c1']=="on")
{   $sum+=100;
    echo "Запись на консультацию(100p.)<br/>";
}
if($_POST['c2']=="on")
{   $sum+=300;
    echo "ЛОР отделение(300p.)<br/>";
}
if($_POST['c3']=="on")
{   $sum+=500;
    echo "Хирургия(500p.)<br/>";
}
if($_POST['c4']=="on")
{   $sum+=400;
    echo "Урология(400p.)<br/>";
}
 
if(isset($_COOKIE["dohod"]))
{
    $_COOKIE["dohod"]+=$sum;
    }
else 
{
    setcookie("dohod",$sum,time()+3600,"/");
    }
echo "<br/><br/><br/><p>Доход ЛЦКТ ". $_COOKIE["dohod"]. "руб. ПМР</a></p>";
if($_POST['disc']=="on")
{
    $sum*=0.8;
    echo "Стоимость процедур(ы) со скидкой: ".$sum." руб. ПМР.";
}
else
    echo "Стоимость процедур(ы): ".$sum." руб. ПМР.";
?>
И да, собственно само задание. Сделать куки, которые бы считали доход учреждения, чтоб оставалась возможность вернуться на предыдущую форму и снова выбрать процедуры..
Если криво объяснил, скажите, отпишу понятней.

Добавлено через 3 часа 34 минуты
Подскажет кто-то в чем проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2011, 03:26
Ответы с готовыми решениями:

Почему Cookie в куки заносится значение, а в другом файле Cookie пуста?
Здравствуйте подскажите что я не так делаю все вроде по примерам да ошибок как токавых нет.. но не...

Змейка не наращивается после того, как съест яблоко
Здравствуйте, у меня есть код змейки, которая сделана на с++, но она не наращивает свой размер, что...

Добавить данные в связанные таблицы связующее поле которых наращивается самостоятельно
Всем добра!) Помогите решить проблему. Есть две таблицы: tab1 | tab2 -----------------...

Django csrf cookie --нужно определить в чем ошибка CSRF cookie not set
НУжна помощь в определений ошибки как исправить в папке Templates находится файл index.py...

5
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
30.12.2011, 03:35 2
попытаюсь, тока не врублюсь, что такое
Цитата Сообщение от Razie1 Посмотреть сообщение
наращиваются куки
??
и это разъяснение тоже не понятное
Цитата Сообщение от Razie1 Посмотреть сообщение
Сделать куки, которые бы считали доход учреждения, чтоб оставалась возможность вернуться на предыдущую форму и снова выбрать процедуры..
начнем с того, что куки ничего не считают.
и что значит
Цитата Сообщение от Razie1 Посмотреть сообщение
оставалась возможность вернуться на предыдущую форму и снова выбрать процедуры..
?? почему сейчас такой возможности нет, что мешает? и какие процедуры?

попробуем разобраться
1
0 / 0 / 0
Регистрация: 31.12.2009
Сообщений: 33
07.01.2012, 01:11  [ТС] 3
Значится так.. Пожалуй начнем.
Вот само задание:
____
Страница содержит перечень процедур, которые можно получить в лечебном учреждении, пользователь может выбрать несколько процедур. В зависимости от выбранных значений и значения переключателя, который выбирается если есть льготы при оплате. Во второй странице выводится перечень выбранных процедур и рассчитывается их стоимость. В сессионной переменной сохранять сумму дохода медицинского учреждения. В cookie сохранять есть ли льгота, и при второй и последующих загрузках первой страницы выводить текст «Вы имеете право на льготную оплату выбранных процедур в нашем медицинском учреждении».
___
Собственно создал хтмл страничку с чекбоксам(каждый из которых показывает выбор пользователя конкретной процедуры) и кнопочку отправить информацию на другую форму, в которой пхп код, проверяющий какие из checkbox были активированы. Затем подсчет итоговой суммы, для вывода на экран и записи в сессию. В сессию записываю для того чтоб на первой страничке вывести итоговый подсчет(общий доход учреждения, за несколько раз нажатия на кнопку отправить). Смотрю по методичке - вроде все правильно. Итоговый доход считается только один единственный раз - первый, если закрыть браузер интернета и открыв по-новой использовать форму.
Выходит ошибка при этом, что про несовместимость версий чтоли.. не знаю.
Такая:
"Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0
"
Так же прикладываю код хтмл и пхп, для ясности:
index.php
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
<?php
session_start();
echo "Доход ЛКЦТ составляет ".$_SESSION['count']."<br/>";
?>
<html>
    <head>
    <title>Лечебно-консультационный центр г. Тирасполь</title>
    <h3>Лечебно-консультационный центр г. Тирасполь</h3>
    </head>
    <body bgcolor="rgb(251,255,1)">
    <form method="POST" action="index2.php">
    
    <p>Перечень возможных процедур:</p>
    <br/><input type="checkbox" name="c1">Запись на консультацию(100p.)
    <br/><input type="checkbox" name="c2">ЛОР отделение(300p.)
    <br/><input type="checkbox" name="c3">Хирургия(500p.)
    <br/><input type="checkbox" name="c4">Урология(400p.)
    <br/>
    <br/>
    <p align="left"/>
    <input type="checkbox" name="disc">Наличие дисконтной карты постоянного клиента(20% скидка)
    <br/>
    <input type="submit" value="Отправить" />
    </form>
    </body>
</html>

index2.php

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
<?php session_start();
if($_POST['c1']=="on")
{   $sum+=100;
    echo "Запись на консультацию(100p.)<br/>";
}
if($_POST['c2']=="on")
{   $sum+=300;
    echo "ЛОР отделение(300p.)<br/>";
}
if($_POST['c3']=="on")
{   $sum+=500;
    echo "Хирургия(500p.)<br/>";
}
if($_POST['c4']=="on")
{   $sum+=400;
    echo "Урология(400p.)<br/>";
}
 
if($_POST['disc']=="on")
{
    $sum*=0.8;
    echo "Стоимость процедур(ы) со скидкой: ".$sum." руб. ПМР.";
}
else
    echo "Стоимость процедур(ы): ".$sum." руб. ПМР.";
$count+=$sum;
session_register("count");
echo "<br/><a href=index.php> На главную</a><br/>";
?>
<html>
    <head>
    <title>Лечебно-консультационный центр г. Тирасполь</title>
    </head>
<body bgcolor="rgb(251,255,1)">
</body>
</html>
Подскажите, пожалуйста.
0
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
07.01.2012, 04:41 4
в index.php добавлю одно условие
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
<?php
session_start();
echo "Доход ЛКЦТ составляет ".$_SESSION['count']."<br/>";
?>
<html>
        <head>
        <title>Лечебно-консультационный центр г. Тирасполь</title>
        <h3>Лечебно-консультационный центр г. Тирасполь</h3>
        </head>
        <body bgcolor="rgb(251,255,1)">
        <form method="POST" action="index2.php">
        
        <p>Перечень возможных процедур:</p>
        <br/><input type="checkbox" name="c1">Запись на консультацию(100p.)
        <br/><input type="checkbox" name="c2">ЛОР отделение(300p.)
        <br/><input type="checkbox" name="c3">Хирургия(500p.)
        <br/><input type="checkbox" name="c4">Урология(400p.)
        <br/>
        <br/>
<?php if (!isset($_COOKIE['skidka'])): ?>
        <p align="left"/>
        <input type="checkbox" name="disc">Наличие дисконтной карты постоянного клиента(20% скидка)</p>
<?php else: ?>
Вы имеете право на льготную оплату выбранных процедур в нашем медицинском учреждении
<?php endif; ?>
        <br/>
        <input type="submit" value="Отправить" />
        </form>
        </body>
</html>
Теперь вторая страница
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
<?php session_start(); ?>
<html>
        <head>
        <title>Лечебно-консультационный центр г. Тирасполь</title>
        </head>
<body bgcolor="rgb(251,255,1)">
<?php
$sum = 0;
if($_POST['c1']=="on")
{       $sum+=100;
        echo "Запись на консультацию(100p.)<br/>";
}
if($_POST['c2']=="on")
{       $sum+=300;
        echo "ЛОР отделение(300p.)<br/>";
}
if($_POST['c3']=="on")
{       $sum+=500;
        echo "Хирургия(500p.)<br/>";
}
if($_POST['c4']=="on")
{       $sum+=400;
        echo "Урология(400p.)<br/>";
}
if(isset($_COOKIE['skidka']))
    echo "Стоимость процедур(ы) со скидкой: ".$sum*$_COOKIE['skidka']." руб. ПМР.";
elseif(!isset($_COOKIE['skidka']) && $_POST['disc']=="on")
{
        // Устанавливаем куки с именем skidka и значением 0.8 на месяц
        setcookie('skidka', 0.8, time() + 3600 * 24 * 31);
        $sum*=0.8;
        echo "Стоимость процедур(ы) со скидкой: ".$sum." руб. ПМР.";
}
else
{
    echo "Стоимость процедур(ы): ".$sum." руб. ПМР.";
    $_SESSION['count'] = $sum;
}
 
echo "<br/><a href=index.php> На главную</a><br/>";
?>
</body>
</html>
как я понял, скрипт воспринимает эту ф-ю session_register как старую, незнаю никогда не пользовался ею. Используй $_SESSION так понятней и легче.
Попробуй так
1
0 / 0 / 0
Регистрация: 31.12.2009
Сообщений: 33
07.01.2012, 07:23  [ТС] 5
В общем все правильно, за исключением пары мелочей, я их выделил для наглядности. Все работает, спасибо большое!
index2
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
<?php session_start(); ?>
<html>
        <head>
        <title>Лечебно-консультационный центр г. Тирасполь</title>
        </head>
<body bgcolor="rgb(251,255,1)">
<?php
$sum = 0;
if($_POST['c1']=="on")
{       $sum+=100;
        echo "Запись на консультацию(100p.)<br/>";
}
if($_POST['c2']=="on")
{       $sum+=300;
        echo "ЛОР отделение(300p.)<br/>";
}
if($_POST['c3']=="on")
{       $sum+=500;
        echo "Хирургия(500p.)<br/>";
}
if($_POST['c4']=="on")
{       $sum+=400;
        echo "Урология(400p.)<br/>";
}
if(isset($_COOKIE['skidka']))
{    
    echo "Стоимость процедур(ы) со скидкой: ".$sum*$_COOKIE['skidka']." руб. ПМР.";
    $_SESSION['count'] += $sum*$_COOKIE['skidka'];//////////тут плюсравно не просто sum а sum+cookie
}
elseif(!isset($_COOKIE['skidka']) && $_POST['disc']=="on")
{
        // Устанавливаем куки с именем skidka и значением 0.8 на месяц
        setcookie('skidka', 0.8, time() + 3600 * 24 * 31);
        $sum*=0.8;
        echo "Стоимость процедур(ы) со скидкой: ".$sum." руб. ПМР.";
}
else
{
    echo "Стоимость процедур(ы): ".$sum." руб. ПМР.";
    $_SESSION['count'] += $sum;///////////ну а тут плюсик
}
 
echo "<br/><a href=index.php> На главную</a><br/>";
?>
</body>
</html>
А теперь еще вопросики:
В конкретном случае синтаксис !isset значит "Если не установлено"?
И еще по первому индексу:
PHP
1
2
3
<?php else: ?>
     Вы имеете право на льготную оплату выбранных процедур в нашем медицинском учреждении
<?php endif; ?>
Какой принцип работы этих else: и endif; растолкуй, пожалуйста.

А, и еще - что ошибка, которая выводилась в моем коде, значит?
0
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
07.01.2012, 07:33 6
Цитата Сообщение от Razie1 Посмотреть сообщение
В общем все правильно, за исключением пары мелочей, я их выделил для наглядности.
те видней, наверное я условие не до конца понял
Цитата Сообщение от Razie1 Посмотреть сообщение
В конкретном случае синтаксис !isset значит "Если не установлено"?
да, или - "если не существует"
Цитата Сообщение от Razie1 Посмотреть сообщение
Какой принцип работы этих else: и endif; растолкуй, пожалуйста.
это то же самое, что и
PHP
1
2
3
4
5
6
7
8
if ()
{
   // ...
}
else
{
   // ...
}
Просто это альтернативный вариант записи,
Можно так же записывать и циклы
PHP
1
2
3
<?php for (): ?>
// тут теги
<?php endfor; ?>
для foreach
PHP
1
2
3
4
[PHP]
<?php foreach (): ?>
// тут теги
<?php endforeach; ?>
[/PHP]
мне как-то удобней записывать так м/у html-тегами
1
07.01.2012, 07:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2012, 07:33
Помогаю со студенческими работами здесь

Affiliate tracking cookie (Tracking cookie)
Здравствуйте! Всё началось с того, что я заметил несанкционированный выход из своей почты. Решил...

cookie
Дорогие пользователи!!! Допустим я залогинился на сайте test1.ru куки пополнились, там появилось...

Cookie
Здраствуйте. Хотел узнать как получить данные из файла Cookie в читабельном виде. Открываю файл...

Cookie
Приветствую. При работе с куками возникла странная проблема. Я устанавливал куки с помощью...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru