Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zablokować wyswietlanie sie wiadomosci przy uruchomieniu skryptu
Forum PHP.pl > Forum > PHP
dzesi
Witam pierwszy raz mam taki problem ze niemoge sie z nim sam uporać
A więc mam dany skrypt np rejestracji i w nim mam komunikaty dla poszczególnych funkcji, błędów itd
ale jak wywołam go poprzez przeglądarkę pokazują mi sie komunikaty, ale ja bym chciał żeby one pokazywał sie tylko wtedy kiedy jest dany błąd .Jak ożywam echo pokazują sie wszystkie komunikaty ale jak daje return to zaden sie nie pokazuje, może to błąd logiczny z mojej winy co o tym sądzicie ?
np dajmy taki fragment kodu
  1. <?php
  2. public function spradzanie_hasla_i_spradzanie_loginu() { // nazwa funkcji wymyślone pisana na szybko dla przykładu
  3.  
  4.  if ($this->haslo!=$this->haslodwa){
  5. return "Podajesz złe hasło !!!";
  6. }
  7. elseif ($this->login==$ob->login)
  8. {
  9. return 'Taki user istnieje';
  10. }
  11. }
  12. ?>

Jeśli ktoś wpisze dwa inne hasła pokazuje sie błąd "Podajesz złe hasło exclamation.gif!"; itd
Może troszkę głupie pytanie ale jakie są wasze rady ?
deirathe
4 linkijka zamiast "=" "==";
return nie wyswietla ko unikatow tylko zwraca wartosc co jest wielka roznica, jezeli chcesz zeby wyswietlalo komunikat to robisz taK:
  1. <?php
  2. echo sprawdzanie_hasla_i_loginu();
  3. ?>

jak nie podziala to wyslij caly kod moze masz wiecej bugow niz sie spodzeiwasz smile.gif
pozdrawiam
dzesi
Witam po raz kolejny po męczarniach z których tak nic nie wynikło jestem zmuszony napisać do was o poradę smile.gif
o to kawałek klasy w której występuje problem
  1. <?php
  2. // konstruktor 
  3.  
  4. if (!empty($_POST['login'])&& !empty( $_POST['haslo'])&& !empty($_POST['haslotwo']))
  5. {
  6. $this->login=$_POST['login'];
  7. $this->haslo=$_POST['haslo'];
  8. $this->haslotwo = $_POST['haslotwo'] ;
  9.  }
  10.  else {
  11. echo ("Nie wprowadziłeś Wszystkich danych do formularza "); // pojawia sie nawet jak odpalę goły skrypt 
  12. }
  13. }
  14. /////////////////////////////////////////////////// sprawdzanie czy hasła i login został wpisany taki sam jak w formularzu 
  15.  $ob=mysql_fetch_object($sprawdzlog);  
  16.  }
  17. public function spradzanie_hasla() {
  18.  
  19.  if ($this->haslo!==$this->haslotwo);
  20.  
  21. }
  22. public function sprawdzanie_loginu()
  23. {
  24. if($this->login==$ob->login);
  25.  
  26. }
  27. /////////////////////////////////////////////////////////////////
  28. $start=new Rejestracja($_POST[login],$_POST[haslo],$_POST[haslotwo]);
  29. if(!$start->spradzanie_hasla())
  30. {
  31. echo 'Podajeś złe hasło !!!';
  32. }
  33. if(!$start->sprawdzanie_loginu())
  34. {
  35. echo 'Taki user istnieje';
  36. }
  37. $start->polaczenie();
  38. if ($start->spraw_user())
  39. {
  40.  echo "Dodano Nowego usera pomyślnie ";
  41. }
  42.  
  43. if (!$start->rej_user())
  44. {
  45.  echo "Nie udało sie dodać";
  46. }
  47. //echo "Dziękujemy za rejestracje w naszym serwisie";
  48. ?>

Proszę mi powiedzieć jakie błędy popełniam bo to ważne zęby więcej nie popełniać błędów podobnych worriedsmiley.gif
phpion
1. Nie używaj $_POST w klasie (o ile to klasa bo średnio dostrzegam class...). Do konstruktora przekazuj dane w ten sposób:
  1. <?php
  2. $o = new Obiekt($_POST['zmienna');
  3. ?>

a sam konstruktor definiuj w ten sposób:
  1. <?php
  2. class Obiekt {
  3. public function __construct($zmienna) {
  4. // rob cos ze $zmienna
  5. }
  6. }
  7. ?>

2. Masz dziwną manię pisania metod, które nic nie robią:
  1. <?php
  2. public function spradzanie_hasla() {
  3. if ($this->haslo!==$this->haslotwo);
  4. }
  5. ?>

Przydałby się jakiś return czy coś.

Ogólnie kod to totalny bałagan...
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.