Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]funkcje_wyswietl, problem
infolearn
post 20.12.2007, 05:33:41
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 17.09.2007

Ostrzeżenie: (0%)
-----


Robie przyklady z ksiazki helionu system zakladek. Starama sie stworzyc plik funkcje_wyswietl.php Jedna z funkcji mi sie w ogole nie wyswietla function wyswietl_form_rej($rejestracja)
ma za zadanie stworzenia formularza rejestracji po przejsciu na ta strone jest tylko function tworz_naglowek_html($tytul)

  1. <?php
  2.  
  3. function tworz_naglowek_html($tytul)
  4. {
  5. // wyswietlanie naglowka
  6. ?>
  7. <html>
  8. <head>
  9.  
  10. <title><?php echo $tytul;?></title>
  11. <link href='css/store.css' rel='stylesheet' type='text/css' />
  12. </head>
  13.  
  14. <body>
  15. <img src="img/zakladka.gif" alt='Logo'>
  16. <h1>Keep your bookmarks here</h1>
  17. <hr />
  18. <?php
  19. if($tytul)
  20. tworz_tytul_html($tytul);
  21. }
  22. ?>
  23.  
  24. <?php
  25.  
  26. function wyswietl_informacje_witryny($witryna)
  27. {
  28. //text na stronie na d formularzem
  29. ?>
  30.  
  31. <html>
  32. <head>
  33. </head>
  34. <body>
  35. <li>Php Bookmarks System</li>
  36. <li>Keep your Bookmarks in one spot</li>
  37. <p><a href="formularz_rejestracji.php">Not a member yet?</a></p>
  38. </body>
  39. </html>
  40.  
  41. <?php
  42. if($witryna)
  43. wyswietl_informacje_witryny($witryna);
  44. }
  45. ?>
  46.  
  47.  
  48. <?php
  49. function wyswietl_form_log($logform)
  50. {
  51. //wyswietla formularz logowania
  52. ?>
  53. <html>
  54. <head></head>
  55. <body>
  56. <form action="czlonek.php" metod="post">
  57. <p><lable for="name">*Username:</lable>
  58. <input type="text" name="nazwa_uz" id="name" /></p>
  59. <p><lable for="password">*Password:&nbsp;</lable>
  60. <input type="password" name="haslo" id="password" />
  61. </p>
  62. <input type="submit" name="submit" value="Login" /><br />
  63. <p><a href="zapomnij_haslo.php">Forgot your password?</a></p>
  64. </body>
  65. </html>
  66. <?php
  67. if($logform)
  68. wyswietl_form_log($logform);
  69. }
  70. ?>
  71.  
  72. <?php
  73. function wyswietl_form_rej($rejestracja)
  74. {
  75. //formularz rejestracji usera
  76. ?>
  77. <html>
  78. <head></head>
  79. <body>
  80. <form action="nowa_rejestracja.php" metod="post">
  81. <p><lable for="name">*Username:</lable>
  82. <input type="text" name="nazwa_uz" id="name" /></p>
  83. <p><lable for="password">*Password:&nbsp;</lable>
  84. <input type="password" name="haslo" id="password" />
  85. </p>
  86. <input type="submit" name="submit" value="Login" /><br />
  87. <p><a href="zapomnij_haslo.php">Forgot your password?</a></p>
  88. </body>
  89. </html>
  90. <?php
  91. if($rejestracja)
  92. wyswietl_form_rej($rejestracja);
  93. }
  94. ?>
Go to the top of the page
+Quote Post
PiXel2.0
post 20.12.2007, 05:51:04
Post #2





Grupa: Zarejestrowani
Postów: 110
Pomógł: 13
Dołączył: 16.03.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Bo musiales cos poplatac i masz w rezultacie niepoprwane funkcje rekurencyjne.
Poczytaj sobie o funkcjach rekurencyjnych to sie dowiesz dlaczego Twoj kod nie dziala.
Go to the top of the page
+Quote Post
infolearn
post 20.12.2007, 06:06:49
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 17.09.2007

Ostrzeżenie: (0%)
-----


robi sie pewnie masz racje , pewno zle deklaruje funkcje

Zasatanawiam sie tylko dlaczego pierwsze 3 funkcje dzialaja a ostatnia nie
Go to the top of the page
+Quote Post
nospor
post 20.12.2007, 08:57:38
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Zasatanawiam sie tylko dlaczego pierwsze 3 funkcje dzialaja a ostatnia nie
Bo moze te pierwsze funkcje wywolujesz z parametrem false, a tę co ci nie dziala z parametrem true?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
nevt
post 20.12.2007, 09:14:05
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


po pierwsze: nigdzie nie domykasz znacznika <form> ... w HTML nie istnieje znacznik <lable> ...- to, że w ogóle coś ci się wyświetla, to tylko dobra wola przeglądarki...

po drugie: nie wolno tak wywoływać funkcji z wnętrza wlasnej definicji (czyli rekurencyjnie) bez warunku na ograniczenie poziomu zagłębień...

po trzecie: te funkcje ci działają, kiedy przekazujesz im parametr o wartości FALSE - one po prostu ZAWSZE wyświetlają swoją treść...

po czwarte: kiedy wywołasz je z parametrem o wartości TRUE - wystąpi nieskończona pętla wywołań rekurencyjnych - efekt jak opisujesz - biała, pusta strona w przeglądarce, do tego może zwiesić się przeglądarka i/lub serwer PHP...

po piąte: o ile się nie mylę co do tego co chcesz osiągnąć, to powinieneś przerobić wszystkie te funkcje wg wzoru
  1. <?php
  2. function wyswietl_form_rej($rejestracja)
  3. {
  4. //formularz rejestracji usera
  5. if(!$rejestracja)
  6. return;
  7. ?>
  8. <html>
  9. <head></head>
  10. <body>
  11. <form action="nowa_rejestracja.php" metod="post">
  12. <p><label for="name">*Username:</label><input type="text" name="nazwa_uz" id="name" /></p>
  13. <p><label for="password">*Password:&nbsp;</label>
  14. <input type="password" name="haslo" id="password" /></p>
  15. <input type="submit" name="submit" value="Login" /><br />
  16. </form>
  17. <p><a href="zapomnij_haslo.php">Forgot your password?</a></p>
  18. </body>
  19. </html>
  20. <?php
  21. }
  22. ?>

po szóste: generalnie takiej funkcjonalności tak się nie robi. przecież te twoje "funkcje" php to praktycznie "czysty" kod HTML. powinieneś te podstronki zapisać w oddzielnuych plikach html, a w pliku php zawrzeć tylko logikę zrządzającą kiedy ma być ładowana konkretna podstronka.

powodzenia.

Ten post edytował nevt 20.12.2007, 09:15:47


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:02