![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 19.10.2016 Ostrzeżenie: (0%) ![]() ![]() |
<?
while (!empty(czytajLinie())) { if (czytajLinie()=="tak") { echo "przyznano dostep"; } elseif (czytajLinie()=="nie") { echo "nie przyznano dostepu"; } elseif (czytajLinie()!="tak" || czytajLinie()!="nie") { echo "nie znam komendy\n"; } } echo "wpisz raz jeszcze polecenie\n"; ?> Witam, jestem nowa i poczakujaca... a w zasadzie to jeszcze raczkujaca ![]() ![]() Wyyslilam sobie zadanie, ze petla ma dzialac w momencie gdy pole z funkcji (czytajlinie - to moja wlasna funkacja, gdzie sie wpisuje cos) nie bedzie pusta, inaczej ma ja zakonczyc. I tak: jesli uzytkownik wpisze "tak to ma sie cos wyswietlic, jezeli "nie" to ma sie tez cos wuswietlic, a jezeli nic z powyzszych to tez ma cos sie wyswiertlac... cos mi nie dziala bo jak wpisuje tak to petla wskakuje jakby na poczatek i znowu mam pole do wpisywania zamiast echo dopasowane do slowa "tak"... co jest nie tak? Ten post edytował dolar 19.10.2016, 09:20:05 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Pokaż kod tej funkcji czytajLinie - może łatwiej będzie zrozumieć o co Ci tak właściwie chodzi.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 19.10.2016 Ostrzeżenie: (0%) ![]() ![]() |
function czytajLinie() { echo "Wpisz: "; $handle = fopen ("php://stdin","r"); $line = fgets($handle); return trim($line); } Przepraszam jesli pisze malo czytelnie, ale na prawde jestem dopiero na etapie podstaw ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zmień warunek pętli na
i później w środku odwołuj się do $linia a nie czytajLinie(). W takiej formie jak masz teraz w każdym miejscu gdzie wywołujesz czytajLinie() musisz wpisywac tekst od nowa. Ten post edytował kapslokk 19.10.2016, 09:23:06 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 19.10.2016 Ostrzeżenie: (0%) ![]() ![]() |
Dziala!!!
A czy pspba powyzej bylaby tak mila i wytlumaczyla mi jak laikowi dlaczego dziala jak przypisze zmiennej moja funkcje, a jak nie to nie dziala? Bo w chwili obecnej jestem na etapie przestawianie sie na myslenie programistyczne i czasem nie widze rzeczy, ktore powinnam :/. Widze ze po przypisaniu funkcji do zmiennej jest ona wywolywana tylko raz w warunku petli, a wczesniej mialam ja wywolywana kilka razy tak? Dlatego nie dzialalo? Ten post edytował dolar 19.10.2016, 09:29:59 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Funkcja czytajLinie() przy KAŻDYM wywołaniu pobiera tekst z wejścia - czyli za pierwszym razem gdy sprawdzasz czy polecenie nie jest puste i poźniej gdy porownujesz do konkretnych stringow. Potrzebujesz pobrać polecenie jeden raz i później na nim już operować. Teoretycznie Twój kod też działał, tylko trzeba było wpisać np 2x tak.
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 19.10.2016 Ostrzeżenie: (0%) ![]() ![]() |
Baardzo dziekuje za pomoc. Wiem, ze moje pierwsze kroki i zadania i problemy moga wydac sie czasem blahe, ale jestem mega zadowolona z udzielonej mi pomocy iw razie problemow bede tutaj stalym uzytkownikiem
![]() Pozdrawiam! |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Daj POMÓGŁ tym którzy ci pomogli w rozwiązaniu problemu.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 22:46 |