mam problem ze sesjami. plik index.php jest ze switchem (index.php?page=strona) i ładuje plik z treścią (news.php itp), mam też w logo wkomponowane logowanie. za całe logo odpowiada u mnie logo.php gdzie mam formularz:
<?php (...) <a href=\"index.php?page=login&out=1\">Wyloguj</a>"); } else { <div class=\"logInput\"><input name=\"nick\" id=\"nick\" type=\"text\" value=\"Nick...\" onClick=\"this.value=''\" /></div> <div class=\"logInput\"><input name=\"pass\" id=\"pass\" type=\"password\" value=\"Pass...\" onClick=\"this.value=''\" /></div> <div id=\"logSubmit\"><input id=\"send\" type=\"submit\" value=\"\" /></div> </form> <div id=\"logRecover\"> <a href=\"index.php?page=login&mode=recover\">Odzyskaj ?</a> | <a href=\"index.php?page=rejestruj\">Nowe Konto ?</a> </div> </div>"); (...) ?>
po kliknięci submitu formluarz przejmuje plik js:
?
$(document).ready(function(){ //global vars var inputUser = $("#nick"); var inputPass = $("#pass"); var loading = $("#loading"); var panel = $("#logPanel"); function checkForm(){ if(inputUser.attr("value") && inputPass.attr("value")) return true; else return false; } $("#form").submit(function(){ if(checkForm()){ var nick = inputUser.attr("value"); var pass = inputPass.attr("value"); $("#send").attr({ disabled:true }); $.ajax({ type: "POST", url: "../login.php", cache: false, data: "mode=login&nick=" + nick + "&pass=" + pass, complete: function(data){ panel.hide(); panel.html(data.responseText); panel.fadeIn(1000); $("#send").attr({ disabled:false }); } }); } else alert("Wypelnij wszystkie pola!"); return false; }); });[
oraz plik login.php odpowiadajacy za logowanie:
<?php require_once('engine.php'); switch($_POST['mode']) { case "login": $user = dbquery("SELECT id, nick, pass, ranga FROM cs_user WHERE nick = '".$nick."' LIMIT 1"); if(dbrows($user)) { $userDane = dbarray($user); $_SESSION['logged'] = 1; $_SESSION['id'] = $userDane['id']; $_SESSION['nick'] = $nick; $_SESSION['ranga'] = $userDane['ranga']; e } else { } } else { } } break; } } } ?>
problem w tym ze po wysłaniu formularza, zamiast inputów pojawia sie nazwa użytkowniak i id wczytywane z sesji, jednak po przejściu na inną strone znowu pojawia się panel logowania. próbowałem zamiast login.php dać index.php?page=login tylko wtedy ładuje się cała strona drugi raz ;D