Добрый вечер всем, возникла такая проблема:
Имеется сайт, по всему сайту AJAX переходы
CODE ( javascript):
скопировать код в буфер обмена
$(document).ready(function(){ $("#loading").hide(); $("#loading").ajaxStart(function () { $("#loading").show(); }); $("#loading").ajaxStop(function () { $("#loading").hide();; }); }); function show_page(page){ var slide = $("#ajax"); slide.load("/system/template/get_post.php?index="+page); }
Но проблема вот в чем: имеется форма
CODE ( html):
скопировать код в буфер обмена
<script language="JavaScript" type="text/javascript" src="../js/forms.js"></script> <div id="hotpost" style="margin-left: 4%;"> <form method="post"> <table align="center" style="border:0px solid #999; margin-top:5px;"> <tr> <td colspan="2" align="center" class="register">Вход в кабинет <br /><div id="error" style="color: red; font-size: 10px; margin-left: 20px;"></div></td> </tr> <tr> <td class="register_inp">Логин:</td><td> <input type="text" name="login" id="loginl" class="register_inp_t" size="20" /><br /><br /></td> </tr> <tr> <td class="register_inp">Пароль:</td> <td><input type="password" name="password" id="passwordl" class="register_inp_t" size="20" /><br /><br /></td> </tr> <tr> <td colspan="2" align="center"><input class="button_reg" type="button" id="btnLogin" value="Войти" /></td> </tr> <tr> <td colspan="2" align="center" style="font-size:14px"></td> </tr> </table> </form> </div>
Которая отправляет данные в Jquery
CODE ( javascript):
скопировать код в буфер обмена
$(document).ready(function(){ $('#error').hide(); $('#btnLogin').click(function(){ var login = $('#loginl').val(); var password = $('#passwordl').val(); $.ajax({ type: "POST", data: "action=login&login="+login+"&password="+password, url: "/system/template/get_post.php", success: function(msg) { if(msg == ""){ document.location.href="/main"; } else { $('#error').text(msg); $('#error').fadeIn(("slow"),function(){ setTimeout(function(){ $('#error').fadeOut("slow"); },3200); }); } } }); }); });
Он же отправляет данные в get_post.php
PHP:
скопировать код в буфер обмена
if (@$_POST['action'] == "register"): require_once $_SERVER['DOCUMENT_ROOT'].'/system/controllers/post_controller.php'; $post->registerC($_POST); endif;
И разумеется post_controller.php
PHP:
скопировать код в буфер обмена
require_once $_SERVER['DOCUMENT_ROOT'].'/system/models/post_model.php'; class PostC extends PostM { function loginC($post) { $post['login'] = $this->clean_data($post['login']); // Удаляем лишнии символы $check_user = $this->selectLoginUserList($post['login']); if (trim($post['login']) == "") { die('Поле "Логин" не заполнено'); } elseif ($post['password'] == "") { die('Поле "Пароль" не заполнено'); } elseif (trim($post['login']) != $check_user_log['login'] or md5($post['password']) != $check_user_log['password']) { die('Неверный логин или пароль'); } else { $_SESSION['seslogin'] = $post['login']; $_SESSION['sesid'] = $check_user_log['id_user']; } } } $post = new PostC();
Все работает замечательно, при неверном логине и пароле выдает ошибки, но если все верно то по идее он должен записывать данные в сессию, но он не записывает их :\
Такая же ситуация и с капчой w3, но в z:/tmp/ сессия капчи есть, а если в контроллере прописать print_r($_SESSION); выбивает ошибку
CODE ( htmlphp):
скопировать код в буфер обмена
<!--error--><br /> <b>Notice</b>: Undefined variable: _SESSION in <b>Z:\home\flance.ru\www\system\controllers\post_controller.php</b> on line <b>25</b><br /> <script language=JavaScript src='/denwer/errors/phperror_js.php'></script>Неверно заполнено поле "Логин"
работаю в пограмме phpDesigner 7, когда начинаю писать в контроллере $_SESS... он не выдает ее для автозаполнения, т.е. он ее не видит :\\\
session_start(); в index.php в верху прописана!
|