Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sesje panel logowania
Forum PHP.pl > Forum > PHP
kumanprx
witam
staram sie stworzyc prosty cms (bazujacy na plikach tekstowych) - robie to wylacznie ze wzgledu na chęć nauczenia się php.
Natrafilem na problem przy logowaniu do panelu administracyjnego tego cms'a - sesje. Ponizej zalaczam czesc kodu i moze mi powiecie co jest nie tak
  1. <?php
  2. if ($strona == admin) {
  3. echo "<center>";
  4. echo "<br><br>";
  5. echo "Logowanie do panelu administracyjnego CMS <br><br><br>";
  6. echo "<form action=index.php?strona=admin_in&lang=pl method=POST>";
  7. echo "Login: <input type=text name=login size=15><br><br>";
  8. echo "Hasło: <input type=password name=passwd size=15> <br><br>";
  9. echo "<input type=submit id=zaloguj value=zaloguj name=zaloguj>";
  10. echo "</form><br><br>";
  11. echo "<a href=java script:history.back()><< powrót</a>";
  12.  
  13.  
  14. }
  15.  
  16.  
  17. elseif ($strona == admin_in) {
  18. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  19. $login = $_POST['login'];
  20. $pass = $_POST['passwd'];
  21. if(isset($login) and isset($pass)){
  22. if($login == $admin_login && $pass == $admin_passwd){
  23. $_SESSION['logowanie'] = 'ok';
  24. include "modyfikacja.php";
  25. exit();
  26. }
  27. else{
  28. echo '<br><br><center>Nie wpisałeś loginu i/lub hasła<br><br><a href=index.php?strona=admin&lang=pl>Zaloguj</a></center>';
  29. }
  30. }
  31. else{
  32. echo '<br><br><center>Niepoprawne dane<br><br><br /><a href=index.php?strona=admin&lang=pl>Zaloguj</a></center>';
  33. }}




a oto plik modyfikacja.php



  1.  
  2. <?php
  3. if ($_SESSION["logowanie"]=="ok"){
  4.  
  5. $plik_edit="txt/main_eng.txt";
  6.  
  7.  
  8. ?>
  9.  
  10. <center><br><tt><b>Modyfikacja: Strona główna | podstrony | menu | galeria | licznik</b></tt>
  11.  
  12.  
  13. <br><br><br><tt>Modyfikacja danych na stronie:<br><? echo $plik_edit ?></tt><br><br>
  14.  
  15. <form action="index.php?strona=admin_in&zapis=ok&lang=pl" method="POST">
  16. <textarea cols=70 rows=19 name="zapis"><? readfile($plik_edit) ?></textarea><br><br>
  17. <input type="submit" value="Zapisz">
  18. </form>
  19.  
  20. <?php
  21.  
  22. if ($_GET['zapis'] == 'ok') {
  23.  
  24. $dane = $zapis;
  25. $file = $plik_edit;
  26. $fp = fopen($file, "w");
  27. flock($fp, 2);
  28. fwrite($fp, $dane);
  29. flock($fp, 3);
  30. fclose($fp);
  31.  
  32.  
  33. echo "<br><br><br><br><center>Dane w <tt><u>$plik_edit</u></tt> zostały poprawnie zapisane";
  34. echo "<br><br><a href=modyfikacja.php?strona=podglad>Zobacz wpisane dane</a>";
  35. echo "<br><br><br><a href=java script:history.back()><< powrót</a></center>";
  36.  
  37. }}
  38. ?>


Właściwie wszystko w tym skrypcie działa lecz gdy klikne po zalogowaniu sie do palelu administracyjnego aby zapisalo zmiany w pliku to zostaje wylogowany- musi być coś nie tak z sesjami lecz od dwoch dni nie moge sobie poradzić
deniol13
jak masz if($strona == admin_in to daj '' czyl
  1. if($strona =='admin_in') {
  2. kod php
  3. }
kumanprx
a nie da sie tego inaczej rozwiazac? poprzez include lub requere?
deniol13
co byś chciał tu includować ? sesję questionmark.gifquestionmark.gifquestionmark.gif
Co to za problem dodać ' ' ?
kumanprx
dodalem "" i niestety to nic nie dało - wciąż gdy wywołuje adres index.php?strona=admin_in&zapis=ok&lang=pl chcąc otworzyć funkcje zapisywania danych ktora znajduje sie w pliku modyfikacja.php (plik ten jest includowany do indexu) to zostaje wylogowany ma ktos jeszzcze jakies pomysly?
darko
Dodaj te apostrofy, dobrze Ci radzą ludzie i zastanów się na warunkami:

21. if(isset($login) and isset($pass)){
oraz
22. if($login == $admin_login && $pass == $admin_passwd) {

zwróć uwagę, jakie zmienne musisz przekazać z formularza/odczytać z sesji, aby te warunki zostały spełnione
kumanprx
zwróć uwagę, jakie zmienne musisz przekazać z formularza/odczytać z sesji, aby te warunki zostały spełnione - nie rozumiem? zalogowanie sie do panelu działa lecz przekazywanie sesji niestety nie worriedsmiley.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.