Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] Wylogowanie przy przeładowaniu strony :/
in5ane
post 22.05.2007, 16:56:45
Post #1





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

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


Witam,
zrobiłem edycję ogłoszenia po zalogowaniu (to jest ten skrypt logowania: )Temat: phpmysql Logowanie i sesje jak wziasc id) i mam taki problem, że jak klikne na "Popraw" to mi się wylogowuje, a nie poprawia.

  1. <?php
  2. include_once('logowanie.php');
  3. mysql_query('SET CHARSET LATIN2');
  4. ?>
  5. <?php
  6.  
  7. if($_SESSION['logowanko'] == 'poprawne') {
  8.  
  9. if ($co == 'popraw') {
  10. echo 'Zeedytowano poprawnie!'; // tutaj bedzie jeszcze zapytania do edycji, ale to sie wogole nie wyswietla
  11. }
  12.  
  13. $query = mysql_query ("SELECT * FROM ogloszenia WHERE id = $_POST[login] ORDER BY id ASC;");
  14. $row = mysql_fetch_array ($query);
  15. echo '
  16. <div align="center">
  17.  <form method="post">
  18.  <input type="hidden" name="co" value="popraw">
  19.  <font color="red">W tym miejscu możesz edytować swoje ogłoszenie!<br /><br /><blink>UWAGA POLA OZNACZONE CZERWONĄ GWIAZDKĄ MUSZĄ ZOSTAĆ WYPEŁNIONE.</blink><br /><br /></font>
  20.  
  21. <table border="0" style="border-collapse: collapse">
  22.  
  23.  <tr>
  24. <td width="50%"><font face="Verdana" size="2">
  25. <u>Typ ogłoszenia</u>:<font color="red">*</font></font></td>
  26. <td width="50%">
  27. <select name="typ" style="font-family: Verdana; font-size: 10px">
  28. <option value="">----</option>
  29. <option value="1"'; if($row[oferta] == '1') echo " selected"; echo '>max (wyróżnienie na stronie głównej, opis, do 6 zdjęć, koszt 100 zł + VAT</option>
  30. <option value="2"'; if($row[oferta] == '2') echo " selected"; echo '>maxi (opis, do 2 zdjęć, koszt 80 zł + VAT rocznie)</option>
  31. <option value="3"'; if($row[oferta] == '3') echo " selected"; echo '>mini (opis, 1 zdjęcie, koszt 60 zł + VAT rocznie)</option>
  32. </td>
  33.  </tr>
  34.  
  35.  <tr>
  36. <td width="50%"><font face="Verdana" size="2">
  37. <u>Nazwa obiektu</u>:<font color="red">*</font></font></td>
  38. <td width="50%">
  39. <input type="text" name="nazwa" value="'.$row[nazwa].'" style="font-family: Verdana; font-size: 10px"></td>
  40.  </tr>
  41.  
  42. TUTAJ USUNALEM CALY FORMULARZ BO BYL BARDZO DLUGI
  43.  
  44.  <tr>
  45. <td width="50%">&nbsp;</td>
  46. <td width="50%">
  47. <input type="submit" value="Popraw" style="font-family: Verdana; font-size: 10px"></td>
  48.  </tr>
  49. </table>
  50.  
  51. </form>
  52. </div>
  53. ';
  54.  
  55. } else {
  56. }
  57. echo logowanko();
  58.  
  59. ?>



Z góry dziękuję za pomoc smile.gif

Ten post edytował in5ane 22.05.2007, 16:57:38


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
www0_0
post 22.05.2007, 17:25:15
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


spróbuj w 8 linii z tego :
  1. <?php
  2. if($_SESSION['logowanko'] == 'poprawne') {
  3. ?>

Zmienić na:
  1. <?php
  2. if($_SESSION['logowanko'] === 'poprawne') {
  3. ?>


Bo o ile pamiętam to:
= oznacza przypisz
== oznacza podobne
=== a to identyczne

może się mylę, ale warto spróbować.
---------------------------------------------------
A tak jeszcze teraz zauważyłem:
że masz zmienną $co sprawdzasz czy ona coś ma, ale wcześniej nigdzie jej nie zdeklarowałeś.

Ten post edytował www0_0 22.05.2007, 17:28:15
Go to the top of the page
+Quote Post
Amorph
post 22.05.2007, 18:13:20
Post #3





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

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


Cytat(www0_0 @ 22.05.2007, 18:25:15 ) *
Bo o ile pamiętam to:
= oznacza przypisz
== oznacza podobne
=== a to identyczne

może się mylę, ale warto spróbować.

Ekhm....
Dając rady najlepiej poczytać samemu, potem pisać na forum:
Operatory w php
Pozdrawiam...
Go to the top of the page
+Quote Post
www0_0
post 22.05.2007, 20:21:05
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


Użytkowniku: Amorph
Przepraszam że chciałem pomóc, również przepraszam że dodałem informacje iż nie jestem tego pewien, a nawet przepraszam za to że potem edytowałem posta żeby się poprawić, i dodać drugą bardziej prawdopodobną przyczynę usterki. Ale ja coś próbowałem, a ty napisałeś tylko po to aby mnie skrytykować, no cóż, ale i tak dziękuje ci że odświeżyłeś moją wiedzę o operatorach.

A na dole, moja propozycja rozwiązania problemu.

Raz jeszcze przepraszam jeśli i tym razem znajdziesz jakiś oczywisty błąd.

  1. <?php
  2. include_once('logowanie.php');
  3. mysql_query('SET CHARSET LATIN2');
  4. ?>
  5. <?php
  6.  
  7. if($_SESSION['logowanko'] == 'poprawne') {
  8. // Ta linijka została dodana.
  9. // tu powinna być zapewne jakaś zmienna z forlularza.
  10. // ta zmienna to zapewne get lub post a strzeliłem na post.
  11. // wątpie abyś miał włączone Register Globals.
  12. $co = $_POST['co'];
  13. if ($co == 'popraw') {
  14. echo 'Zeedytowano poprawnie!'; // tutaj bedzie jeszcze zapytania do edycji, ale to sie wogole nie wyswietla
  15. }
  16. $login = $_POST['login'];
  17. $query = mysql_query ("SELECT * FROM ogloszenia WHERE id = $login ORDER BY id ASC");
  18. $row = mysql_fetch_array ($query);
  19. echo '
  20. <div align="center">
  21.  <form method="post">
  22.  <input type="hidden" name="co" value="popraw">
  23.  <font color="red">W tym miejscu możesz edytować swoje ogłoszenie!<br /><br /><blink>UWAGA POLA OZNACZONE CZERWONĄ GWIAZDKĄ MUSZĄ ZOSTAĆ WYPEŁNIONE.</blink><br /><br /></font>
  24.  
  25. <table border="0" style="border-collapse: collapse">
  26.  
  27.  <tr>
  28. <td width="50%"><font face="Verdana" size="2">
  29. <u>Typ ogłoszenia</u>:<font color="red">*</font></font></td>
  30. <td width="50%">
  31. <select name="typ" style="font-family: Verdana; font-size: 10px">
  32. <option value="">----</option>
  33. <option value="1"'; if($row['oferta'] == '1') echo " selected"; echo '>max (wyróżnienie na stronie głównej, opis, do 6 zdjęć, koszt 100 zł + VAT</option>
  34. <option value="2"'; if($row['oferta'] == '2') echo " selected"; echo '>maxi (opis, do 2 zdjęć, koszt 80 zł + VAT rocznie)</option>
  35. <option value="3"'; if($row['oferta'] == '3') echo " selected"; echo '>mini (opis, 1 zdjęcie, koszt 60 zł + VAT rocznie)</option>
  36. </td>
  37.  </tr>
  38.  
  39.  <tr>
  40. <td width="50%"><font face="Verdana" size="2">
  41. <u>Nazwa obiektu</u>:<font color="red">*</font></font></td>
  42. <td width="50%">
  43. <input type="text" name="nazwa" value="'.$row['nazwa'].'" style="font-family: Verdana; font-size: 10px"></td>
  44.  </tr>
  45.  
  46. TUTAJ USUNALEM CALY FORMULARZ BO BYL BARDZO DLUGI
  47.  
  48.  <tr>
  49. <td width="50%">&nbsp;</td>
  50. <td width="50%">
  51. <input type="submit" value="Popraw" style="font-family: Verdana; font-size: 10px"></td>
  52.  </tr>
  53. </table>
  54.  
  55. </form>
  56. </div>
  57. ';
  58.  
  59. } else {
  60. }
  61. echo logowanko();
  62.  
  63. ?>
Go to the top of the page
+Quote Post
in5ane
post 23.05.2007, 05:41:54
Post #5





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

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


No i nie działa nadal a włączyłem Register Globals. Proszę o pomoc .


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
Amorph
post 23.05.2007, 08:04:55
Post #6





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

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


@www0_0: Nie rób z siebie poszkodowanego... każdy się myli, jak starasz sie pomóc pprzetestuj jakieś rozwiązanie u siebie i wtedy podsyłaj...

@in5ane: Pokaż co masz w pliku logowanie.php, czy przypadkiem nie nadpisujesz sesji or something....
Wyświetl sobie do testów co zawiera tablica $_SESSION.
Go to the top of the page
+Quote Post
in5ane
post 23.05.2007, 16:20:05
Post #7





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

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


  1. <?php
  2.  
  3. if(isset($_POST['logowanko'])) {
  4.  
  5. $dane = @mysql_query('SELECT id, haslo FROM hasla WHERE id = "'.$_POST['login'].'" AND haslo = "'.$_POST['haslo'].'"') or die(mysql_error());
  6.  
  7.  
  8. if(mysql_num_rows($dane) == 1) {
  9. $_SESSION['logowanko'] = 'poprawne';
  10. $_SESSION['user_login'] = $_POST['login'];
  11. } else {
  12. $_SESSION['logowanko'] = 'Błędny login lub hasło!';
  13. }
  14.  
  15. unset($_POST['logowanko']);
  16. }
  17.  
  18. if(isset($_POST['wylogowanko'])) {
  19.  
  20. unset($_SESSION['logowanko']);
  21. }
  22.  
  23.  
  24. function logowanko() {
  25.  
  26. if($_SESSION['logowanko'] == 'poprawne') {
  27.  $string = '<form action="'.getenv(REQUEST_URI).'" method="post"><input type="submit" name="wylogowanko" value="Wyloguj" style="font-family: Verdana; font-size: 10px"></form>';
  28. } else {
  29. $string = '<form action="'.getenv(REQUEST_URI).'" method="post"><ul style="list-style-type: none; margin: 0; padding: 0;">';
  30.  
  31.  if(isset($_SESSION['logowanko'])) $string .= '<li>'.$_SESSION['logowanko'].'</li>';
  32.  
  33.  $string .= '<div align="center">
  34.  
  35.  <font face="Verdana" size="2"><b>Aby zalogować się wpisz dane:</b></font>
  36.  
  37.  <table border="0" width="21%" style="border-collapse: collapse" id="table1">
  38. <tr>
  39. <td width="16%"><font face="Verdana" size="2">
  40. <u>ID:</u></font></td>
  41. <td width="74%">
  42. <input type="text" name="login" size="28" style="font-family: Verdana; font-size: 10px"></td>
  43. </tr>
  44.  
  45. <tr>
  46. <td width="16%"><font face="Verdana" size="2">
  47. <u>Hasło:</u></font></td>
  48. <td width="74%">
  49. <input type="password" name="haslo" size="28" style="font-family: Verdana; font-size: 10px"></td>
  50. </tr>
  51. <tr>
  52. <td width="16%">&nbsp;</td>
  53.  
  54. <td width="74%">
  55. <input type="submit" value="OK" name="logowanko" style="font-family: Verdana; font-size: 10px"></td>
  56. </tr>
  57.  </table>
  58.  
  59.  </div>
  60. ';
  61.  
  62. }
  63.  
  64. return $string;
  65.  
  66. }
  67.  
  68. ?>


A jak dopisałem (dla testów) echo $_SESSION['logowanie']; to wyświetla się napis "poprawne".

A może ten przycisk działa jako wylogowanie, jakiś błąd czy coś?

Zajebiście!!..

Brakowało:
  1. <?php
  2. ?>


--------------------
> > > Tworzenie stron < < <
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 - 05:18