За последние 24 часа нас посетили 21988 программистов и 1624 робота. Сейчас ищут 2074 программиста ...

Правильное присвоение данных сессии

Тема в разделе "Прочее", создана пользователем igroc, 11 авг 2014.

  1. igroc

    igroc Активный пользователь

    С нами с:
    15 июл 2014
    Сообщения:
    75
    Симпатии:
    1
    Всем привет
    есть код
    Код (Text):
    1. <?php
    2. session_start();
    3.  
    4. ?>
    5.  
    6. <html>
    7. <head> 
    8.  
    9. <script type="text/javascript">
    10. function SendLogin(){
    11.     $.ajax({
    12.         type: "POST",
    13.         url: "rez/login.php",
    14.         data: "sid=<?=session_id()?>&loginlog="+$('#loginlog').val()+"&passwordlog="+$('#passwordlog').val(),
    15.         success: function(response){
    16.             $('#response').html(response);
    17.         }
    18.     });
    19. };
    20.  
    21. function SendReggo(){ $.ajax({type: "POST", url: "rez/reggo.php"});};
    22. function SendPassgo(){$.ajax({type: "POST", url: "rez/passgo.php"});};
    23. </script>
    24.  
    25.  
    26.  
    27.  
    28. </head>
    29. <body>
    30.  
    31.  
    32.  
    33.  
    34. <div class="log_form">
    35.         <center><h2>Вход на сайт</h2></center>
    36.         <form action="../index.php" method="post">
    37.                 <label>Логин:</label>
    38.                 <input name="loginlog" type="text" size="50" id="loginlog"><br>
    39.                 <label>Пароль:</label>
    40.                 <input name="passwordlog" type="password" size="0" id="passwordlog"><br>
    41.  
    42.  
    43.  
    44.      
    45.  
    46.                 <input type="submit" name="submitreggo" value="Регистрация" id="submitreggo" onclick="SendReggo();">    
    47.  
    48.                 <input type="submit" name="submitlog" value="Войти" id="submitlog" onclick="SendLogin();">
    49.        
    50.                 <input type="submit" name="submitpassgo" value="Востановить пароль" id="submitpassgo" onclick="SendPassgo();">    
    51.        
    52. </form>    
    53.        
    54.    
    55.        
    56.  
    57.  
    58.  
    59.  
    60.  
    61.     </div>
    и файл reggo.php
    <? session_start();$cont = "reggo";$_SESSION['cont'] = $cont;?>

    все работает но можно как то упростить что бы лишних файлов не делать?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Упростить:
    <? session_start();$_SESSION['cont'] = "reggo";?>

    А "лишние файлы" - это ерунда. Если не хочешь файл ради строчки кода(на самом деле двух строчек, да), просто поставь эту самую строчку кода в местах, где инклудится этот файлик. Вместо самого инклуда, разумеется.
     
  3. igroc

    igroc Активный пользователь

    С нами с:
    15 июл 2014
    Сообщения:
    75
    Симпатии:
    1
    <? session_start();$_SESSION['cont'] = "reggo";?>

    это понял а это
    Если не хочешь файл ради строчки кода(на самом деле двух строчек, да), просто поставь эту самую строчку кода в местах, где инклудится этот файлик. Вместо самого инклуда, разумеется.

    как не понял

    можно на примере
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Записывать в сессию может только php-скрипт. Браузер этого никак сделать не может, даже с помощью javascript. Так что без http-запроса к скрипту - никак.
    must read http://phpfaq.ru/sessions
     
  5. igroc

    igroc Активный пользователь

    С нами с:
    15 июл 2014
    Сообщения:
    75
    Симпатии:
    1
    все сделал
    <input type="submit" name="submitreggo" value="Регистрация" id="submitreggo" onclick="<?$_SESSION['cont'] = "reggo";?>">

    Добавлено спустя 11 минут 27 секунд:

    нет не работает т.к. надо 2-м кнопкам передать разные $_SESSION['cont'] = , а он показывает только последнюю
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    =D
    ты всё же прочитай статью по ссылке и за одно http://phpfaq.ru/na_tanke (более актуально)

    Добавлено спустя 1 минуту 28 секунд:
    это даже в html код страницы не попадает. Естественно в сессию попадает последнее значение, потому что они оба по очереди записываются в сессию в момент выполнения скрипта страницы.
     
  7. igroc

    igroc Активный пользователь

    С нами с:
    15 июл 2014
    Сообщения:
    75
    Симпатии:
    1
    function SendReggo(){ $_SESSION['cont'] = "reggo";});};

    так правильно?
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Гляди, как файлики в скрипт внедряются?
    Код (Text):
    1. include "path/file.php";
    Так?

    Вот и замени строчку, где этот файлик подключается, на содержимое самого файлика, но без тегов <?php ?>
     
  9. igroc

    igroc Активный пользователь

    С нами с:
    15 июл 2014
    Сообщения:
    75
    Симпатии:
    1
    что то не получается
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ой ей ей... Нет. Так делать не надо. Нет. Не будет работать пехепе в браузере вместо JS никак. Нуникак вообще.

    Автор, давай лучше как в том анекдоте:

    Подходит сын к отцу-программисту, который с головой в работе...
    -Пап, а почему солнце всегда встает на востоке, а заходит на западе?
    -Сынок, ты уверен?
    -Да.
    -Ты проверял?
    -Да.
    -И что, всегда одно и то же?
    -Да.
    -Независимо от условий?
    -Да.
    -Сынок, ничего не меняй, ничего не трогай...
     
  11. igroc

    igroc Активный пользователь

    С нами с:
    15 июл 2014
    Сообщения:
    75
    Симпатии:
    1
    Ладно помогите тогда вот в чем

    есть три файла с присвоением $_SESSION['cont'] все заканчиваются на go
    loggo
    reggo
    passgo

    как их правильно объединить и ссылаться на нужный пункт в файле например go.php

    и функцию какую в жава протисывать
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Правда, прислушайтесь.
     
  13. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    В чем состоит задача? Сдается мне, вы не лучший частный путь решения выбираете. А то и нереализуемый.