Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Błąd po logowaniu
-Uertff-
post
Post #1





Goście







Mam problem w czasie zalogowania. Gdy zrobię tak że jak zaloguję się na stronę i gdy z tej strony wejdę po prostu na plik odpowiadający za logowanie i z powrotem wrócę do tamtej poprzedniej strony to pojawia się błąd że Obiekt tej klasy nie mógł być przekonwertowany do łańcucha. Dokładnie w linii 6 w pliku tym co jest chroniony. Dokładnie komunikat wygląda tak: .

Kod
Catchable fatal error: Object of class __PHP_Incomplete_Class could not be converted to string in C:\Program Files\WebServ\httpd-users\test\news\protect.php on line 6


Powiem jeszcze, że jak usunę wyświetlanie $_SESSION['user'] to wszystko i jest w porządku to samo gdy zamiast klasy to samo, tylko że w wyjątku to też działa. Proszę o pomoc bo mi zależy żeby to rozwiązać a nie mogę tego rozwiązać, szukałem wszędzie i nic o tym nie znalazłem.

Kod:

  1. <?php
  2.  
  3.  
  4. class user {
  5.  
  6. public $user;
  7. private $pass;
  8.  
  9. public function checkuser() {
  10.  
  11. $pdo = new pdo ('mysql:host=localhost;dbname=oop','root','mentormiszcz1e');
  12. $row= $pdo-> query ("SELECT name,password FROM `trials` WHERE name= '".$_POST['user']."'");
  13.  
  14. while ($line= $row-> fetch()) {
  15.  
  16. $this-> user= $line['name'];
  17. $this-> pass= $line['password'];
  18.  
  19. if ($this->user== $_POST['user'] && $this-> pass== md5($_POST['pass'])) {
  20. $_SESSION['user']= $_POST['user'];
  21. header ("Location: protect.php");
  22. }
  23. else {
  24. header ("Location: log.html");
  25. }
  26.  
  27. } // end while
  28.  
  29. $row-> closeCursor();
  30.  
  31. } // end function
  32.  
  33. }
  34.  
  35. $user= new user;
  36. $user-> checkuser();
  37.  
  38. ?>


  1. <?php
  2.  
  3.  
  4. if (isset($_SESSION['user'])) {
  5. echo 'Yo, ' . $_SESSION['user'] . '<a href="logout.php">Sign out</a>';
  6. }
  7.  
  8. else {
  9. header ("Location: log.html");
  10. }
  11.  
  12. ?>


  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
  5. <title>Title</title>
  6. </head>
  7.  
  8. <form action="class.php" method="post">
  9. <div id="form">
  10. <input type="text" name="user" />
  11. <input type="password" name="pass" />
  12. <input type="submit" value="Sign in" />
  13. </div>
  14. </form>
  15.  
  16. </body>
  17. </html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





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

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


Nie dodałeś funkcji, o której pisałem. Jak dodasz to idziemy dalej.
Funkcji tej się nie używa jawnie. "Sama" się wykonuje kiedy traktujesz obiekt jak stringa, na przykład kiedy wyśiwetlasz go za pomocą echo.
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 - 14:10