Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP] Nauka Array
mrk9109
post 21.01.2018, 13:35:34
Post #1





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


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. }
Go to the top of the page
+Quote Post
com
post 21.01.2018, 15:33:46
Post #2





Grupa: Zarejestrowani
Postów: 3 032
Pomógł: 366
Dołączył: 24.05.2012

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


foreach zajrzyj tutaj wink.gif
Go to the top of the page
+Quote Post
mrk9109
post 21.01.2018, 16:37:48
Post #3





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


A ceny zmieną mam dobrze zrobiona ?
Go to the top of the page
+Quote Post
com
post 21.01.2018, 21:01:21
Post #4





Grupa: Zarejestrowani
Postów: 3 032
Pomógł: 366
Dołączył: 24.05.2012

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


tablica jest dobrze zdefiniowana, ale lepszy byłby jakiś json, a najprościej sprawdzić wykorzystać np var_dump lub xdebug i dać breakpointa

Ten post edytował com 21.01.2018, 21:02:08
Go to the top of the page
+Quote Post
mrk9109
post 22.01.2018, 18:36:54
Post #5





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


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
Go to the top of the page
+Quote Post
com
post 22.01.2018, 18:41:56
Post #6





Grupa: Zarejestrowani
Postów: 3 032
Pomógł: 366
Dołączył: 24.05.2012

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


pewnie, proszę:
https://ideone.com/KBObgo

Ten post edytował com 22.01.2018, 18:43:58
Go to the top of the page
+Quote Post
mrk9109
post 22.01.2018, 18:45:00
Post #7





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


bardzo przejrzyste dzięki czaje smile.gif jeszcze te jedno pytanko co napisalem wyzej
Go to the top of the page
+Quote Post
com
post 22.01.2018, 18:49:06
Post #8





Grupa: Zarejestrowani
Postów: 3 032
Pomógł: 366
Dołączył: 24.05.2012

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


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
Go to the top of the page
+Quote Post
mrk9109
post 22.01.2018, 19:01:25
Post #9





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


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=....
Go to the top of the page
+Quote Post
viking
post 22.01.2018, 19:05:49
Post #10





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


http://php.net/manual/en/reserved.variables.get.php
Musisz to odpowiednio zabezpieczyć.


--------------------
Go to the top of the page
+Quote Post
com
post 22.01.2018, 19:08:47
Post #11





Grupa: Zarejestrowani
Postów: 3 032
Pomógł: 366
Dołączył: 24.05.2012

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


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
Go to the top of the page
+Quote Post
mrk9109
post 23.01.2018, 19:12:54
Post #12





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


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 "

Ten post edytował mrk9109 23.01.2018, 19:13:43
Go to the top of the page
+Quote Post
krzywy5830
post 23.01.2018, 20:03:49
Post #13





Grupa: Zarejestrowani
Postów: 38
Pomógł: 5
Dołączył: 14.10.2012

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


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. }


Ten post edytował krzywy5830 23.01.2018, 20:11:09
Go to the top of the page
+Quote Post
mrk9109
post 23.01.2018, 21:33:13
Post #14





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


bardzo ladne dziekuje przejrzyste a srodek strony zostaje taki sam w index ? tylko id na page ? i tyle
Go to the top of the page
+Quote Post
krzywy5830
post 23.01.2018, 21:39:30
Post #15





Grupa: Zarejestrowani
Postów: 38
Pomógł: 5
Dołączył: 14.10.2012

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


Jeśli dobrze rozumiem pytanie to tak, kod który ci podałem wstawiasz do pliku index.php.
Go to the top of the page
+Quote Post
mrk9109
post 23.01.2018, 21:47:38
Post #16





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


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/
Go to the top of the page
+Quote Post
krzywy5830
post 23.01.2018, 21:58:51
Post #17





Grupa: Zarejestrowani
Postów: 38
Pomógł: 5
Dołączył: 14.10.2012

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


  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.
Go to the top of the page
+Quote Post
mrk9109
post 23.01.2018, 22:05:46
Post #18





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


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
Go to the top of the page
+Quote Post
krzywy5830
post 23.01.2018, 22:09:54
Post #19





Grupa: Zarejestrowani
Postów: 38
Pomógł: 5
Dołączył: 14.10.2012

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


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.

Ten post edytował krzywy5830 23.01.2018, 22:10:22
Go to the top of the page
+Quote Post
mrk9109
post 23.01.2018, 22:19:13
Post #20





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


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 ?

Ten post edytował mrk9109 23.01.2018, 22:19:47
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 11:48