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

Сессия без обновления страницы

29.08.2016, 10:09. Показов 5028. Ответов 37
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем, у меня есть код

PHP/HTML
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
<!-- Модальное окно 1 -->
<a href="#x" class="overlay" id="win1"></a>
<div class="popup">
<form method="post" action="connect.php">
<h2>Уведомление</h2>
Выбранный товар добавлен в корзину.
<br>
Что бы завершить заказ нажмите кнопку оформить
<br>
Если вы хотите продолжить выбор закройте это окно
<br>
Общая сумма заказа: 
<br>
<?php
$_SESSION["summa"] = $_SESSION["summa"] + $price1;
$_SESSION["zakaz"] = $_SESSION["zakaz"] + $zakaz1;
echo $_SESSION["summa"];
?>
<br>
<?php
echo $_SESSION["zakaz"];
?>
<br>
<p style="text-align: center;">
<a class="button button-green" href="#win5">Оформить</a>
</p>
</form>
<a class="close" title="Закрыть" href="#close"></a>
</div>
Эта процедура выполняется при нажатии на кнопку, страница не обновляется(так и должно быть) но сессия без обновления страницы не присваивает переменные как мне сделать что бы по нажатию страница не обновлялась но добавилась переменная
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2016, 10:09
Ответы с готовыми решениями:

Сессия, после обновления страницы кнопкой
Здравствуйте. У меня проблема с сессиями с предыдущей страницы я получаю следующие значения ...

Расчёт без обновления страницы
Добрый день такой вопрос вывел через HTML и PHP решение, но при этом обновляется страница как...

Обработка без обновления страницы
Задание такое: В первом окне вводим размерность таблицы, нажимаем на кнопку «построить» Во втором...

Подгрузка содержимого без обновления страницы
Здравствуйте. Хочу сразу рассказать, что происходит у меня, чтобы было легче понять ситуацию. С...

37
82 / 82 / 18
Регистрация: 03.02.2016
Сообщений: 564
Записей в блоге: 1
30.08.2016, 11:08 21
Author24 — интернет-сервис помощи студентам
cagefighter582, В принципе, можно отказаться от этих модальных окон на CSS по крайней мере от обработке их появления через CSS, а воспользоваться jquery там и окна показать можно будет и данные с формы собрать и отправить их в файл приемник через ajax методом POST.
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
30.08.2016, 11:17 22
Цитата Сообщение от cagefighter582 Посмотреть сообщение
не хорошо так сразу говорить бд там есть и она способна принять переменные сессии
можно тогда посмотреть на результаты
SQL
1
SHOW CREATE TABLE имя_таблицы\G;
Добавлено через 1 минуту
Цитата Сообщение от Gcom Посмотреть сообщение
воспользоваться jquery
это еще на месяцок работы, чтобы с jQuery разобраться хоть как-то
тут хоть простым JavaScript уж дело уладить
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 89
30.08.2016, 11:33  [ТС] 23
я сделал уже при помощи проверки на какую кнопку нажали и все добавляет
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
30.08.2016, 11:49 24
Цитата Сообщение от cagefighter582 Посмотреть сообщение
я сделал уже при помощи проверки на какую кнопку нажали и все добавляет
проблема решена что ли?
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 89
30.08.2016, 12:27  [ТС] 25
да
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
30.08.2016, 13:16 26

Не по теме:

cagefighter582, про AJAX с PHP сюда писать будем



Добавлено через 1 минуту
cagefighter582, структура БД нужна чтобы понимать
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 89
30.08.2016, 18:36  [ТС] 27

Не по теме:

Может скажешь как с тобой можно связаться?) я тебе все что нужно дам)



Добавлено через 22 минуты
SQL
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
-- phpMyAdmin SQL Dump
-- version 4.6.1
-- [url]http://www.phpmyadmin.net[/url]
--
-- Хост: localhost
-- Время создания: Авг 30 2016 г., 18:34
-- Версия сервера: 5.7.13-6-beget-log
-- Версия PHP: 5.6.23
 
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
 
--
-- База данных: `adidasv2_diplom`
--
 
-- --------------------------------------------------------
 
--
-- Структура таблицы `history`
--
-- Создание: Авг 29 2016 г., 17:24
-- Последнее обновление: Авг 29 2016 г., 17:24
--
 
