Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]$_GET niczy mi sesje logowania
neotorrent
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 14.08.2011

Ostrzeżenie: (0%)
-----


Witam
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
  1. <?php
  2. include 'auth.php';
  3.  
  4. if ($_SESSION["zalogowany"]=="tak")
  5. {
  6. >
  7. <div id="menuleft">
  8. <img src="img/menu.png" border="0px" />
  9. <div id="menutlo">
  10. <?php include 'menu.php'; ?>
  11. </div>
  12. </div>
  13. <div id="mright">
  14. <div id="menutlor">
  15. <?php include 'srodek.php'; ?>
  16. </div>
  17. </div>
  18. <?php
  19. }
  20. else {
  21. ?>
  22. <form method="post" action="index2.php" style="padding-left: 350px; padding-top: 150px;">
  23. <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>
  24. <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>
  25. <input type="image" src="img/loguj.png" onClick="this.form.submit();" class="loguj" />
  26. </form>
  27. <?php
  28. }
  29. ?>


Plik: auth.php
  1. <?
  2. require('functions.php');
  3. connect();
  4. $mysql_tabela = "dcp_admin";
  5.  
  6. // **************************************************
  7. // ********** wylogowanie i zalogowanie z ustaleniem sesji...
  8. // **************************************************
  9.  
  10. $login = $_POST["login"];
  11. $haslo = $_POST["haslo"];
  12.  
  13. if ($_GET["login"]=="koniec") { // wylogowanie
  14. } else if ($login<>"" and $haslo<>"") {
  15. $haslo = md5($haslo);
  16. $wynik=mysql_query("SELECT * FROM $mysql_tabela WHERE
  17. login='$login' and haslo='$haslo'");
  18. if (mysql_num_rows($wynik)==1) {
  19. $dane=mysql_fetch_array($wynik);
  20. $_SESSION["zalogowany"]="tak";
  21. $_SESSION["login"]=$dane["login"];
  22.  
  23.  
  24. }
  25. }
  26. ?>


Plik index.php
  1. <?
  2.  
  3. ?>
  4.  
  5. <form method="post" action="index2.php" style="padding-left: 420px; padding-top: 379px;">
  6. <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>
  7. <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>
  8. <input type="image" src="img/loguj.png" onClick="this.form.submit();" class="loguj" />
  9. </form>


Plik menu.php
  1. <div id="menutloin">
  2. Dodaj Artykuł</br>
  3. </br>
  4. <img src="img/spacer.png" /></br>
  5. </br>
  6. <a href="index2.php?msg=addphoto">Dodaj Zdjęcie</a></br>
  7. </div>


Plik srodek.php
  1. <?php
  2.  
  3. if ($_GET[msg] =="addphoto"){
  4. include "addphoto.php";
  5. }
  6. else if ($_GET[msg]==""){
  7. include "start.php";
  8. }
  9.  
  10. ?>


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/dmx/domains/dmx.cal24.pl/public_html/dw/panel/index2.php:1) in /home/dmx/domains/dmx.cal24.pl/public_html/dw/panel/auth.php on line 2
I masz swojego winowajce. Musiałem aż dwa razy prosić by dojść do jego znalezienia?

"headers already sent" ten błąd był milion razy poruszany na forum. Wystarczy użyć wyszukiwarki
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 17:17