Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Nauka Array
Forum PHP.pl > Forum > Przedszkole
mrk9109
Witam w końcu postanowiłem się wziąć za nauke php i mam pewne pytanie zaczynam sobie powoli od podstaw i mam kod co zrobilem :
  1. $cenaopon = 220;
  2. $cenaoleju = 129;
  3. $cenaswiec = 47;
  4.  
  5. $wartosc = $iloscopon * $cenaopon + $iloscoleju * $cenaoleju + $iloscswiec * $cenaswiec;
  6.  
  7. echo 'Cena Netto: '.$wartosc.' PLN </br>';
  8.  
  9. $stawkavat = 0.23; // STAWKA VAT 23%
  10. $wartosc = $wartosc * (1 + $stawkavat);
  11. echo 'Cena brutto: '.$wartosc.' PLN </br>';


I czytam sobie kurs i chciałem to uprościć i zastosować array i gdzie robie błąd ?
  1. $ceny = array ('Opony'=>100, 'Olej'=>10, 'Swiece Zaplonowe'=>4);
  2.  
  3. foreach ($ceny) {
  4. $wartosc = $iloscopon * $ceny + $iloscoleju * $ceny + $iloscswiec * $ceny;
  5.  
  6. echo 'Cena Netto: '.$wartosc.' PLN </br>';
  7.  
  8. $stawkavat = 0.23; // STAWKA VAT 23%
  9. $wartosc = $wartosc * (1 + $stawkavat);
  10. echo 'Cena brutto: '.$wartosc.' PLN </br>';
  11. }
com
foreach zajrzyj tutaj wink.gif
mrk9109
A ceny zmieną mam dobrze zrobiona ?
com
tablica jest dobrze zdefiniowana, ale lepszy byłby jakiś json, a najprościej sprawdzić wykorzystać np var_dump lub xdebug i dać breakpointa
mrk9109
mógł byś pokazać jakiś przykład ? dopiero się uczę

i mam jeszcze jedno pytanie jak zrobic wczytywanie plikow przez index np: index.php?act=artykuly
com
pewnie, proszę:
https://ideone.com/KBObgo
mrk9109
bardzo przejrzyste dzięki czaje smile.gif jeszcze te jedno pytanko co napisalem wyzej
com
nie rób tak bo ten sposób jest bardzo niebezpieczny i dawno już się w ten sposób nie robi biggrin.gif poczytać musisz o routingu np coś w stylu jak tutaj http://lukasz-socha.pl/php/routing-linkow-w-php/ wink.gif
mrk9109
a coś prostszego ? dopiero się uczę i to trochę skomplikowane wczytuje sobie na srodku np: przez include no ale chcial bym przez index kazda strone np: index?site=....
viking
http://php.net/manual/en/reserved.variables.get.php
Musisz to odpowiednio zabezpieczyć.
com
no to poczytaj na temat composer i wykorzystaj np gotową bibliotekę jak ta: https://github.com/dannyvankooten/PHP-Router, niestety nie da się tego przeskoczyć, kiedyś istniało takie rozwiązanie jak piszesz, ale dawno już tego nie stosuje się dlatego, że można było wykonać w ten sposób dowolny kod na stronie i było to skrajnie niebezpieczne. korzystanie z composer nie jest trudne dasz radę wink.gif
mrk9109
dziękuje smile.gif będę jutro to studiował dziś udaję już się na noc zmianę jak coś będę pytał smile.gif

czytałem i trochę rozumie te przyjazne linki ale chce też zapytać o te rozwiązanie czy jest bezpieczne czy może coś do tego dodać jeszcze ?

a więc
funkcja :
  1. <?php
  2.  
  3. // -- Przekierowywanie z index -- //
  4.  
  5. if(isset($_GET['id'])) $id = $_GET['id'];
  6. else $id = '';
  7. if(!isset($_SERVER['HTTP_REFERER'])) {
  8. $_SERVER['HTTP_REFERER'] = "";
  9. }
  10.  
  11. ?>


i w index srodek strony:
  1. <?php
  2. if(!isset($id)) $id="test";
  3. $zle = array('\\','/','/\/',':','.');
  4. $id = str_replace($zle,' ',$id);
  5. if(!file_exists($id.".php")) $id = "test";
  6. include($id.".php");
  7. ?>


i uzyskałem efekt co chciałem " index.php?id=formu "
krzywy5830
Cytat(mrk9109 @ 23.01.2018, 19:12:54 ) *
  1. if(!isset($_SERVER['HTTP_REFERER'])) {
  2. $_SERVER['HTTP_REFERER'] = "";
  3. }
  4.  
  5. ?>


