Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wczytanie nowej strony, Wczytanie nowej strony po poprawnym wypełnieniu formularza
--Piotrek--
post
Post #1





Goście







Witam, od wczoraj bawiłem się w sprawdzanie poprawności wypełnienia formularza. Stworzylem klasę kontruląją wszsytkie możliwe błędy
w tym kawałku jest użyta w tym miejscu:

  1. <?php
  2. $Kontroler->PustePole($_POST['firstname'],'Podaj Imie');
  3. ?>


I mam taki problem, bo w końcu jak ten formularz jest poprawnie wypełniony to chciałbym przejść do następnej strony , gdzie klient mógłby otrzymać informacje o wprowadzonych danych, ale przez ten kawałek kodu (który poprawnie spełnia swoje właściwosci) nie mogę nic zrobić.

  1. action="<?php echo $_SERVER['PHP_SELF'];?>?action=check"


Próbowałem wklejać różne warunku w ten mały kawałeczek, ale po pierwsze się nie sprawdziło a po drugie wyglądało to żałośnie.

  1. <form action="<?php echo $_SERVER['PHP_SELF'];?>?action=check" id="formularzyk" method="post">
  2. <h2>Dane Klienta</h2>
  3. <table class="danepodstawowe">
  4. <tr>
  5. <td class="label"><label for="firstname">Imie:</label></td>
  6. <td class="value"><input type="text" name="firstname" value="<?=$firstname?>" id="firstname"/></td>
  7. <td class="remarks">wymagane
  8. <span class="errors">
  9. <?php
  10. $Kontroler->PustePole($_POST['firstname'],'Podaj Imie');
  11. ?>
  12. </span>
  13. </tr>
  14. </table>
  15. <input type="submit" name="Zaloz konto" value="Zaloz konto" id="nowekonto"/>
  16. </form>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
--Piotrek--
post
Post #2





Goście







Opisze dokładnie jak co robię, bo coś zauważyłem ale dalej nei wiem dlaczego tak jest:
1. Mam klase (która jest includowana do pliku zakładanie_konta.php). W tej klasie jest funkcja PustePole , która sprawdza czy jest puste pole czy nie.
  1. <?php
  2. function PustePole($ciag,$komunikat){
  3. if(strlen($ciag) == 0 AND $_GET['action'] == 'check'){
  4. echo "<font color='red'>$komunikat</font>";
  5. if($komunikat == 'Podaj Imie'){
  6. $this->error = 1;
  7. echo 'jest puste';
  8. }
  9. }
  10. else if(strlen($ciag) != 0 && $_GET['action'] == 'check') {
  11.  if($komunikat == 'Podaj Imie' ){
  12.  echo 'jest pelne ';
  13. $this->error = 2;
  14.  }
  15. }
  16. }
  17. ?>

I tak się składa żę jak jest puste pole to widzę na ekranie jest puste pole, wtedy przypisuję do zmiennej error 1, w przeciwnym wypadku wypisuje jest pelne i do zmiennej przypisuję 2. Teraz przechodzimy do pliku zakładanie_konta.

  1. <?php
  2. include "class.KontrolerBledow.php";
  3. ?>
  4. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
  5.  
  6. <head>
  7. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"/>
  8. <link rel="stylesheet" type="text/css" media="all" href="arkusz.css"/>
  9. </head>
  10. <body>
  11.  
  12.  
  13. <div id="upbg"></div>
  14. <div id="outer">
  15.  
  16.  
  17.  
  18. <div id="header">
  19. <div id="headercontent">
  20. </div>
  21. </div>
  22. <div id="headerpic"></div>
  23. <div id="menu">
  24. <ul>
  25. <li><a href="#">Wydarzenia</a></li>
  26. <li><a href="#" class="active">Nowinki</a></li>
  27. <li><a href="#">Znajomi</a></li>
  28. <li><a href="#">Wiadomosci</a></li>
  29. </ul>
  30. </div>
  31.  
  32. <div id="menubottom"></div>
  33. <div id="left_menu">
  34. <div class="menuu">
  35. <h6>Nowosc:</h6>
  36. </div>
  37. <hr/>
  38. <div class="menuu">
  39. <h6>Ciekawostki</h6>
  40. </div>
  41. </div>
  42.  
  43. <div id="logowanie">
  44. <div class="menuu">
  45. <h6>Nowosc:</h6>
  46. </div>
  47. <hr/>
  48. <div class="menuu">
  49. <h6>Ciekawostki</h6>
  50. </div>
  51. </div>
  52.  
  53. <div id="formularze">
  54. <form action="<?php echo $_SERVER['PHP_SELF'];?>?action=check" id="formularzyk" method="post">
  55. <h2>Dane Klienta</h2>
  56. <table class="danepodstawowe">
  57. <?php
  58. if(!$Kontroler->JestError() && $_GET['action'] == 'check'){
  59.  
  60. echo "sa bledy w tablicy" , $Kontroler->JakaLiczba(),".";
  61. }
  62.  else if($_GET['action']== 'check' && $Kontroler->jestError()){ 
  63. echo "nie ma bledow w tablicy";
  64. }
  65. ?>
  66. <tr>
  67. <td class="label"><label for="firstname">Imie:</label></td>
  68. <td class="value"><input type="text" name="firstname" value="<?=$firstname?>" id="firstname"/></td>
  69. <td class="remarks">wymagane
  70. <span class="errors">
  71. <?php
  72. $Kontroler->PustePole($_POST['firstname'],'Podaj Imie');
  73. ?>
  74. </span>
  75. </tr>
  76.  
  77. </table>
  78. <input type="submit" name="Zaloz konto" value="Zaloz konto" id="nowekonto"/>
  79. </form>
  80.  
  81. </div>
  82.  
  83.  
  84.  
  85. </div>
  86. </body>
  87.  
  88. </html>


I tak , na ekranie widzę napisy że że pole jest puste albo jest pełne, w tej samej funkcji przypisuję 1 albo 2. A jak sprawdzam jaka wartośc jest to tam nic nie ma!!!!
  1. <?php
  2. if(!$Kontroler->JestError() && $_GET['action'] == 'check'){
  3.  
  4. echo "sa bledy w tablicy" , $Kontroler->JakaLiczba(),".";
  5. }
  6. ?>

W tym momencie widzę taki napis : "sa bledy w tablicy." , tak jakby tej zmiennej nie było. Zrobiłem w klasie funkcję
  1. <?php
  2. function UstawLiczba($liczba){
  3. $this->error =$liczba; 
  4. }
  5. ?>


następnie próbuję ustawić liczbę 5 to wszystko pięknie dziąła i pokazuje mi 5, a jak ma ustawić w samej funkcji 1 albo 2 to tak jakby nic się nei wyświetla.

  1. <?php
  2. if(!$Kontroler->JestError() && $_GET['action'] == 'check'){
  3. $Kontroler->UstawLiczba(5);
  4. echo "sa bledy w tablicy" , $Kontroler->JakaLiczba(),".";
  5. }
  6. ?>


Proszę o pomoc!
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: 2.10.2025 - 17:25