Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mssgl/php] problem z logowaniem
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
Marjar
Witajcie,

Potrzebuje pomocy, próbuje napisać skrypcik który sprawdzi login i haslo, które zanjduje sie w bazie danych poczym przekieruje mnie dalej.
Nie wiem co nie tak?questionmark.gif

Pomocy

  1. ?>
  2. <?
  3. $USER=$_POST["login"];
  4. $PASS=$_POST["haslo"];
  5.  
  6.  
  7. FUNCTION CHECKPASS ($PASS, $USER)
  8. {
  9. $LINK = MSSQL_CONNECT("komp","SA","");
  10. $flag= mssql_select_db("stacja");
  11.  
  12. if(!$link || !$flag){
  13. //echo ("prob z pol z baza");
  14. return false;
  15. }
  16.  
  17. $query = "select haslo from personel where login = '".$user."'";
  18. $result = mssql_query($query);
  19. if(!result){
  20. //echo("odrzucone zapytanie");
  21. mssql_close($link);
  22. return false;}
  23.  
  24. $row = mssql_fetch_row($result);
  25. if(!$row){
  26. mssql_close($link);
  27. return false;
  28. }
  29. if($row[0] != $pass){
  30. mssql_close($link);
  31. return false;
  32. }
  33. else {mssql_close($link);return true;
  34. }
  35. if(!checkPass($pass, $user)){
  36. echo ("<html><body><center>");
  37. echo ("<h2>zle dane</h2>");
  38. echo("</center></body></html>");
  39. }
  40. else{
  41. include('nowy.php');
  42. }
  43. ?>


Tagi trzeba zamykac
poprawiam
---
nospor
Zbłąkany
Może weź napisz chociaż jaki błąd dostajesz, bo ja nie będę zgadywać co nie działa tongue.gif
hesus
W php wielkość liter w nazwach zmiennych i funkcji ma znaczenie. Np. $user i $USER to dwie różne zmienne.
Marjar
Troche jeszcze posiedzialem i poprawilem, juz wszystko niemal w porzadku (nie wyskakuja bledy) jedank wciaz uzytkownik nie moze sie zalogowac. Moze pomozecie?questionmark.gif

  1. ?>
  2. <?php
  3. ini_set('display_errors', 1);
  4.  
  5. $user=$_POST["login"];
  6. $pass=$_POST["haslo"];
  7.  
  8.  
  9. FUNCTION checkPass ($pass, $user)
  10. {
  11. $link = mssql_connect("komp","sa","");
  12. $flag= mssql_select_db("stacja");
  13.  
  14. if(!$link || !$flag){
  15.   echo ("prob z pol z baza");
  16. return false;
  17. }
  18.  
  19. $query = "SELECT HASLO FROM PERSONEL WHERE LOGIN = '".$user."'";
  20. $result = mssql_query($query);
  21. if(!$result){
  22. echo("odrzucone zapytanie");
  23. mssql_close($link);
  24. return false;}
  25.  
  26. $row = mssql_fetch_row($result);
  27. if(!$row){
  28. mssql_close($link);
  29. return false;
  30. }
  31. if($row[0] != $pass){
  32. mssql_close($link);
  33. return false;
  34. }
  35. else {mssql_close($link);return true;}
  36. }
  37. if(!checkPass($pass, $user)){
  38. echo ("<html><body><center>");
  39. echo ("<h2>zle dane</h2>");
  40. echo("</center></body></html>");
  41. }
  42. else{
  43. include('nowy.php');
  44. }
  45. ?>

Za niezamykanie bbCode nastepnym razem zamkne-NuLL
hesus
Wyświetlaj informację za pomocą echo o wynikach spełniania każdego z warunków funkcji checkPass i sprawdź, w którym miejscu się wysypuje. W następnym poście - o ile będzie potrzebny - podaj te informacje.
Czy w formularzu logowania nazwy pól tekstowych również napisałeś z małych liter?
hesus
Cytat
Notice: Undefined index: login in c:\AppServ\www\adminmssql\index.php on line 7
Notice: Undefined index: haslo in c:\AppServ\www\adminmssql\index.php on line 8
W formularzu wywołującym Twój skrypt powinna być ustawiona metoda POST:
  1. <FORM ACTION="plik_ze_skryptem.php" METHOD="POST">
. Pola edycyjne do wprowadzania loginu i hasła powinny mieć nazwy takie, jak użyte indeksy np:
  1. <INPUT TYPE="text" NAME="login">

Cytat
Fatal error: Call to undefined function mssql_connect() in c:\AppServ\www\adminmssql\index.php on line 13
W php.ini powinno być odśrednikowane extension = php_mssql.dll. Linia z extension_dir powinna zawierać ścieżkę do katalogu z bibliotekami dll np.
Kod
extension_dir = c:/php/extension
W katalogu tym powinien się znajdować plik php_mssql.dll
M45t3r
Fatal error: Call to undefined function mssql_connect() in c:\AppServ\www\adminmssql\index.php on line 13

powinno mysql_connect() a nie myssql_connect() ?
nospor
@master ty patrz na jakim forum jestes a potem wal genialne odpowiedzi, nie jestesmy na mysql tylko na Microsoft SQL Server / MSDE . Tu nie powinny byc mysql_connect a mssql_connect.
Odpowiedź została udzielona wyzej. Pewnie koles nie ma dll załadowanej.
Na przyszlosc master bądź bardziej w czytany w topici i fora
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.