Co to właściwie ma robić?

Cytat(mrk9109 @ 23.01.2018, 19:12:54 ) *
czy jest bezpieczne


Zdecydowanie nie. Jeśli już chcesz tak kombinować zamiast użyć routingu jak człowiek to ja bym zrobił to tak:

  1. <?php
  2. switch($_GET['page']) //Wcześniej oczywiście robisz ifa z isset($_GET['page']), jeśli isset zwróci false to ładujesz 404.php. Jeśli używasz PHP 7.1 to możesz też zrobić switch($_GET['page'] ?.? (bez tej kropki w środku, tutaj na forum nie działa bo robi jakąś emotikonę śmieszną) null), przypisze to wartość null jeśli $_GET['page'] nie istnieje
  3. {
  4. case 'home':
  5. include('index.php');
  6. break;
  7.  
  8. case 'janusz':
  9. include('janusz.php');
  10. break;
  11.  
  12. case 'placki':
  13. include('placki.php');
  14. break;
  15.  
  16. default:
  17. http_response_code(404);
  18. include('404.php'); //Strona błędu 404 (czyli nie ma takiej strony)
  19. }
mrk9109
bardzo ladne dziekuje przejrzyste a srodek strony zostaje taki sam w index ? tylko id na page ? i tyle
krzywy5830
Jeśli dobrze rozumiem pytanie to tak, kod który ci podałem wstawiasz do pliku index.php.
mrk9109
Wiem wkleilem ale teraz chodzi mi o to jak to przerobic pod to

  1. <?php
  2. if(!isset($page)) $page="test";
  3. $zle = array('\\','/','/\/',':','.');
  4. $id = str_replace($zle,' ',$id);
  5. if(!file_exists($page.".php")) $page = "test";
  6. include($page.".php");
  7. ?>


na twoim przykladzie powoli zaczynam to czaić smile.gif jak to działa a cały kod tu

http://wklej.org/id/3352567/
krzywy5830
  1. <html>
  2. <head>
  3. <title>test</title>
  4. </head>
  5. <body>
  6. TEST TES TES <br /> <br/>
  7.  
  8. <?php
  9. if(!isset($_GET['page'])
  10. {
  11. $page = null;
  12. }
  13.  
  14. else
  15. {
  16. $page = $_GET['page'];
  17. }
  18.  
  19. switch($page)
  20. {
  21. case 'home':
  22. include('home.php'); //Strona główna
  23. break;
  24.  
  25. case 'test':
  26. include('test.php'); //Jakaś inna strona
  27. break;
  28.  
  29. default:
  30. http_response_code(404);
  31. include('404.php'); //Strona błędu 404 (czyli nie ma takiej strony)
  32. }
  33. ?>
  34.  
  35. </body>
  36. </html>


Ale zainteresuj się koniecznie routingiem i modelem MVC, bo tak jak wyżej już się dawno nie robi.
mrk9109
Parse error: syntax error, unexpected '{' in C:\Users\PC_ACER\xampp\htdocs\cwiczenia\index.php on line 11

gdzies blad


bede sie staral i czytac powoli o routingu
krzywy5830
Cytat(mrk9109 @ 23.01.2018, 22:05:46 ) *
Parse error: syntax error, unexpected '{' in C:\Users\PC_ACER\xampp\htdocs\cwiczenia\index.php on line 11

gdzies blad


bede sie staral i czytac powoli o routingu


To szukaj błędu, jak wszystko będę robił za ciebie to się nie nauczysz tongue.gif Podpowiem ci, że jest drobna pomyłka w linii 9, piszę z telefonu i to przeoczyłem.
mrk9109
brak nawiasu smile.gif to teraz działa link index.php?page=home itp ale w jak sie wpisze sam index.php to wczytuje 404.php ze strony nie ma a powinno stone glowna ?
krzywy5830
Cytat(mrk9109 @ 23.01.2018, 22:19:13 ) *
brak nawiasu smile.gif to teraz działa link index.php?page=home itp ale w jak sie wpisze sam index.php to wczytuje 404.php ze strony nie ma a powinno stone glowna ?


Jeśli chcesz żeby jak wpiszesz strone.pl/index.php wyświetlało stronę główną to popatrz na tego ifa z linii 9. $_GET['page'] istnieje (isset zwróci true) tylko wtedy jeśli parametr page będzie podany (strona.pl/index.php?page=costam). Teraz zmienna $page przyjmuje wartość null gdy isset zwraca false. Pomyśl co z tym zrobić, kombinuj sam tongue.gif
mrk9109
dzięki wielkie za pomoc smile.gif kombinowanie nawiecej uczy
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.