Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]jak wyeliminowac ten blad
Forum PHP.pl > Forum > Przedszkole
martino277
siemka dodalem do stronki skrypt logowania wstawilem go miedzy divy i wyskakuje mi taki blad :
Fatal error: Call to undefined function: check_logged() in /home/martino/public_html/sexylaski/zaloguj.php on line 38
skrypt logowanie nizej

  1. <?php
  2. $error = '';
  3. $logged = false;
  4.  
  5. if (check_logged())
  6. {
  7. echo 'Jeste&para; ju&iquest; zalogowany.';
  8. $logged = true;
  9. }
  10. elseif (isset($_POST['login'], $_POST['pass']))
  11. {
  12. if (check_logged(true))
  13. {
  14. $_SESSION['login'] = $_POST['login'];
  15. $_SESSION['pass'] = md5($md5_prefix . $_POST['pass']);
  16.  
  17. echo 'Zosta&sup3;e&para; zalogowany.';
  18. $logged = true;
  19. }
  20. else
  21. {
  22. $res = mysql_query('select count(*) from `fbw_useradmin` where `login`='' . mysql_value($_POST['login']) . '' and `pass`='' . md5($md5_prefix . $_POST['pass']) . ''');
  23. $row = mysql_fetch_assoc($res);
  24.  
  25. if ($row['count(*)'] != 0)
  26. {
  27. $error = 'Twoje konto jest nieaktywne. i czeka na aktywacje przez admina';
  28. }
  29. else
  30. {
  31. $error = 'Wpisz poprawny login i has&sup3;o.';
  32. }
  33. }
  34. }
  35.  
  36. if (!$logged)
  37. {
  38. echo '<form action="index.php?page=logowanie" method="post">
  39. <table border="0" cellspacing="3" cellpadding="0">
  40. <tr><td colspan="2">' . $error . '</td></tr>
  41. <tr><td style="font-family:verdana;font-size:12px;color:black;">Login:</td><td><input type="text" name="login" size="20" /></td></tr>
  42. <tr><td style="font-family:verdana;font-size:12px;color:black;">Has&sup3;o:</td><td><input type="password" name="pass" size="20" /></td></tr>
  43. <tr><td style="font-family:verdana;font-size:12px;color:black;" colspan="2"><input id="submit" type="submit" value="zaloguj" /></td></tr>
  44. </table>
  45. </form>';
  46. }
  47. ?>

jak ktos by mi pomogl wyeliminowac tego bleda bym byl wdzieczny
atomek4
Odpowiedz masz podana w komunikacie, brak definicji funkcji check_logged()

pozdrawiam
martino277
a troche jasniej brakuje mi jakiegos pliku do tego logowania czy czego ?
atomek4
Nie wiem gdzie masz definicje tej funkcji w oddzielnym pliku czy gdzies indziej w kodzie, który pokazałeś nic takiego nie widzę. definicja funkcji zazwyczaj zaczyna się tak:
  1. <?php
  2. function check_logged()
  3. ?>