DROP TABLE IF EXISTS `history`;
CREATE TABLE `history` (
  `Number` INT(11) NOT NULL,
  `Time` datetime NOT NULL,
  `Zakaz` VARCHAR(100) NOT NULL,
  `Adress` VARCHAR(255) NOT NULL,
  `Sum` VARCHAR(255) NOT NULL,
  `Telephone` VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
--
-- Дамп данных таблицы `history`
--
 
INSERT INTO `history` (`Number`, `Time`, `Zakaz`, `Adress`, `Sum`, `Telephone`) VALUES
(1, '2016-08-29 22:06:21', '№1, №55, №662', 'Советский проспект 11-22', '1488', '89123456789');
 
-- --------------------------------------------------------
 
--
-- Структура таблицы `info`
--
-- Создание: Авг 30 2016 г., 09:58
-- Последнее обновление: Авг 30 2016 г., 10:01
--
 
DROP TABLE IF EXISTS `info`;
CREATE TABLE `info` (
  `string` VARCHAR(255) NOT NULL DEFAULT 'No',
  `string1` VARCHAR(255) NOT NULL DEFAULT 'No',
  `string2` VARCHAR(255) NOT NULL DEFAULT 'No',
  `string3` VARCHAR(255) NOT NULL DEFAULT 'No'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
--
-- Дамп данных таблицы `info`
--
 
INSERT INTO `info` (`string`, `string1`, `string2`, `string3`) VALUES
('Разработка', 'Разработка динамической с', 'Данная система будет подх', 'My Diplom'),
('Разработка', 'Разработка динамической системы', 'Данная система будет подходить к любому сайту с тематикой доставки какой либо продукции', 'My Diplom');
 
-- --------------------------------------------------------
 
--
-- Структура таблицы `zakaz`
--
-- Создание: Авг 28 2016 г., 14:37
-- Последнее обновление: Авг 30 2016 г., 09:23
--
 
DROP TABLE IF EXISTS `zakaz`;
CREATE TABLE `zakaz` (
  `id` INT(5) NOT NULL,
  `Name` VARCHAR(25) NOT NULL DEFAULT 'No',
  `Tel` VARCHAR(25) NOT NULL DEFAULT 'No',
  `Gorod` VARCHAR(25) NOT NULL DEFAULT 'No',
  `Adres` VARCHAR(25) NOT NULL DEFAULT 'No',
  `Dom` VARCHAR(25) NOT NULL DEFAULT 'No',
  `Kvar` VARCHAR(25) NOT NULL DEFAULT 'No',
  `Zakaz` VARCHAR(25) NOT NULL DEFAULT 'No',
  `Summa` VARCHAR(25) NOT NULL DEFAULT 'No',
  `Active` VARCHAR(25) NOT NULL DEFAULT 'No'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
--
-- Дамп данных таблицы `zakaz`
--
 
INSERT INTO `zakaz` (`id`, `Name`, `Tel`, `Gorod`, `Adres`, `Dom`, `Kvar`, `Zakaz`, `Summa`, `Active`) VALUES
(60, '* Ваше Имя', '* Ваш телефон', '* Город доставки', '* Адрес', '* Дом', '* Квартира', '0', '100', '0');
 
--
-- Индексы сохранённых таблиц
--
 
--
-- Индексы таблицы `history`
--
ALTER TABLE `history`
  ADD PRIMARY KEY (`Number`);
 
--
-- Индексы таблицы `zakaz`
--
ALTER TABLE `zakaz`
  ADD PRIMARY KEY (`id`);
 
--
-- AUTO_INCREMENT для сохранённых таблиц
--
 
--
-- AUTO_INCREMENT для таблицы `history`
--
ALTER TABLE `history`
  MODIFY `Number` INT(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT для таблицы `zakaz`
--
ALTER TABLE `zakaz`
  MODIFY `id` INT(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=61;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

вот вся бд
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
30.08.2016, 19:03 28
cagefighter582, версия MySQL какая?
можно узнать послав такой запрос, например
SQL
1
SELECT VERSION();
в phpmyadmin должно быть, если не ошибаюсь
Цитата Сообщение от cagefighter582 Посмотреть сообщение
-- version 4.6.1
это же версия phpmyadmin

Добавлено через 3 минуты
character set utf8, collation utf8_general_ci для базы?

Добавлено через 56 секунд
базу как наполняли? запросами из PHP ?
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 89
30.08.2016, 21:05  [ТС] 29
Цитата Сообщение от SergioO Посмотреть сообщение
character set utf8, collation utf8_general_ci для базы?
базу как наполняли? запросами из PHP ?
Да по всякому
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
31.08.2016, 08:58 30
надо, похоже сначала все начинать.
давайте разберемся с базой, а потом AJAX прикрутим к этому делу и сессии
гляньте на код ниже
надо еще там, в коде, создать таблицу для учета заказов(у меня ее нет)
Кликните здесь для просмотра всего текста
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
<?php
$mysqli = @new mysqli("localhost", "LOGIN", "PASSWORD", "DB_NAME");
 
if ($mysqli->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
 
$sql_create_table = <<<CREATE
CREATE TABLE IF NOT EXISTS products (
id int(5) unsigned NOT NULL AUTO_INCREMENT,
name varchar(200) NOT NULL,
description text,
price decimal(8,2) unsigned NOT NULL,
 PRIMARY KEY(id)
 )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE;
 $sql_insert_table = <<<SQL_INSERT
 INSERT INTO `products` VALUES
(0, 'Хлеб','Высший сорт.',26.50),
(0, 'Молоко','Молоко коровье. Изготовлено из цельного молока.',55.70),
(0, 'Макароны','Производство Италия.',41.55),
(0, 'Мясо','Говядина охлажденная.',26.50);
SQL_INSERT;
 
$sql_select = <<<SELECT
SELECT * FROM `products`;
SELECT;
 
$query = $sql_create_table;
if (!$result = $mysqli->query($sql_create_table)) echo("Error query : {$mysqli->errno} ({$mysqli->error})");
if (!$result = $mysqli->query($sql_insert_table)) echo("Error query : {$mysqli->errno} ({$mysqli->error})");
 
 if ($result = $mysqli->query($sql_select)) 
 { 
    while ($row = $result->fetch_row()) 
    {
        print(" {$row[0]} <br> {$row[1]} <br> {$row[2]} <br> {$row[3]} <br>");
       // print_r($row);
    }
    $result->close();
 }
 else 
 {
  echo("Error query : {$mysqli->errno} ({$mysqli->error})");
 }
 $mysqli->close();
 ?>

не правильно, конечно, так, в одном файле все делать, но посмотрите, чтобы понять
код рабочий

Добавлено через 8 минут
cagefighter582, давайте со структурой БД разберемся и определимся
допустим структура таблицы продукты такая
SQL
1
2
3
4
5
6
7
CREATE TABLE IF NOT EXISTS products (
id INT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(200) NOT NULL,
description text,
price DECIMAL(8,2) UNSIGNED NOT NULL,
 PRIMARY KEY(id)
 )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
(разделы нужны? типа отделов в магазине)
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 89
31.08.2016, 09:00  [ТС] 31
Цитата Сообщение от SergioO Посмотреть сообщение
(разделы нужны? типа отделов в магазине)
нет спасибо) если будут нужны вставлю сам потом. А так код поставил рабочий что дальше?
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
31.08.2016, 09:49 32
Цитата Сообщение от cagefighter582 Посмотреть сообщение
что дальше?
дальше на страницу добавляется <script> типа такого (код очень примерный)
и все обработчики нажатия клавиш запускают этот скрипт(AJAX, так скажем), а он уже, без перезагрузки страницы,
общается с сервером, те с PHP
Javascript
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
<script language = 'javascript'>
var count = 0;
var articles = [];
function run(obj)
{
if (!SendData(obj.article)){alert("Error SendData() ...")} ;
 articles.push(obj.name);
 total_price+=obj.price;
}
function getXmlHttpRequest()
{
    var XHR = ("onload" in new XMLHttpRequest()) ? XMLHttpRequest : XDomainRequest;
    return new XHR();
 }
function SendData(num)
{
var xhr = getXmlHttpRequest();
xhr.timeout = 30000;
xhr.ontimeout = function() { alert( 'Извините, запрос превысил максимальное время' );
 
xhr.open('GET', <?= "\'".htmlspecialchars($_SERVER['PHP_SELF']."\'");?>,true);
xhr.send();
 xhr.onreadystatechange = function() 
 {
   if (xhr.readyState != 4) return xhr.responseText;
   if (xhr.status != 200) 
   {
     alert(xhr.status + ': ' + xhr.statusText);
     return null;
   } 
   else 
   {
     alert(xhr.responseText);
   }
 
  }
}
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 89
31.08.2016, 09:58  [ТС] 33
ага спасибо подключил сайт работает но кнопки мои пропали
0
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
31.08.2016, 10:11 34
Цитата Сообщение от cagefighter582 Посмотреть сообщение
ага спасибо подключил сайт работает но кнопки мои пропали
куда вы и что подключили?
надо чтобы все было согласовано: PHP, DB, JavaScript
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 89
31.08.2016, 10:31  [ТС] 35
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
<?php
$mysqli = @new mysqli("localhost", "USER", "PASS", "BD");
 
if ($mysqli->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
 
$sql_select = <<<SELECT
SELECT * FROM `products`;
SELECT;
 
$query = $sql_create_table;
 
 if ($result = $mysqli->query($sql_select)) 
 { 
    while ($row = $result->fetch_row()) 
    {
        print(" {$row[0]} <br> {$row[1]} <br> {$row[2]} <br> {$row[3]} <br>");
       // print_r($row);
    }
    $result->close();
 }
 else 
 {
  echo("Error query : {$mysqli->errno} ({$mysqli->error})");
 }
 $mysqli->close();
 session_start();
 ?>
<script language = 'javascript'>
var count = 0;
var articles = [];
function run(obj)
{
if (!SendData(obj.article)){alert("Error SendData() ...")} ;
 articles.push(obj.name);
 total_price+=obj.price;
}
function getXmlHttpRequest()
{
    var XHR = ("onload" in new XMLHttpRequest()) ? XMLHttpRequest : XDomainRequest;
    return new XHR();
 }
function SendData(num)
{
var xhr = getXmlHttpRequest();
xhr.timeout = 30000;
xhr.ontimeout = function() { alert( 'Извините, запрос превысил максимальное время' );
 
xhr.open('GET', <?= "\'".htmlspecialchars($_SERVER['PHP_SELF']."\'");?>,true);
xhr.send();
 xhr.onreadystatechange = function() 
 {
   if (xhr.readyState != 4) return xhr.responseText;
   if (xhr.status != 200) 
   {
     alert(xhr.status + ': ' + xhr.statusText);
     return null;
   } 
   else 
   {
     alert(xhr.responseText);
   }
 
  }
}
как то так сделал или не верно
0
SergioO
31.08.2016, 11:01
  #36

Не по теме:

Цитата Сообщение от cagefighter582 Посмотреть сообщение
как то так сделал или не верно
нет
где-то через час полтора приду и помогу

0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 89
31.08.2016, 11:06  [ТС] 37
Цитата Сообщение от SergioO Посмотреть сообщение
где-то через час полтора приду и помогу

Не по теме:

хорошо

0
SergioO
31.08.2016, 15:44     Сессия без обновления страницы
  #38

Не по теме:

DPR, вы и есть М.Русаков?
книги надо читать - толку больше.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.08.2016, 15:44

Обновление выпадающего списка без обновления страницы
Привет. Нужно обновлять выпадающий список №2 при выборе чего-нибудь в выпадающем списке №1. То есть...

Вывод данных из БД на сайт без обновления страницы
Здравствуйте. Описываю ситуацию образно. У меня есть база данных. На сайте есть поле: &lt;div&gt;&lt;p...

Простое обновление контента без обновления страницы
Давайте сделаем простой и доходный код. В INPUT вписываешь значение и отправляешь а оно должно...

Как проверить введенные данные без обновления страницы?
Привет всем. Пишу страницу регистрации, сделал проверку введенных данных (имени, фамилии, email...

Как отправить данные в базу из php без обновления страницы
Помогите хочу сделать примерно так : $(document).ready(function(){ $('#chp').click(function(){ ...

После обновления страницы форма сама отправляется без заполнения
&lt;?php error_reporting(0);?&gt; &lt;!DOCTYPE html&gt; &lt;!--&gt;&lt;html class=&quot;ie ie6&quot; lang=&quot;en&quot;&gt;...


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

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