Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skrypt PHP dla początkujących problem
Forum PHP.pl > Forum > Przedszkole
szeregowy.php
  1. form method="post" action="skrypt.php">
  2. <table>
  3. <tr>
  4. <td>Wpisz pierwszą liczbę: </td>
  5. <td><input type="text" name="liczba1" /></td>
  6. </tr>
  7. <tr>
  8. <td>Wpisz drugą liczbę: </td>
  9. <td><input type="text" name="liczba2" /></td>
  10. </tr>
  11. <td><input type="hidden" name="wylicz" value="tak" /></td>
  12. <td><input type="submit" name="Sprawdź" /><td>
  13. </tr>
  14. </table>
  15. </form>
  16.  
  17. <?php
  18.  
  19. if($_POST['wylicz'] == 'tak')
  20. {
  21. if($_POST['liczba1'] == "" AND $_POST['liczba2'] == "")
  22. {
  23. echo 'Wypełnij wszystkie pola w formularzu';
  24. }
  25. else
  26. {
  27. if(!is_numeric($_POST['liczba1']) AND !is_numeric($_POST['liczba2']))
  28. {
  29. echo 'Wpisane dane nie są liczbami';
  30. }
  31. else
  32. {
  33. $WynikMnożenia = $_POST['liczba1'] * $_POST['liczba2'];
  34.  
  35. if($WynikMnożenia > 20)
  36. {
  37. echo 'Wynik mnożenia jest więkdzy od 20';
  38. }
  39. else
  40. {
  41. if($_POST['liczba1'] > $_POST['liczba2'])
  42. {
  43. echo 'Liczba1 jest większa od Liczba2';
  44. }
  45. else
  46. {
  47. if($_POST['liczba1'] < $_POST['liczba2'])
  48. {
  49. echo 'Liczba1 jest mniejsza od Liczba2';
  50. }
  51. else
  52. {
  53. echo' Obie liczy mają taką samą wartość';
  54. }
  55. }
  56. }
  57. }
  58. }
  59. }
  60.  
  61. ?>



Kiedy próbuje uruchomić skrypt w przeglądarce internetowej uruchamia się on ale na samym dole pojawia się notka:Notice: Undefined index: wylicz on line 19. Kiedy wpisuję liczby w puste pola i wysyłam zapytanie pojawia mi się komunikat nie znaleziono obiektu Error 404... Wydaje mi się że wszystko powinno działać ale niestety tak nie jest.

Powyższy kod pochodzi z jednego z poradników PHP, jako że dopiero rozpoczynam naukę tego języka był bym wdzięczny za pomoc w czym tkwi problem.

Ilware
znacznik <form> musi być zamknięty,ale przypuszczam że to błąd przy kopiowaniu.

przy sprawdzaniu czy w tablicy $_POST istnieje wartość 'wylicz' sprawdź najpierw czy istnieje w ogóle tablica $_POST

  1. if( isset( $_POST ) && $_POST['wylicz'] == 'tak' )


w lini 21 i 27 powinien być parametr LUB ( || ) a nie tak jak masz AND ( staraj się zapisywać to jako && )

zamias takiego długiego if'a spóbuj czymś innym np else if albo switch()

np.

  1. swich(true){
  2. case ($WynikMnożenia > 20):
  3. echo 'Wynik mnożenia jest więkdzy od 20';
  4. break;
  5. case ($_POST['liczba1'] > $_POST['liczba2']):
  6. echo 'Liczba1 jest większa od Liczba2';
  7. break;
  8. case ($_POST['liczba1'] < $_POST['liczba2']):
  9. echo 'Liczba1 jest większa od Liczba2';
  10. break;
  11. case ($_POST['liczba1'] == $_POST['liczba2']):
  12. echo' Obie liczy mają taką samą wartość';
  13. break;
  14. }


co do obiekty Error 404 jak się nazywa plik który wywołujesz?Powinien się nazywać skrypt.php
szeregowy.php
Dzięki za porady z pewnością je wykorzystam. Co do znacznika form nie śmiem pouczać ale jest on zamknięty na końcu wiersza <form....php">

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.