Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][XML][PHP]2 zadania z php - coś zrobione i nie mogę ruszyć dalej.
natka22
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.11.2015

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





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




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
Go to the top of the page
+Quote Post
natka22
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.11.2015

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


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ę.
Go to the top of the page
+Quote Post

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 - 21:24