Cytat(b4rt3kk @ 28.06.2013, 13:15:30 )

Ogólnie w zadaniu chodziło o to byś przeliczył, że np. 3600 sec to 1 godzina i 0 minut i 0 sekund, a nie że jest to 1 godzina, 60 minut, 3600 sekund. Rozumiesz? Zadanie jest nieco bardziej utrudnione, może się źle wyraziłem początkowo. No i mógłbyś dorzucić właśnie walidację oraz to żeby nie wyświetlało wyników, jeśli np. lat będzie 0. Może też odmieniać końcówkę, że np. 1 rok, 2 lata, 3 lata, itd. albo 1 sekunda, 2 sekundy, 10 sekund, itd.
Ufff... ale się namęczyłem... google i inne fora baaaardzo pomocne mino, ze nie znalazłem identycznego skryptu łączącego wszystkie Twoje wymagania (czyt. z odmianą słowną).
Ale udało się!
Dużo się także nauczyłem, choćby funkcji floor, ceil i innych rzeczy :-)
Kod poniżej. Chyba wszystko działa.
Proszę o uwagi.
Podaj liczbe sekund
<br /><form action="sekundy.php" method="post"> <input type="text" name="sekundy"><br /> <input type="submit" method="post" value="Wyslij" />
<?php
$sek_w_min = 60;
$sek_w_godz = 60 * $sek_w_min;
$sek_w_dniu = 24 * $sek_w_godz;
// dni
$dni = floor($sekundy / $sek_w_dniu);
// godziny
$godzinoSekundy = $sekundy % $sek_w_dniu;
$godz = floor($godzinoSekundy / $sek_w_godz);
// minuty
$minutoSekundy = $godzinoSekundy % $sek_w_godz;
$min = floor($minutoSekundy / $sek_w_min);
// sekundy
$sekundy2 = $minutoSekundy % $sek_w_min;
function odmiana($sek,$odmiana1,$odmiana234,$odmianainna) {
if($sek == 1)
return $odmiana1;
elseif($sek % 100 >= 10 && $sek % 100 <= 20)
return $odmianainna;
return $odmiana234;
return $odmianainna;
}
function odmiana2($min,$odmiana1,$odmiana234,$odmianainna) {
if($min == 1)
return $odmiana1;
elseif($min % 100 >= 10 && $min % 100 <= 20)
return $odmianainna;
return $odmiana234;
return $odmianainna;
}
function odmiana3($godz,$odmiana1,$odmiana234,$odmianainna) {
if($godz == 1)
return $odmiana1;
elseif($godz % 100 >= 10 && $godz % 100 <= 20)
return $odmianainna;
return $odmiana234;
return $odmianainna;
}
function odmiana4($dni,$odmiana1,$odmiana234,$odmianainna) {
if($dni == 1)
return $odmiana1;
elseif($dni % 100 >= 10 && $dni % 100 <= 20)
return $odmianainna;
return $odmiana234;
return $odmianainna;
}
$odmiana = odmiana($sek,'a','y','');
$odmiana2 = odmiana2($min,'a','y','');
$odmiana3 = odmiana3($godz,'a','y','');
$odmiana4 = odmiana4($dni,'dzien','dni','dni');
echo $sekundy." sekund".$odmiana." to ".$dni." ".$odmiana4." ".$godz." godzin".$odmiana3." ".$min." minut".$odmiana2." i ".$sek." sekund".$odmiana; echo "<BR /><BR /><BR />";
?>
Muszę odpocząć...
Pozdrawiam
Seb.
Cytat(b4rt3kk @ 28.06.2013, 07:48:24 )

