Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: setcookie
 
 автор: zasadinskiy   (21.03.2015 в 18:02)   письмо автору
 
 

Нету здесь URL-адреса! Какого перца ты не розмещаешься?

  Ответить  
 
 автор: zasadinskiy   (21.03.2015 в 18:03)   письмо автору
 
   для: zasadinskiy   (21.03.2015 в 18:02)
 

Пробовал записывать произвольные данные в setcookie сразу после session_start(); при этом убирая всю проверку авторизации и данные все равно не зписываються. Может это служить причиной того что всё это дело перед этим перехватывает javascript? Приведу пример структуры файлов.

index.php - главная страница (страница входа)
js/vkhod_is_users.js - перехватываем данные
js/vkhod_is_users.php - сюда поссылаем на обработку

index.php
<div class='entrance' id='formentrance'>
<h3>Вход</h3><hr class='hr'>
 
<label>Персональный номер:<br><input type='text' id='vkhod_lichnyynomer'><br></label>
 
<label>Пароль:<br><input type='password' id='vkhod_password'><br></label>
 
<input type='submit' class='submit' value='Войти' align='center' onClick='vkhod_users();'>
 
 
    <!-- Картинка загрузки -->
<div id="load_vkhod" style="display:none;"><img src="img/load.gif" width='40' height='40' align='center'/></div>
 
        <!-- Где будеть показана картинка загрузки -->
<center><div id="answer_vkhod" style="width:40px;"></div></center>
 
        <!-- В этом блоке будет показан ответ от входа -->
<div id="answer2_vkhod"></div>
 
<a href='reg.php' class='buttom'> Зарегистрироваться </a><br>
 
<a href='send_pass.php' class='buttom'> Востановить пароль?</a><br>
 
</div>
 
Перед этим в head подключаем javascript.
<script type="text/javascript" src="js/vkhod_is_users.js"></script>


js/vkhod_is_users.js
function vkhod_users() {
      //Получаем то что ввел польователь
     var vkhod_lichnyynomer = document.getElementById('vkhod_lichnyynomer').value;
     var vkhod_password = document.getElementById('vkhod_password').value;
 
      var load_vkhod = document.getElementById('load_vkhod');
      var answer_vkhod = document.getElementById('answer_vkhod');
      var answer2_vkhod = document.getElementById('answer2_vkhod');
 
       //То что будем отправлять на сервер
      var parameter = 'vkhod_lichnyynomer='+vkhod_lichnyynomer+'&vkhod_password='+vkhod_password;
 
 
 
        //Показываем загрузку
       answer_vkhod.innerHTML = load_vkhod.innerHTML;
           //Соединяемься с аяксом
      var network = createRequestObject();
             //Тут мы выбраем метод отправки формы и куда отправляем
            network.open("POST","js/vkhod_is_users.php",true);
            //Кодировка формы у меня она windows-1251
            network.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8");
             //Здесь пишим ответ от сервера то что отправить нам сервер в ответ
            network.onreadystatechange = function () {
              if(network.readyState == 4) {answer_vkhod.innerHTML = ''; answer2_vkhod.innerHTML = network.responseText;  }
            }
            //Отправлям запрос
             network.send(parameter);
    }
        //Подключаемся к аяксу
        function createRequestObject() {
        try { return new XMLHttpRequest() }
        catch(e) {
            try { return new ActiveXObject('Msxml2.XMLHTTP') }
            catch(e) {
                try { return new ActiveXObject('Microsoft.XMLHTTP') }
                catch(e) { return null; }
            }
        }
    }


js/vkhod_is_users.php
<?php
session_start
();
 
    
header('Content-Type: text/html; charset=utf-8');  //кодировка
 
   
include("../bd.php");
 
    
// получаем переменные через post
    
$vkhod_lichnyynomer iconv("UTF-8""cp1251"$_POST['vkhod_lichnyynomer']);
    
$vkhod_password iconv("UTF-8""cp1251"$_POST['vkhod_password']);
 
    
// обрезаем пробелы
    
$vkhod_lichnyynomer1 trim($vkhod_lichnyynomer);
    
$vkhod_password1 trim($vkhod_password);
 
    
// Экранируем опасные символы
    
$vkhod_lichnyynomer2 htmlspecialchars($vkhod_lichnyynomer1);
    
$vkhod_password2 htmlspecialchars($vkhod_password1);
 
    
// Проверяем переменные на пустоту
    
if($vkhod_lichnyynomer2 == '') {unset($vkhod_lichnyynomer2);}
    if(
$vkhod_password2 == '') {unset($vkhod_password2);}
 
    
// Проверка заполненых данных
    
if(isset($vkhod_lichnyynomer2) && isset($vkhod_password2)) {
 
       
$users_test_login mysql_query ("SELECT * FROM users WHERE lichnyynomer='$vkhod_lichnyynomer2'");
        
$users_test_row mysql_fetch_array($users_test_login);
        if(
$vkhod_lichnyynomer2 != $users_test_row['lichnyynomer']) {
              echo 
'<br><div id="bug" class="table_error"><span class="error_text_min"> Такого логина в нашей Базе нету!</span> <div style="clear:left;"></div></div><br>';
        }
        else {
 
        
$users_test_pass mysql_query ("SELECT * FROM users WHERE lichnyynomer='$vkhod_lichnyynomer2'");
        
$password_users mysql_fetch_array($users_test_pass);
 
        
$vkhod_password_md md5($vkhod_password2); // обязательно шифруем пароль.
 
         
if($vkhod_password_md == $password_users['password']) {
 
//******************************************************************************//
//******** Записываем данные в куки. Но оно незаписываеться! Почему? ***********//
//******************************************************************************//
        
setcookie("lichnyynomer"$password_users['lichnyynomer'], time()+3600); //* Устанавливаем куки личного номера на 1 час
        
setcookie("password"$password_users['password'], time()+3600); //* Устанавливаем куки Пароля на 1 час
 //***************************************//
//******** Конец записи в куки ***********//
//****************************************//
 
           
echo '<br><div id="bug" class="table_ok"><span class="error_text_min"> Вход выполнен. Загружаем данные .... <img src="img/load.gif" width="15" height="15"></span> <div style="clear:left;"></div></div><br>';
         }
         else {
           echo 
'<br><div id="bug" class="table_error"><span class="error_text_min"> Данные не верные! </span> <div style="clear:left;"></div></div><br>';
             }
            }
           }
    else {
      echo 
'<br><div id="bug" class="table_error"><span class="error_text_min"> Вы ввели не все данные!</span> <div style="clear:left;"></div></div><br>';
    }
?>


Буду очень благодарен за помощь. Напоминаю: данные не записаваються в куки даже в том случае если весь код состоит из 5 вот таких строк в файле js/vkhod_is_users.php.
<?php
session_start
();
setcookie("lichnyynomer""Логин не записыват"time()+3600); //* Устанавливаем куки личного номера на 1 час
setcookie("password""Пароль не записывает"time()+3600); //* Устанавливаем куки Пароля на 1 час
?>


После вытаскиваю данные вот так
Личный номер: <?php echo $_COOKIE["lichnyynomer"];?><br>Пароль: <?php echo $_COOKIE["password"];?>


Мне кажеться что это из-за того что данные перехватыватывает js? Потому что когда записываю данные в том же файле что и вывожу то они есть. (user / index.php) - здесь верхние 5 строк кода и сразу их вывод (всё работает).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования