Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][XML][PHP]2 zadania z php - coś zrobione i nie mogę ruszyć dalej.
Forum PHP.pl > Forum > Przedszkole
natka22
Poproszę o pomoc w tych obu zadaniach.

Zadanie 1.
Skonstruuj dokument HTML ze skryptem PHP, który:

wpisuje do jednowymiarowej tablicy PHP kolejne liczby parzyste od 26 do -16 (to zrobiłam),
wyświetla wartości z tej tablicy w postaci listy numerowanej (to również zrobiłam),
koloruje tła elementów zawierających liczby podzielne przez 9 (tu nie wiem w jaki sposób zagnieżdzić instrukcję if).
Poniżej jest mój skrypt całego zadania, które działa poprawnie, z wyjątkiem trzeciego warunku (co do stylu to jest zdefiniowany w head'zie w htmlu).

  1. $w=array();
  2. for($i=-16;$i<=26;$i+=2)
  3. $w[]=$i;
  4. echo '<ol calss="red">';
  5. for ($r=0; $r<count($w); $r++)
  6. {
  7. echo '<li>'.$w[$r].'</li>';
  8. }
  9. echo '</ol>'; //nie wiem gdzie to umieścić i nie wiem czy dobrze to skonstruowałam: if ($/9) echo '<ol calss="red">' '<li>'.$w[$r].'</li>' '</ol>'; ?


Zadanie 2.

Skonstruuj skrypt PHP, który odbierze dane z formularza oraz sprawdzi ich poprawność, czyli czy są spełnione warunki:
1) wybrano dzień tygodnia;
2) wybrano godziny zgodnie z następującymi warunkami: w poniedziałki, wtorki i środy do 11:00, w czwartki i piątki od 11:00.
Skonstruuj skrypt PHP, który przerwie działanie poprzedniego skryptu i wyświetli odpowiedni komunikat jeśli dane nie są poprawne, natomiast jeśli są poprawne zapisze je, rozdzielone znakiem # w pliku tekstowym (dane z każdego formularza w osobnej linii);
Skonstruuj skrypt PHP, który wyświetli godziny przyjęć w czwartki.
Zrobiłam ten formularz kod jest poniżej, zrobiłam kod php, który ma za zadanie pilnować aby zaznaczyć dzień tygodnia i wysyłanie danych z formularza
danych do pliku tekstowego, który jest osobno. Nie potrafię skostruować tych warunków z 2) i coś jest nie tak z exit po ifie w kodzie php. Podejrzewam, też że mogę mieć źle odbiór danych z formularza, a już napewno nie mam mam tego #. Wyświtlić z godziny z czwartku to chyba print_r więc nie byłoby kłopotu żebym sama to zrobiła.

  1. <form action="dniTygodnia.php" method="POST">
  2. <select name="dniTygodnia">
  3. <option value=""></option>
  4. <option value="poniedzialek">poniedziałek</option>
  5. <option value="wtorek">wtorek</option>
  6. <option value="sroda">środa</option>
  7. <option value="czwartek">czwartek</option>
  8. <option value="piatek">piątek</option>
  9. </select>
  10.  
  11. <br/>
  12.  
  13. Godziny:<br/>
  14. <input type="checkbox" value="8-11;" name="checkbox1" /> 8 - 11<br/>
  15. <input type="checkbox" value="11-14;" name="checkbox2" /> 11 - 14<br/>
  16. <input type="checkbox" value="14-17;" name="checkbox3" /> 14 - 17<br/>
  17.  
  18. <input type="submit" />
  19.  
  20. </form>


  1. <?php
  2. if(
  3. $_POST['dniTygodnia'] == "" ||
  4. !$_POST['checkbox1'] && !$_POST['checkbox2'] && !$_POST['checkbox3'] ||
  5. $_POST['dniTygodnia'] == "poniedzialek" && $_POST['checkbox2'] ||
  6. $_POST['dniTygodnia'] == "poniedzialek" && $_POST['checkbox3'] ||
  7. $_POST['dniTygodnia'] == "wtorek" && $_POST['checkbox2'] ||
  8. $_POST['dniTygodnia'] == "wtorek" && $_POST['checkbox3'] ||
  9. $_POST['dniTygodnia'] == "sroda" && $_POST['checkbox1'] ||
  10. $_POST['dniTygodnia'] == "czwartek" && $_POST['checkbox1'] ||
  11. $_POST['dniTygodnia'] == "piatek" && $_POST['checkbox1']
  12.  
  13. ){
  14. exit 'źle wybrano';
  15. } else {
  16. $file = 'danezformularza.txt';
  17. $t = file($file);
  18. $t = $_POST['dniTygodnia'].'^'.$_POST['checkbox1'].$_POST['checkbox2'].$_POST['checkbox3'].PHP_EOL;
  19. file_put_contents($file, $t);
  20. }
  21. ?>


Proszę, aby ktoś mi pomógł, gdyż sama nawet po googlowaniu nie jestem w stanie tego dokończyć, a jutro mam kolokwium i chciałabym widzieć jak to zrobić, gdyż może się zdarzyć że podobne zadania bedzie trzeba zrobić. Jeśli dodałam coś za dużo to przepraszam ale chcę mieć pewność iż wszystko co skonstruowałam jest poprawne.
nospor
Cytat
tu nie wiem w jaki sposób zagnieżdzić instrukcję if
A po co chcesz zagniezdzac if?
By sprawdzic, czy liczba jest podzielna przez 9 czy nie to robisz zwykle dzielenie modulo

if ($liczba %9 == 0) echo 'Dziele sie przez 0';

Cytat
<input type="checkbox" value="8-11;" name="checkbox1" /> 8 - 11<br/>
<input type="checkbox" value="11-14;" name="checkbox2" /> 11 - 14<br/>
<input type="checkbox" value="14-17;" name="checkbox3" /> 14 - 17<br/>

Gdzie w tresci zadania masz napisane, ze uzytkownik moze wybrac tylko przedzial godzinowy? IMHO uzytkownik moze wybrac dowolna godzine jaka chce
natka22
Akurat to zadanie było w plikach do przygotowania się i do tego obrazek jak ma wyglądać owy formularz.

Co do tego if to rzeczywiście muszę doczytać jeszcze o modulo i dziękuję.
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.