Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][cURL]Sprawdzanie tekstu nie działa
Forum PHP.pl > Forum > Przedszkole
Johnas
Witam! Mam taki o to formularz:
  1. echo '<form action="" method="post">';
  2. echo 'Login: <input type="text" name="login">';
  3. echo 'Hasło: <input type="password" name="pass">';
  4. echo '<input type="submit" value="send">';
  5. echo '</form>';
  6. }
  7. if ($_POST) {
  8. $blad = 0;
  9. $login = $_POST['login'];
  10. $pass = $_POST['pass'];
  11. if (strlen($login) < 3 or strlen($login) > 30) {
  12. $blad++;
  13. $tresc[1] = "Proszę wypełnić pola: 'Użytkownik' oraz 'Hasło' ";
  14. } elseif (strlen($pass) < 3 or strlen($pass) > 30) {
  15. $blad++;
  16. $tresc[1] = "Proszę wypełnić pola: 'Użytkownik' oraz 'Hasło' ";
  17. } else {
  18. if(strstr(sprawdzpass($login, $pass), 'Nieprawidłowa nazwa użytkownika ')!==True)
  19. {
  20. $blad++;
  21. $tresc[1] = 'hasła nie ma';
  22. } Else {
  23. $tresc[2] = 'hasło ok';
  24. }
  25. }
  26. }


Tutaj jest kod jakiego chce użyć w skrypcie
  1. if (isset($_POST['submitted'])){
  2. $login = $_POST["username"];
  3. $pass = $_POST["password"];
  4. // ładujemy funkce do sprawdzania hasła
  5. function sprawdzpass($lg, $ps) {
  6. $c = curl_init();
  7. curl_setopt($c, CURLOPT_URL, 'adres');
  8. curl_setopt($c, CURLOPT_HEADER, true);
  9. curl_setopt($c, CURLOPT_POST, 1);//przesylamy metodą post
  10. curl_setopt($c, CURLOPT_POSTFIELDS, "username=$lg&password=$ps"); //dane do wyslania
  11. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  12. curl_setopt($c, CURLOPT_TIMEOUT, 25);
  13. $wynik = curl_exec($c);
  14. curl_close($c);
  15.  
  16. //Wyciąganie ze źródła potrzebnego kodu za pomocą fukcji explode();
  17. $wynik = explode('<tr><td><center>',$wynik);
  18. $wynik = $wynik[1];
  19. $wynik = explode('<br></center></td></tr>', $wynik);
  20. $wynik = $wynik[0];
  21.  
  22. return($wynik);
  23. }
  24. // sprawdzamy dane użytkownika czy wypełnił
  25. if (strlen($login) < 3 or strlen($login) > 30) {
  26. $blad++;
  27. $tresc[1] = "Proszę wypełnić pola: 'Użytkownik' oraz 'Hasło' ";
  28. } elseif (strlen($pass) < 3 or strlen($pass) > 30) {
  29. $blad++;
  30. $tresc[1] = "Proszę wypełnić pola: 'Użytkownik' oraz 'Hasło' ";
  31. } else {
  32. if(strstr(sprawdzpass($login, $pass), 'Nieprawidłowy ')!==True)
  33. {
  34. $tresc[1] = "Nie dodano modulu gdyż dane sie nie zgadzaja";
  35. $blad++;
  36. } else {
  37. $wynik=mysql_query("SELECT id FROM modul WHERE
  38. iddod='$id'");
  39.  
  40. if (mysql_num_rows($wynik) == 1) {
  41. DodajModul($zmienna1, $login, $pass);
  42. } else {
  43. $print = 'posiadasz juz ten modul';
  44. }
  45. }
  46. }
  47. }

i wszystkie funkcje działają prócz sprawdzania hasła. Nie wiem dlaczego. Jeżeli mam taki prosty kod to wszystko jest ok:

  1. echo '<form action="" method="post">';
  2. echo 'Login: <input type="text" name="login">';
  3. echo 'Hasło: <input type="password" name="pass">';
  4. echo '<input type="submit" value="send">';
  5. echo '</form>';
  6. }
  7. if ($_POST) {
  8. $login = $_POST['login'];
  9. $pass = $_POST['pass'];
  10. if(strstr(sprawdzpass($login, $pass), 'Nieprawidłowa nazwa użytkownika ')!==False)
  11. {
  12. $tresc = 'hasła nie ma';
  13. $error++;
  14. } Else {
  15. $tresc = 'hasło ok';
  16. }
  17. }
  18.  
  19.  
  20. echo $tresc;
kyku
deklaracje funkcji sprawdzpass
Kod
function sprawdzpass($lg, $ps) {

wepchales do ifa, tak nie powinno byc.
PS. strasznie wolno i niestabilnie Ci to bedzie chodzilo, nie mozesz laczyc sie z zewnetrzna baza (mysql) i przez nia sprawdzac czy login jest prawidlowy?
Jak strona nie odpowie nic lub zwroci jakis inny error to wyjdzie, ze haslo jest prawidlowe.
Johnas
Ale jak mam na samej górze skryptu function sprawdzpass($lg, $ps) { to tak samo nie działa... nie wiem co jest tego powodem...


Odpowiedz jest prosta... Nie działa gdyż kodowanie miałem ustawione na UTF8 bez bom
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.