Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
DevByte
0 / 0 / 0
Регистрация: 17.06.2016
Сообщений: 6
1

Работа с сессиями

17.06.2016, 11:06. Просмотров 201. Ответов 2
Метки нет (Все метки)

Есть файл выбора городов:

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
<?php
// указываем параметры для подключения к MySQL
$host='localhost'; // имя хоста
$database='...'; // имя базы данных
$user='...'; // заданное вами имя пользователя
$pswd='...'; // заданный вами пароль
// подключаемся к MySQL
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
 
mysql_set_charset('utf8');
 
function is_sel($a, $field)
{
    $b = isset($_POST[$field])?$_POST[$field]:NULL;
    if($a == $b) return 'selected="selected"';
}
 
$res = mysql_query('SELECT * FROM city');
?>
<div class="container">
    <form id="frm" method="post">
        <select name="region" onchange="document.getElementById('frm').submit()" >
            <option value='null'>- Выберите регион -</option>
            <?
            // выводим все строки из столбца name таблицы country
            while($row = mysql_fetch_array($res))
                echo "<option ".is_sel($row['id_record'],'region')." value='" . $row['id_record'] . "'>" . $row['region'] . "</option>\r\n";
            echo "</select>";
 
            if(isset($_POST['region']))
            {
                $res=mysql_query('SELECT * FROM city WHERE region="'.mysql_real_escape_string($_POST['region']).'"');
 
                if(mysql_num_rows($res)){
 
                    echo "<select name=\"title\" onchange=\" document.getElementById('frm').submit();\" >
    <option  id=\"title\" value='0'>- Выберите pегион -</option>";
 
                    while($row = mysql_fetch_array($res))
                        echo "<option ".is_sel($row['id_record'],'title')." value='" . $row['id_record'] . "'>" . $row['title'] . "</option>\r\n";
 
                    echo "</select>";
 
                }else{ // выбираю города без учета региона
 
                    $res=mysql_query('SELECT * FROM city');
 
                    echo "<select id=\"title\" name=\"title\" onchange=\"document.getElementById('frm').submit()\" >
    <option  value='0'>- Выберите город -</option>";
 
                    while($row = mysql_fetch_array($res))
                        echo "<option ".is_sel($row['id'],'title')." value='" . $row['id'] . "'>" . $row['title'] . "</option>\r\n";
 
                    echo "</select>";
 
                }
 
            }
 
            
            ?>
    </form>
    <?
    $city = isset($_POST['title'])?$_POST['title']:NULL;
    if($city && $city !== 0)
    {
        $res=mysql_query('SELECT * FROM city WHERE id_record='.(int)$_POST['title'].' LIMIT 1');
        $row = mysql_fetch_array($res);
        echo "<h1>Ваш город ".$_SESSION['locality']= $row['title']."</h1>";
    }
    ?>
</div>
И файл главной страницы:

PHP
1
2
3
4
5
6
7
8
9
10
<?php
    session_start();
 
 
 
    if(!$_SESSION['locality'])
    {$_SESSION['locality'] = $_POST['title'];  }
 
?>
<span id="simple_txt_n1"><a href="/citylist/">Ваш город: </a></span><a href="/citylist/" class="showMyCity"><?=$_SESSION['locality'] = $_POST['title'];?></a></span>
Когда выбираю город на странице городов, то все окей, меняется, но когда перехожу на главную страницу, то все скидывается. В чем причина? Пните
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2016, 11:06
Ответы с готовыми решениями:

Работа с сессиями
Здравствуйте. Появилась такая проблема.Вот код главной страницы &lt;?php...

Работа с сессиями
Не могу понять в чем ошибка, вроде и проверка есть, и session_start() ...

Работа с сессиями php и шифрование паролей
в чем суть. есть два УРЛА test1.ru/blog/ test1.ru/blog/index.php они вроде...

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

Работа с сессиями
Привет всем ) нуждаюсь в помощи ) поэтому прошу у вас ) заранее спасибо. ...

2
codding_hanter
25 / 25 / 20
Регистрация: 12.05.2016
Сообщений: 181
17.06.2016, 21:07 2
У вас в форме нету кнопки с помощью которой отправлялся бы запрос,соответственно ниодин пост у вас не существует,отсюда
переменная $city = NULL,сессия не сохраняется поскольку условие не выполняется.
0
MadHatter
115 / 115 / 42
Регистрация: 15.06.2013
Сообщений: 830
18.06.2016, 22:24 3
А где старт сессии в первом файле?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2016, 22:24

Работа с сессиями
Добрый вечер. Такая проблема возникла никак не могу решить. Как...

Работа с сессиями
Всем доброго дня! Старая избитая тема: Сделал 3 тестовых файла php. В...

Работа с сессиями
При входе на сайт на главной странице выскакивает диалоговое окно приветствия,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru