Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Gdzie ERROR ? :>
Balas
post
Post #1





Grupa: Zarejestrowani
Postów: 347
Pomógł: 0
Dołączył: 27.08.2005
Skąd: Inowrocław

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


Robie skrypt ktory otwiera sesje jezeli sa odpowiednie dane w cookies. Mam taki kod:

index.php:
  1. <? 
  2. include "function.php";
  3.  
  4. if (isset($_SESSION["login"]))
  5. {
  6. echo('jestes zalogowany');
  7. echo('<a href="wyloguj.php?wyloguj=1">WYLOGUJ</a>');
  8. }
  9. if (isset($_SESSION["admin"]))
  10. {
  11. echo('jestes zalogowany jako admin');
  12. echo('<a href="wyloguj.php?wyloguj=2">WYLOGUJ</a>');
  13. }
  14.  
  15.  
  16. ?>


Function.php
  1. <?
  2. $luser = $_COOKIE["user"]; 
  3. $pass = $_COOKIE["pass"]; 
  4. $id = $_COOKIE["id"]; 
  5.  
  6. $strVarHost = 'localhost';
  7. $strVarUser = 'root';
  8. $strVarPasswd = 'Hammett';
  9. $strVarBaza = 'IPB';
  10.  
  11. mysql_connect ("localhost", "root", "Hammett"); // Łączenie się z bazą.
  12. $sqlSelect = mysql_select_db("IPB");
  13.  
  14. $sqlQuery = mysql_query("SELECT * FROM ipb_members WHERE id = '$id' ");
  15. $sqlArray = mysql_fetch_array($sqlQuery);
  16.  
  17. if ($sqlArray == TRUE)
  18. {
  19. $sqlPass = $sqlArray['legacy_password'];
  20. $sqlId = $sqlArray['id'];
  21.  
  22. if ($luser == 1 && $id == $sqlId && $pass == $sqlPass)
  23. {
  24. }
  25. if ($luser == 2 && $id == $sqlId && $pass == $sqlPass)
  26. {
  27. }
  28.  
  29. }
  30.  
  31. ?>


Dane w cookies sa bo sprawadzalem przez echo ($luser); itd.

Gdzie robie błąd questionmark.gif

Ten post edytował OnE.Killer 19.09.2005, 17:00:43


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Poczytaj o priorytetach operatorów a potem użyj nawiasów w warunkach logicznych w if'ach.


A na przyszłość pisząc że masz błąd, że coś nie działa, e.t.c. pisz jakie komunikaty pokazuje php, jakie są konsekwencje błądu. Napisanie że php nic nie wyświetla tez jest wskazówką dla odpowiadających. Jak chcesz dostać odpowiedź, włóż trochę pracy w pytanie.
Go to the top of the page
+Quote Post
Balas
post
Post #3





Grupa: Zarejestrowani
Postów: 347
Pomógł: 0
Dołączył: 27.08.2005
Skąd: Inowrocław

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


powiem tak tongue.gif wyswietla zawsze to samo (znaczy jestes zalogowany :] )... nie wazne czy admin czy uzytkwnik (zanim przeszedlem na sesje i tylko na cookies bylo OK)

I nie wiem nadal w czym problem.... jak powinno byc questionmark.gif I po co nawiasy w IFach questionmark.gif

EDIT: Mam takie pytanie: czy moze lepiej zostac przy ciasteczkach questionmark.gif czy lepiej przejsc na sesje questionmark.gif Ktos doradzi questionmark.gif snitch.gif

Ten post edytował OnE.Killer 19.09.2005, 18:51:47


--------------------
Go to the top of the page
+Quote Post
Alchemy_A.R.T.
post
Post #4





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 3.09.2005

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


ja stosuje ciacha - nazwa 'sesja' zle mi sie kojarzy tongue.gif do tej pory walcze hehe
Go to the top of the page
+Quote Post
Balas
post
Post #5





Grupa: Zarejestrowani
Postów: 347
Pomógł: 0
Dołączył: 27.08.2005
Skąd: Inowrocław

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


zostalem przy cisateczkach tongue.gif i sie nimi bawie... :]


--------------------
Go to the top of the page
+Quote Post
mike
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Mam wrażenie że nawet nie zajrzałeś do linka który Ci dałem, a jak zajrzałeś to przeleciałeś wzrokiem żeby wrócić to, nie mieć sobie nic do zarzucenia i dostać gotowca, co :?:

A Tam jest odpowiedź.

Warunki logiczne w if'ach są źle skonstruowane. Żeby były poprawnie musisz zmienić priorytet operatorów logicznych, a to z kolei osiągnisz stosując nawiasy.

Przecież wiadomo że && jest silniejsze od == dlaego Ci źle działa.
Go to the top of the page
+Quote Post
Balas
post
Post #7





Grupa: Zarejestrowani
Postów: 347
Pomógł: 0
Dołączył: 27.08.2005
Skąd: Inowrocław

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


to jak powinno byc questionmark.gif

  1. <?
  2. if (($luser == 2) && ($id == $sqlId) && ($pass == $sqlPass))
  3. ?>


Czy ocb questionmark.gif A tamto przeczytalem 2 razy i nadal nie wiem ocb tongue.gif

Ten post edytował OnE.Killer 20.09.2005, 15:54:41


--------------------
Go to the top of the page
+Quote Post
qbuz
post
Post #8





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 4.02.2004

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


Cytat(mike_mech)
Przecież wiadomo że && jest silniejsze od == dlaego Ci źle działa.

"Raczej" na odwrot.

Cytat(php Manual)
Poniższa tabela zawiera priorytet operatorów, od najniższego priorytetu na górze.

Powiązanie || Operator
lewe || ,
lewe || or
lewe || xor
lewe || and
prawe || print
lewe || = += -= *= /= .= %= &= |= ^= ~= <<= >>=
lewe || ? :
lewe || ||
lewe || &&
lewe || |
lewe || ^
lewe || &
bez powiązania || == != === !==
bez powiązania || < <= > >=



Cytat(OnE.Killer)
to jak powinno byc questionmark.gif

Dobrze miales


@OnE.Killer: Czy na pewno tamte wszystkie IFy w function.php zwracaja ci TRUE?

Sprawdz to np. w taki sposob:

  1. <?php
  2.  
  3. if ($sqlArray == TRUE)
  4. {
  5. print 'dziala 1<br />';
  6. }
  7.  
  8. if ($luser == 1 && $id == $sqlId && $pass == $sqlPass)
  9. {
  10. print '2 tez dziala<br />';
  11. }
  12.  
  13. // i tak dalej...
  14.  
  15.  
  16. ?>


Gdy bedziesz tak sprawdzal, to wykomentuj najlepiej session_start(); itd., zeby nie wywalalo bledow (nie mozna wyslac header'ow).
Co to sa w ogole te ob_start(); tam?
ob_start(); daj na sam poczatek calego kodu, a na sam koniec ob_end_flush;


PS: Coz to?? ;]
  1. <?php
  2.  
  3. $strVarHost = 'localhost';
  4. $strVarUser = 'root';
  5. $strVarPasswd = 'Hammett';
  6. $strVarBaza = 'IPB';
  7.  
  8. mysql_connect ("localhost", "root", "Hammett"); // Łączenie się z bazą.
  9. $sqlSelect = mysql_select_db("IPB");
  10.  
  11. ?>
Go to the top of the page
+Quote Post
mike
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Oj, gafa z mojej strony. Przepraszam ślicznie. <zawstydzony>
Go to the top of the page
+Quote Post
Balas
post
Post #10





Grupa: Zarejestrowani
Postów: 347
Pomógł: 0
Dołączył: 27.08.2005
Skąd: Inowrocław

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


qrde... gafe zrobilem tongue.gif sprawdzalem w innym miejscu wartosci z cookies (w function.php i tam wyswietlalo) :] teraz poprawilem i działa (dodalem sprawdzanie cookies tuz przed :])

sry za kłopot tongue.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 Aktualny czas: 21.08.2025 - 05:24