Otóż mam taki problem
Pisze mały Panel administracyjny w PHP i mam problem bo gdy wysyłam coś $_GET'em niszczy mi sesje logowania
Podaje na konkretnym przykładzie:
Plik: index2.php
<?php include 'auth.php'; if ($_SESSION["zalogowany"]=="tak") { > <div id="menuleft"> <img src="img/menu.png" border="0px" /> <div id="menutlo"> <?php include 'menu.php'; ?> </div> </div> <div id="mright"> <div id="menutlor"> <?php include 'srodek.php'; ?> </div> </div> <?php } else { ?> <form method="post" action="index2.php" style="padding-left: 350px; padding-top: 150px;"> <p1>Login:</p1> <input type="text" name="login" class="loginput" value="Wpisz login..." onfocus="if(this.value=='' || this.value == 'Wpisz login...') this.value=''" onblur="if(this.value == '') {this.value=this.defaultValue}" onkeyup="keyUp();"><br> <p1>Hasło:</p1> <input type="password" name="haslo" class="loginput1" value="Wpisz hasło..." onfocus="if(this.value=='' || this.value == 'Wpisz hasło...') this.value=''" onblur="if(this.value == '') {this.value=this.defaultValue}" onkeyup="keyUp();"><br> <input type="image" src="img/loguj.png" onClick="this.form.submit();" class="loguj" /> </form> <?php } ?>
Plik: auth.php
<? require('functions.php'); connect(); $mysql_tabela = "dcp_admin"; // ************************************************** // ********** wylogowanie i zalogowanie z ustaleniem sesji... // ************************************************** $login = $_POST["login"]; $haslo = $_POST["haslo"]; if ($_GET["login"]=="koniec") { // wylogowanie } else if ($login<>"" and $haslo<>"") { login='$login' and haslo='$haslo'"); $_SESSION["zalogowany"]="tak"; $_SESSION["login"]=$dane["login"]; } } ?>
Plik index.php
<? ?> <form method="post" action="index2.php" style="padding-left: 420px; padding-top: 379px;"> <input type="text" name="login" class="loginput" value="Wpisz login..." onfocus="if(this.value=='' || this.value == 'Wpisz login...') this.value=''" onblur="if(this.value == '') {this.value=this.defaultValue}" onkeyup="keyUp();"><br> <input type="password" name="haslo" class="loginput1" value="Wpisz hasło..." onfocus="if(this.value=='' || this.value == 'Wpisz hasło...') this.value=''" onblur="if(this.value == '') {this.value=this.defaultValue}" onkeyup="keyUp();"><br> <input type="image" src="img/loguj.png" onClick="this.form.submit();" class="loguj" /> </form>
Plik menu.php
<div id="menutloin"> Dodaj Artykuł</br> </br> <img src="img/spacer.png" /></br> </br> <a href="index2.php?msg=addphoto">Dodaj Zdjęcie</a></br> </div>
Plik srodek.php
<?php if ($_GET[msg] =="addphoto"){ include "addphoto.php"; } else if ($_GET[msg]==""){ include "start.php"; } ?>
Plik index.php to formularz do zalogowania się , index2.php to wnętrze panelu, auth.php to plik pobierający dane z bazy i ustalający sesje (w przypadku poprawnych danych daje zalogowany == tak ) menu.php to plik z bocznym panelem przycisków , a plik środek to miejsce wyświetlania się odpowiednich informacji.
Problem polega na Tym że po zalogowaniu i wciśnięciu odnośnika dodaj zdjęcie pokazuje mi się formularz logowania. Dlatego że zmienna GET wysyła nowe dane ( w index2.php jest else { formularz } ). Jak to obejść ? żeby po wysłaniu geta nadal sesja się trzymała ?
Z góry dziękuje za pomoc