Nie wiem jak prościej napisać, poszukaj tam skąd wziąłeś skrypt.
martino277
ok to jak rozumiem ta sciezka ma prowadzic w tej 38 lini do tej definicji tak wlasnie cos myslalem ale niewiedzialem czego dokladnie mi brakuje dzieki kolego daje pomogl pozdrawiam
atomek4
Wystarczy, że znajdziesz ta funkcję i ją wrzucisz do tego co masz tam wyżej lub z zewnętrznego pliku przez include
martino277
znalazlem takie cos

  1. <?php
  2. $logged = check_logged();
  3. $admin = check_logged(false, 2);
  4. if($logged)
  5.  
  6. ?>
  7.  
  8. <?php
  9. $logged = check_logged();
  10. $admin = check_logged(false, 2);
  11. if($admin)
  12.  
  13. ?>
  14.  
  15. to chyba to jeszcze jest plik function.php
  16.  
  17. ale to chyba do aktywacji konta 
  18.  
  19. <?php
  20. function form_value($string)
  21. {
  22. return str_replace('"', '&quot;', stripslashes($string));
  23. }
  24.  
  25. function mysql_value($string)
  26. {
  27. }
  28.  
  29. function check_logged($logging = false, $permissions = 1)
  30. {
  31. global $_POST, $_SESSION, $md5_prefix;
  32.  
  33. if ((!$logging && !isset($_SESSION['login'], $_SESSION['pass'])) || ($logging && !isset($_POST['login'], $_POST['pass'])))
  34. {
  35. return false;
  36. }
  37.  
  38. $res = mysql_query('select count(*) from `fbw_useradmin` where `login`='' . ($logging ? mysql_value($_POST['login']) : $_SESSION['login']) . '' and `pass`='' . ($logging ? md5($md5_prefix . $_POST['pass']) : $_SESSION['pass']) . '' and `permissions` >= '' . $permissions . ''');
  39. $row = mysql_fetch_assoc($res);
  40.  
  41. if ($row['count(*)'] != 0)
  42. {
  43. return true;
  44. }
  45.  
  46. return false;
  47. }
  48.  
  49. function generate_activate_code()
  50. {
  51. $activate_code = '';
  52. $znaki = 'abcdefghijklmnopqrstuvwxyz0123456789';
  53.  
  54. for ($i = 0; $i < 10; $i++)
  55. {
  56. $activate_code .= substr($znaki, rand(0, strlen($znaki)) , 1);
  57. }
  58.  
  59. return $activate_code;
  60. }
  61. ?>

tznaczy chodzi ci o to zebym to wstawil w tej 38 lini adres do pliku z ta funkcja ?jak dobrze rozumiem

probowalem z zewnetrznego pliku w 38 lini wpisalem adres tego ale niedziala gdzie mam to wstawic moglbys powiedziec dokladniej

ale niewiem czy dobrze zrobilem ten plik dalem ten pierwszy kod do tego pliku
atomek4
Daj na poczatku tego kodu z pierwszego posta:

  1. <?php
  2. include 'function.php';
  3. ?>


Oczywiście function.php musi być w tym samym katalogu co tamten plik

I jakbyś używał znaczników to łatwiej było by ten kod czytać
martino277
ok juz lepiej przynajmniej mozna wpisac logi i haslo ale jeszcze sa bledy tznaczy takie cos

  1. <?php
  2. $error = ''; $logged = false; if (check_logged()) { echo 'Jesteś już zalogowany.'; $logged = true; } elseif (isset($_POST['login'], $_POST['pass'])) { if (check_logged(true)) { $_SESSION['login'] = $_POST['login']; $_SESSION['pass'] = md5($md5_prefix . $_POST['pass']); echo 'Zostałeś zalogowany.'; $logged = true; } else { $res = mysql_query('select count(*) from `fbw_useradmin` where `login`='' . mysql_value($_POST['login']) . '' and `pass`='' . md5($md5_prefix . $_POST['pass']) . '''); $row = mysql_fetch_assoc($res); if ($row['count(*)'] != 0) { $error = 'Twoje konto jest nieaktywne. i czeka na aktywacje przez admina'; } else { $error = 'Wpisz poprawny login i hasło.'; } } } if (!$logged) { echo 
  3. ?>


moglbys podpowiedziec mi zeby mi to wszystko chodzilo to logowanie to polaczenie z baza musze zrobic to wiem czyli plik config.php

baze danych to wiadomo czy jeszcze cos trzeba?

nie elaegancko jest musialem tylko ten skasowac to co zamyka kod ?> elegancko chodzi niema tego bledu co wyzej guitar.gif

dobrze ze sa ludzie co sie znaja pozdrawiam dziekuje

---
Następnym razem proszę o używanie
BB Code w postach.
---
~strife
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.