Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sesje panel logowania, prosty cms
kumanprx
post 30.11.2009, 20:30:05
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.11.2006

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


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ć

Ten post edytował kumanprx 30.11.2009, 20:31:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
deniol13
post 30.11.2009, 21:09:15
Post #2





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


jak masz if($strona == admin_in to daj '' czyl
  1. if($strona =='admin_in') {
  2. kod php
  3. }
Go to the top of the page
+Quote Post
kumanprx
post 30.11.2009, 21:11:35
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.11.2006

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


a nie da sie tego inaczej rozwiazac? poprzez include lub requere?
Go to the top of the page
+Quote Post
deniol13
post 30.11.2009, 21:14:20
Post #4





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


co byś chciał tu includować ? sesję questionmark.gifquestionmark.gifquestionmark.gif
Co to za problem dodać ' ' ?

Ten post edytował deniol13 30.11.2009, 21:14:51
Go to the top of the page
+Quote Post
kumanprx
post 30.11.2009, 21:58:39
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.11.2006

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


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?
Go to the top of the page
+Quote Post
darko
post 1.12.2009, 11:29:10
Post #6





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


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


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
kumanprx
post 3.12.2009, 12:00:17
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.11.2006

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


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
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:23