3. Napisz skrypt, który pozwoli użytkownikowi wprowadzić swoje imię (przed dodaniem sprawdź czy nie zawiera niedozwolonych znaków, jeśli tak wyświetl komunikat i poproś o ponowne wprowadzenie imienia) i gdy użytkownik wejdzie po raz kolejny na stronę (po zamknięciu przeglądarki i ponownym otworzeniu) to zobaczy komunikat 'Witaj imie' oraz dane na swój temat, takie jak adres IP, przeglądarka, strona z której przyszedł. Znajdź optymalny sposób na zapamiętanie wprowadzonego imienia. Użytkownik po kliknięciu będzie mógł usunąć zapamiętanie i dopiero wtedy wprowadzić inne imię.
Witajcie.
Pomęczyłem się strasznie. Walczyłem z ciasteczkami, potem przeszedłem na sesje, logowania, i znów wróciłem na ciasteczka... Masakra - ale powiem jedno dla Przedszkolaków:
SUPER NAUKA!!!Oto mój kod. Pewnie nie o to chodziło, ale działa podobnie. Nie wiem tylko dlaczego, jak zamknę przeglądarkę to bardzo szybko ucieka mi cookie - raz się trzyma, innym razem już go nie ma :-( Może to wina ustawień w przeglądarce? Hm... Mam nadzieję, że nie i że to mój brak wiedzy.
oki, stworzyłem 3 pliki.
imie.html
imie.php
imiezap.php - do zniwelowania sesji.
PLIK imie.html
<form method="post" action="imie.php"> Podaj swoje imie:
<input type="text" name="imie"><input type="submit" value="ok">
PLIK imie.php
<?php
$imie=$_POST['imie'];
echo "<BR />Witaj ".$_COOKIE['imie']."<BR />"; echo "<BR />Twoj adres IP to: ".$_SERVER['REMOTE_ADDR']."<BR />"; echo "Twoja przegladarka to: ".$_SERVER['HTTP_USER_AGENT']."<BR />"; echo "Zawitales do nas z: ".$_SERVER['HTTP_REFERER']."<BR /><BR /><BR /><BR />";
echo '<a href="imiezap.php">Zapomnij mnie</a>';
}
else {
echo("Wpisales znaki niedozwolone."."<BR>"."Sprobuj jeszcze raz"."<BR>"); echo '<a href="imie.html">Jeszcze raz</a>'; }
?>
PLIK imiezap.php
<?php
@header("Location: imie.html"); ?>
Co o tym sądzicie?
Chyba nieźle zakręciłem, co?
Natomiast znów się wieeele nauczyłem, wiem jak niszczyć cookies, przeładować szybko stronę itp

Proszę o komentarze.
Pozdrawiam.
Seb.
Cytat(b4rt3kk @ 28.06.2013, 07:48:24 )

Tyle, że baza danych to podstawa, na samych plikach bardziej zaawansowanej strony nie postawisz. Nie mówię, że to niemożliwe, ale czasochłonne by było.
Zgadzam się. Jednak patrząc z drugiej strony, strasznie wkurzają mnie "programiści php", którzy trochę poczytali o Mysql, umieją edytować bazę za pomocą phpmyadmin i uważają się za SUPER programistów nie mając zielonego pojęcia o podstawach php (np. tworzenie funkcji). Dlatego najpierw wziąłem się za dokładną naukę strukturalnego php a dopiero potem ruszę dalej (choć mysql nieco łapię)
Cytat(b4rt3kk @ 28.06.2013, 07:48:24 )

1. Napisz skrypt (klasę) pozwalający użytkownikowi wrzucać obrazki na stronę oraz który wyświetla wszystkie wrzucone obrazki.
Najpierw stworzyłem poprzez funkcję potem zobaczyłem, że ma być poprzez klasę. No cóż... Wrzucam funkcję - przeanalizujcie.
<form enctype="multipart/form-data" action="obrazki.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Wybierz plik do wyslania:
<br /> <input name="userfile" type="file" /><input type="submit" value="Wyslij" />
<?php
$location = 'obrazki/' . basename($_FILES['userfile']['name']);
echo "Obrazek zostal zaladowany :-)"; } else {
echo "Blad w zaladowaniu obrazka"; }
?>
<html>
<body>
<br />Jesli chcesz to zaladuj kolejne obrazki:<BR /><BR />
<form enctype="multipart/form-data" action="obrazki.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000000" />
Wybierz plik do wyslania:<br /> <input name="userfile" type="file" />
<input type="submit" value="Wyslij" />
</form>
<BR /><BR /><BR />
</body>
</html>
<?php
function obrazki($dir)
{
if($file=='.'||$file=='..' || is_dir($dirname.$file)) continue
; return $tab;
}
//wyswielanie obrazka
$tab = obrazki('obrazki/');
foreach($tab as $value)
{
echo '<img src="obrazki/'.$value.'">'; }
?>
Pozdrawiam.
Seb.