• PHP.pl
    www.php.pl

    Portal PHP

  • Forum - posty
  • [CSS][PHP]Sklep z koszykiem w php

    Pobrałem gotowy sklep phpshop-0.8.1. Czy zna ktos darmowy serwer żebym mógł się pobawić i go przetestować ?

    na p..v.pl wyskakują błędy

    Warning: ini_set() has been disabled for security reasons in /home/hosting/........

    Może ma ktoś gotowy inny prosty sklep z koszykiem w PHP..?



  • PHP Backend Developer / 100% zdalnie

    NewPerspective – We do IT recruitment. We don/t look for new perspective. We create IT.

    Poszukujemy PHP Backend Developera, który dołączy do zespołu rozwijającego rozwiązanie polegające na przesyłaniu danych pomiędzy kilkoma platformami. Stanowisko jest 100% zdalne.

    Czego oczekujemy?

    #Min. 2 lat doświadczenia komercyjnego w tworzeniu backendu
    #Bardzo dobrej znajomości PHP7
    #Bardzo dobrej znajomości Symfony2+
    #Znajomości systemu kontroli wersji GIT oraz relacyjnych baz danych
    #Język angielski – wystarczy poziom umożliwiający pracę z dokumentacją, rekrutacja także prowadzona jest po polsku smile.gif

    Co możemy Ci zaoferować?

    #Wynagrodzenie: do ok. 11 000 zł netto przy współpracy B2B lub do 11 000 zł brutto przy zatrudnieniu na podstawie Umowy o pracę
    #100% współpracę zdalną z nastawieniem na długofalową współpracę
    #Płatne urlopy i L4 przy B2B
    #Elastyczne godziny pracy
    #Pakiet benefitów: karta sportowa, prywatna opieka medyczna, ubezpieczenie grupowe
    #Możliwość awansu oraz rozwoju: szkolenia wewnętrzne i zewnętrzne, konferencje, lekcje angielskiego, dostęp do wewnętrznej biblioteki
    #Nowy, kameralny zespół
    #Dużą samodzielność w wyborze warunków i narzędzi pracy
    #Realny wpływ na rozwój projektów
    #Zespół, którego będziesz ważną częścią
    #Niezbędny sprzęt
    #Szybki proces rekrutacji, który przeprowadzimy 100% zdalnie smile.gif

    Chcesz porozmawiać o szczegółach? Zapraszam do kontaktu: katarzyna.frydryk@new-perspective.pl smile.gif


  • Klasa obsługująca MYSQLI

    Stworzyłem sobie klasę

    1.  
    2. class db{
    3. private $con;
    4. private $host;
    5. private $db_user;
    6. private $db_password;
    7. private $db_name;
    8. // Create connection
    9. public function __construct($host, $db_user, $db_password, $db_name){
    10. $this->db_password = $db_password;
    11. $this->host = $host;
    12. $this->db_user = $db_user;
    13. $this->db_name = $db_name;
    14. $this->con = mysqli_connect($this->host, $this->db_user, $this->db_password, $this->db_name);
    15. mysqli_set_charset($this->con,"utf8");
    16. }
    17. public function db_select($query){
    18. $result = mysqli_query($this->con, $query);
    19. if ($result->num_rows > 0){
    20. while($row = $result->fetch_assoc()){
    21. $results[] = $row;
    22. }
    23. }
    24. return $results;
    25. }
    26. }

    tworzę nowy objekt :

    1. $pages = new db($host, $db_user, $db_password, $db_name);
    2. $query = ('SELECT * FROM pages');
    3. $pages->db_select($query);
    4. print_r($pages);


    Ale funkcja zamiast zwracać tablice assoc. oddaję coś takiego :
    1. db Object ( [con:db:private] => mysqli Object ( [affected_rows] => 4 [client_info] => mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $ [client_version] => 50012 [connect_errno] => 0 [connect_error] => [errno] => 0 [error] => [error_list] => --!Array ( ) [field_count] => 3--! [host_info] => localhost via TCP/IP [info] => [insert_id] => 0 [server_info] => 5.5.5-10.1.36-MariaDB [server_version] => 50505 [stat] => Uptime: 24 Threads: 1 Questions: 6 Slow queries: 0 Opens: 18 Flush tables: 1 Open tables: 12 Queries per second avg: 0.250 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 3 [warning_count] => 0 ) [host:db:private] => localhost [db_user:db:private] => root [db_password:db:private] => [db_name:db:private] => sti230319 )


    i defakto dostaję to czego chcę... ale nie wiem jak to wyciągnąć;;;


  • [Symfony]Automatyczne pobieranie kategorii

    Witam,
    Mam następujący problem, mam szablon layout.html.twig który jest wczytywany wszędzie, w nim mam menu z kategoriami pobranymi z bazy danych, i teraz moje pytanie jak zrobić, aby w każdym kontrolerze z automatu wczytać listę kategorii z bazy, zamiast za każdym razem pobierać repozytorium kategorii i z niego wszystkie kategorie. Od dłuższego czasu pracuję w Symfony, ale tworzę API bez widoków, stąd ten problem. Ogólnie chciałbym aby po wczytaniu layout.html.twig pobrała się lista kategorii bez mojej ingerencji, z pominięciem wczytywania w każdej akcji kontrolera tej listy.

    Jakieś pomysły?


  • [HTML][inne][JavaScript][JS][NODEJS] Czy da się to odkodować

    Znalazłem fajny open source kod ale tylko częściowo.
    Napisany w html js i node
    Autor zabezpieczył dwa pliki między innymi takim kodem:

    Kod
    0x5b476f[_0x2c36('0x696')][_0x2c36('0x868')]=function(){_0x40527c(),window[_0x2c36('0x869')]||_0x4446b9[_0x2c36('0x88d')](_0x2c36('0x91a'));},_0x5b476f['prototype'][_0x2c36('0x91b')]=function(_0x1f021c){_0x1f021c[_0x2c36('0x8fa')]();try{_0x4446b9[_0x2c36('0x91c')](),_0x4446b9[_0x2c36('0x901')]()&&(_0x2b3c00[_0x2c36('0x91d')](_0x4446b9[_0x2c36('0x901')]()),_0x3944a6[_0x2c36('0x74c')](CST[_0x2c36('0x15d')][_0x2c36('0x153')])[_0x2c36('0x87b')]=!0x1);}catch(_0x19788c){ERROR[_0x2c36('0x74a')](0x3,_0x19788c);}return!0x1;},_0x5b476f['prototype'][_0x2c36('0x911')]=function(){this[_0x2c36('0x90d')]=!this[_0x2c36('0x90d')],_0x4446b9['chat\x5ffocusInput']();},_0x5b476f[_0x2c36('0x696')][_0x2c36('0x842')]=function(){_0x4446b9[_0x2c36('0x906')]();},_0x5b476f[_0x2c36('0x696')]['openChatPopup']=function(){_0x4446b9['open'](CST[_0x2c36('0x215')][_0x2c36('0x20e')]);},_0x5b476f['prototype'][_0x2c36('0x91e')]=function(_0x3c1785){_0x3c1785[_0x2c36('0x91f')]===CST['KEYBOARD'][_0x2c36('0x920')]&&_0x447ff5[_0x2c36('0x8fd')]('');},_0x5b476f[_0x2c36('0x696')]['keydown']=function(_0x4bfee7){_0x4bfee7[_0x2c36('0x91f')]!==CST[_0x2c36('0x854')][_0x2c36('0x921')]||_0x447ff5[_0x2c36('0x8fd')]()||(_0x4bfee7[_0x2c36('0x8fa')](),_0x2b3c00[_0x2c36('0x32a')]());},_0x5b476f['prototype']['mousedownTextZone']=function(_0x39b506){_0x4d700d[_0x2c36('0x8f2')]&&_0x39b506[_0x2c36('0x922')]();},_0x5b476f[_0x2c36('0x696')][_0x2c36('0x913')]=function(){_0x3944a6[_0x2c36('0x74c')](CST[_0x2c36('0x15d')][_0x2c36('0x153')])['visible']=!0x0;},_0x5b476f[_0x2c36('0x696')]['clickInput']=function(){this[_0x2c36('0x8fb')]=!0x1,_0x447ff5[_0x2c36('0x923')](_0x2c36('0x8f1'));},_0x5b476f[_0x2c36('0x696')][_0x2c36('0x914')]=function(){w['player'][_0x2c36('0x80e')]['isPressingAbility']()&&(this[_0x2c36('0x8fb')]=!0x0);},_0x5b476f[_0x2c36('0x696')][_0x2c36('0x915')]=function(){this[_0x2c36('0x8fb')]=!0x1;},_0x5b476f['prototype'][_0x2c36('0x917')]=function(){var _0x58d504=this[_0x2c36('0x8f2')]?this[_0x2c36('0x90d')]?0.75:0.25:0.15;return _0x58d504*this[_0x2c36('0x6b2')]+'px';},_0x5b476f['prototype'][_0x2c36('0x918')]=function(){var _0x58d504=this[_0x2c36('0x8f2')]&&this[_0x2c36('0x90d')]?0.15:0.05;return _0x58d504*this['height']+'px';},_0x5b476f['prototype']['semiTransparent']=function(){return this[_0x2c36('0x910')]&&!this[_0x2c36('0x8f2')];},_0x5b476f;}(),_0x4d700d=_0x3944a6[_0x2c36('0x73b')](CST[_0x2c36('0x15d')][_0x2c36('0x126')],new _0x589a35(),{'\x73\x74\x6f\x70\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e':!0x1}),_0x265669=$('\x2ebottomMid')[0x0];return _0x59ffcd[_0x2c36('0x924')](function(_0x2aa2e4,_0xcf676b){_0x4d700d['height']=_0xcf676b;}),_0x3b86ba[_0x2c36('0x80d')](CST[_0x2c36('0x367')][_0x2c36('0x364')],function(_0x365f80){_0x4d700d[_0x2c36('0x364')]=!!_0x365f80;}),_0x5062d0[_0x2c36('0x80d')](CST[_0x2c36('0x1cf')][_0x2c36('0x189')],function(_0x1534be,_0x18822f){_0x4d700d[_0x2c36('0x87b')]=_0x18822f[CST['HUD'][_0x2c36('0x126')]]!==CST[_0x2c36('0x925')][_0x2c36('0x2fd')];}),_0x59ffcd['onOffsetChangeEmitter'](function(){_0x4d700d[_0x2c36('0x910')]=_0x265669['className'][_0x2c36('0x6a0')](_0x2c36('0x910'));},-0xa),null;});}(Rc||(Rc={}));var Rc;!function(_0x279975){global[_0x2c36('0x803')](_0x2c36('0x926'),[],function(_0x44f53c){var _0x42e956=_0x44f53c['VueUI'],_0x243561=(_0x44f53c[_0x2c36('0x808')],_0x44f53c[_0x2c36('0x8be')]),_0x460751=function(){function _0x395577(_0x3331a4){this['id']=Tk[_0x2c36('0x6ee')](),this[_0x2c36('0x927')]=!0x1,this[_0x2c36('0x928')]=!0x1,this[_0x2c36('0x2e8')]='',_0x3331a4&&(this['id']=_0x3331a4['id'],this[_0x2c36('0x927')]=_0x3331a4[_0x2c36('0x927')],this['time']=Tk[_0x2c36('0x929')](_0x3331a4['time']));}return _0x395577;}(),_0x3f7029=function(){function _0x277751(){this['el']=_0x2c36('0x92a'),this[_0x2c36('0x92b')]=window['DEBUG\x5fUI']?[new _0x460751()]:[],this[_0x2c36('0x84a')]={'\x63\x68\x72\x6f\x6e\x6f\x73':this[_0x2c36('0x92b')]},this[_0x2c36('0x861')]={'\x6f\x6e\x63\x6c\x69\x63\x6b':this['onclick']};}return _0x277751[_0x2c36('0x696')][_0x2c36('0x842')]=function(_0x409641){var _0x4e1dda=this[_0x2c36('0x92b')][_0x409641];_0x4e1dda[_0x2c36('0x928')]&&_0x1d1c1e(_0x4e1dda);},_0x277751;}(),_0x51f407=_0x42e956[_0x2c36('0x73b')](CST[_0x2c36('0x15d')]['chrono'],new _0x3f7029()),_0x706d40=function(_0x446476){return Tk['findFirst'](_0x51f407['chronos'],function(_0x4936ed){return _0x4936ed['id']===_0x446476;})||null;},_0x1d1c1e=function(_0x3e016a){_0x51f407[_0x2c36('0x92b')][_0x2c36('0x6f9')](_0x51f407[_0x2c36('0x92b')]['indexOf'](_0x3e016a),0x1);};_0x243561['onChangeEmitter'](CST[_0x2c36('0x1cf')][_0x2c36('0x1a0')],function(_0x4e1562,_0x49873d){_0x49873d[_0x2c36('0x697')](function(_0x41bf3a){var _0x43c2ab=_0x706d40(_0x41bf3a['id']);_0x43c2ab&&(_0x4e1562['m\x5fchrono']['chrono'][_0x2c36('0x92c')](_0x41bf3a['id']),_0x1d1c1e(_0x43c2ab)),_0x41bf3a[_0x2c36('0x92d')]=_0x41bf3a[_0x2c36('0x2e8')],_0x4e1562['m\x5fchrono']['chrono'][_0x2c36('0x6b5')](_0x41bf3a['id'],_0x41bf3a),_0x41bf3a[_0x2c36('0x87b')]&&_0x51f407[_0x2c36('0x92b')][_0x2c36('0xbf')](new _0x460751(_0x41bf3a));});},0x1),_0x243561[_0x2c36('0x80d')](CST[_0x2c36('0x1cf')][_0x2c36('0x1a1')],function(_0x1341ba,_0x2b6d21){_0x2b6d21[_0x2c36('0x697')](function(_0x283cfb){var _0x32b09d=_0x1341ba[_0x2c36('0x92e')][_0x2c36('0x127')][_0x2c36('0x74c')](_0x283cfb['id']);_0x32b09d&&(_0x32b09d[_0x2c36('0x927')]=!0x1,_0x32b09d[_0x2c36('0x92d')]=_0x283cfb[_0x2c36('0x2e8')],_0x32b09d[_0x2c36('0x2e8')]=_0x283cfb['time']);var _0x213ec6=_0x706d40(_0x283cfb['id']);_0x213ec6&&(_0x213ec6['active']=!0x1,_0x213ec6[_0x2c36('0x2e8')]=Tk['frameToChrono'](_0x283cfb[_0x2c36('0x2e8')]));});},0x1),_0x243561['onChangeEmitter'](CST[_0x2c36('0x1cf')][_0x2c36('0x1d5')],function(_0x3e537c,_0x18007e){_0x18007e[_0x2c36('0x697')](function(_0x13a76a){_0x3e537c[_0x2c36('0x92e')][_0x2c36('0x127')][_0x2c36('0x92c')](_0x13a76a['id']);var _0x11e5e1=_0x706d40(_0x13a76a['id']);_0x11e5e1&&(_0x13a76a[_0x2c36('0x92f')]?_0x1d1c1e(_0x11e5e1):(_0x11e5e1[_0x2c36('0x927')]=!0x1,_0x11e5e1[_0x2c36('0x928')]=!0x0));});},0x1),_0x243561[_0x2c36('0x80d')](CST[_0x2c36('0x1cf')]['chronoAddTime'],function(_0x5116b0,_0x2b0b71){_0x2b0b71['forEach'](function(_0x1fc298){var _0x2b0b71=w[_0x2c36('0x2b5')][_0x2c36('0x92e')]['chrono'][_0x2c36('0x74c')](_0x1fc298['id']);_0x2b0b71&&(_0x2b0b71[_0x2c36('0x2e8')]+=_0x1fc298[_0x2c36('0x2e8')]);});});var _0xb001c3=Date[_0x2c36('0x6b9')]();_0x243561[_0x2c36('0x80d')](CST[_0x2c36('0x1cf')][_0x2c36('0x198')],function(_0x18efec){if(!(Date[_0x2c36('0x6b9')]()-_0xb001c3<0x64)){_0xb001c3=Date[_0x2c36('0x6b9')]();for(var _0x211f36=0x0;_0x211f36<_0x51f407[_0x2c36('0x92b')][_0x2c36('0x69e')];_0x211f36++){var _0x4d3383=w[_0x2c36('0x2b5')][_0x2c36('0x92e')][_0x2c36('0x127')][_0x2c36('0x74c')](_0x51f407['chronos'][_0x211f36]['id']);_0x4d3383&&(_0x51f407[_0x2c36('0x92b')][_0x211f36]['time']=Tk[_0x2c36('0x929')](_0x4d3383[_0x2c36('0x2e8')]));}}});});}(Rc||(Rc={}));var Rc;!function(_0x409c2a){_0x409c2a['Vue\x5fcompletionReward']=global['onVueReady']('completionReward\x2ehtml',[_0x2c36('0x8c2')],function(_0x391a87){var _0x868ad=_0x391a87[_0x2c36('0x7ef')],_0x5c8a22=_0x391a87[_0x2c36('0x8be')],_0x157337=_0x391a87[_0x2c36('0x806')],_0x602ad=_0x391a87['Command'],_0x221650=_0x391a87[_0x2c36('0x807')],_0x46aee9=_0x391a87[_0x2c36('0x809')],_0x43dc15=_0x391a87[_0x2c36('0x8e5')],_0x2f3dc1=_0x391a87[_0x2c36('0x930')];_0x868ad[_0x2c36('0x8cb')](_0x2c36('0x8d0'),{'\x74\x65\x6d\x70\x6c\x61\x74\x65':_0x2c36('0x931'),'\x6d\x65\x74\x68\x6f\x64\x73':{'\x63\x6c\x69\x63\x6b\x52\x65\x70\x75\x74\x61\x74\x69\x6f\x6e':function(){_0x46aee9['open'](CST[_0x2c36('0x215')][_0x2c36('0x1a9')]);},'\x63\x6c\x69\x63\x6b\x45\x71\x75\x69\x70\x42\x6f\x78':function(){_0x602ad[_0x2c36('0x84c')](CST[_0x2c36('0x2b3')][_0x2c36('0x268')],[CST[_0x2c36('0x7d')]['equipBox'],0x0]),this[_0x2c36('0x932')]=!0x1;},'\x63\x6c\x69\x63\x6b\x47\x61\x6d\x65\x43\x6f\x6e\x74\x65\x6e\x74':function(_0x48ef00){_0x46aee9[_0x2c36('0x872')](CST['DIALOG']['gameContentList'],{'\x69\x64':_0x48ef00});},'\x67\x65\x74\x47\x61\x6d\x65\x43\x6f\x6e\x74\x65\x6e\x74\x4e\x61\x6d\x65':function(_0x2385aa){return _0x43dc15[_0x2c36('0x74c')](_0x2385aa)[_0x2c36('0x19d')];},'\x67\x65\x74\x47\x61\x6d\x65\x43\x6f\x6e\x74\x65\x6e\x74\x43\x61\x74\x65\x67\x6f\x72\x79':function(_0x4922dc){var _0x391a87=_0x43dc15[_0x2c36('0x74c')](_0x4922dc);return CST[_0x2c36('0x933')][_0x391a87[_0x2c36('0x83b')]][_0x2c36('0x78e')]();}},'\x63\x6f\x6d\x70\x75\x74\x65\x64':{'\x65\x71\x75\x69\x70\x42\x6f\x78\x49\x63\x6f\x6e':function(){return CST[_0x2c36('0x63f')];},'\x74\x61\x62\x52\x65\x70\x75\x74\x61\x74\x69\x6f\x6e':function(){return CST['ICON']['tabReputation'];},'\x74\x61\x62\x51\x75\x65\x73\x74':function(){return CST[_0x2c36('0x63e')]['tabQuest'];}}});var _0x548904=function(){function _0x3b050d(){this['el']=_0x2c36('0x934'),this[_0x2c36('0x935')]=CST


    Wiem że to jakieś szyfrowanie tylko da się to odkodować jakoś ze względu na to że chciałem wprowadzić parę zmian w języku gdyż chciał bym tylko zrobić z tego polską wersje ?


  • [PHP]Porównanie tablic

    Mam pytanie do mądrzejszych bo sam nie mogę sobie poradzić .
    Wyciągam z bazy dane do 2 tablic :
    Kod
    array(3) {
      [0]=>
      array(3) {
        ["start"]=>
        string(10) "2018-11-12"
        ["end"]=>
        string(8) "12:00:00"
        ["day"]=>
        string(13) "poniedziałek"
      }
      [1]=>
      array(3) {
        ["start"]=>
        string(10) "2018-11-12"
        ["end"]=>
        string(8) "13:00:00"
        ["day"]=>
        string(13) "poniedziałek"
      }
      [2]=>
      array(3) {
        ["start"]=>
        string(10) "2018-11-12"
        ["end"]=>
        string(8) "14:00:00"
        ["day"]=>
        string(13) "poniedziałek"
      }
    }


    Druga tablica wyciąga coś takiego (przykład dla 3 elementów) :
    Kod
    array(3) {
      [0]=>
      array(0) {
      }
      [1]=>
      array(0) {
      }
      [2]=>
      array(1) {
        [0]=>
        object(stdClass)#34 (9) {
          ["id"]=>
          string(4) "3329"
          ["title"]=>
          string(15) "Marek Testowy"
          ["body"]=>
          string(4) "test"
          ["start"]=>
          string(19) "2018-11-12 14:00:00"
          ["end"]=>
          string(19) "2018-11-12 15:00:00"
          ["userId"]=>
          string(1) "1"
          ["p_id"]=>
          string(2) "42"
          ["add_date"]=>
          string(19) "2018-11-10 12:30:54"
          ["phone"]=>
          string(9) "000000000"
        }
      }


    Pytanie 1.

    W widoku chciałbym wyświetlić tylko ten element tablicy pierwszej , który nie ma odpowiednika w drugiej. Tzn . Jeśli element w drugiej tablicy jest pusty wtedy wyświetl ten element z pierwszej.
    W tym przypadku powinien wyświetlić tylko 2 pierwsze elementy tablicy.

    Pytanie 2.

    Jak porównać np. element drugiej tablicy z elementem pierwszej.

    Za każdą sugestię będę wdzięczny.


  • [PHP] Tablica, odejmowanie od wartości

    Witajcie, próbuję zbudować koszyk zakupowy, stanąłem w miejscu w którym muszę pobrać z tablicy produkty z symbolem P i odjąć od najniższej ceny -30%, ale tylko w momencie kiedy produktów z symbolem jest więcej niż 5.

    1.  
    2. $licz = 0;
    3. foreach((array) $_SESSION['koszyk'] as $PRO)
    4. {
    5. $calosc .= "<tr><td>".$PRO['item']." - ".$PRO['wielkosc']."</td><td>".$PRO['symbol']." </td><td>".$PRO['cena']."</td></tr>";
    6. }
    7. $licz++;
    8. }


    Dzięki!


  • Dynamiczna podmiana nazwy polaczenia $this->{db}->query

    Nie wiem czy prawidlowo nazwalem temat.

    Chcę wykonać kilka operacji na różnych bazach i musze muszę dodać do db numer $this->{db} + numer ->query
    Nie bardzo mi to wychodzi. Oczywiście jak na "sztywno" ustawię nazwy to wszystko działa ale potrzebuje dynamicznego rozwiazania.
    Koś ma jakis pomysl?

    1. $count = 1;
    2. foreach ($datas as $data)
    3. {
    4. $this->db.$count->query("YOUR QUERY");
    5. $this->db.$count->query("YOUR QUERY");
    6. $this->db.$count->query("YOUR QUERY");
    7.  
    8. }


  • Jak synchronizować dane z jednej bazy do innej?

    Witam. W jaki sposób można/powinno się przerzucać (synchronizować) dane z bazy głównej (np. MariaDB) do innej bazy np. (MongoDB/Elastic Search), która ma służyć tylko do wyszukiwania lub widget-ów, więc dane nie muszą być bieżące?
    Cron? Kolejkowanie danych prosto z backendu do Redis-a (lub czymś innym) i wyciąganie np. przez NodeJS i sru do drugiej bazy? Jakieś inne opcje?


  • Pliki PHTML po zmianie wersji na php 7.1 są wodoczne

    Witam, to świeża sprawa i szukam rozwiązania. Jedną ze stron mojego znajomego jest zbudowana w oparciu o klasę widoku nospor'a. Problem pojawił się wczoraj kiedy okazało się że pliki phtml można podejrzeć źródło.
    Czy da się wymusić w pliku htaccess blokowanie podglądu aby otwierały się jak php
    Dodałem coś takiego do pliku htaccess ale nie działa.

    1. <FilesMatch ".phtml">
    2. SetHandler application/x-httpd-php7.1
    3. </FilesMatch>


  • [PHP]Instalacja CKEditor i Responsive File Menager

    Witajcie.
    Mam mały problem z CKEditorem i ResponsiveFileMenagerem. Mam poniższy kod:

    1. <textarea class="ckeditor" name="content_pl" ></textarea>
    2. <textarea class="ckeditor" name="content_en"></textarea>
    3. <textarea class="ckeditor" name="content_es"></textarea>
    4.  
    5. <script type="text/javascript">
    6. $(function () {
    7. $(".ckeditor").each(function () {
    8. var el = $(this)[0];
    9. var instance = CKEDITOR.instances[el.id];
    10. if (instance) { instance.destroy(true); }
    11. CKEDITOR.replace(el, {
    12. filebrowserBrowseUrl: 'http://localhost/responsive_filemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
    13. filebrowserUploadUrl: 'http://localhost/responsive_filemanager/filemanager/dialog.php?type=2&editor=ckeditor&fldr=',
    14. filebrowserImageBrowseUrl: 'http://localhost/responsive_filemanager/filemanager/dialog.php?type=1&editor=ckeditor&fldr='
    15. });
    16. });
    17. });


    CKEditory dodają mi się poprawnie, jednak bez FileMenagera. W momencie gdy mam tylko jeden CKEditor (1 textarea) - wtedy działa powyższy kod poprawnie.

    Orientuje się może ktoś jak to naprawić?


  • [PHP]Obramowanie tekstu w GD

    Witam mam kod w bibliotece GD i chciałbym uzyskać obramowanie tekstu w kolorze czarnym. Czy w tej funkcji jest możliwe?
    Tak wygląda kod
    1. <?
    2. include('db.php');
    3. {
    4. $t=time();
    5. // Create a destination
    6. $dest = "images_new/".date("Y_m_d_H").".jpg";
    7. // Get contents from original spot
    8. $im = imagecreatefromjpeg("images/mapa_new2018a1.jpg");
    9.  
    10. $white = imagecolorallocate($im, 255, 255, 255);
    11. $red = imagecolorallocate($im, 255, 0, 0);
    12.  
    13. // Save to disk in the new spot and name
    14.  
    15. $dzien["Monday"] = "Poniedziałek";
    16. $dzien["Tuesday"] = "Wtorek";
    17. $dzien["Wednesday"] = "Środa";
    18. $dzien["Thursday"] = "Czwartek";
    19. $dzien["Friday"] = "Piątek";
    20. $dzien["Saturday"] = "Sobota";
    21. $dzien["Sunday"] = "Niedziela";
    22.  
    23. $result = $mysqli->query("SELECT * FROM dane WHERE id_miasto =1 ORDER BY id DESC LIMIT 1");
    24. while ( $row = mysqli_fetch_array($result) ) {
    25. $text = 'Temperatura powietrza na wysokości 2m. '.$row['czas'].' '.$row['godzina'].'';
    26. $tempmax = ''.$row['temp'].'şC';
    27. }
    28. $result = $mysqli->query("SELECT * FROM dane WHERE id_miasto =19 ORDER BY id DESC LIMIT 1");
    29. while ( $row = mysqli_fetch_array($result) ) {
    30. $tempmax1 = ''.$row['temp'].'şC';
    31. }
    32. // Replace path by your own font path
    33. $font = 'arial.ttf';
    34. imagettftext($im, 34, 0, 14, 69, $white, $font, $text);
    35. imagettftext($im, 33, 0, 986, 227, $red, $font, $tempmax); //darłowo
    36. imagettftext($im, 33, 0, 193, 891, $red, $font, $tempmax1); //szczecin
    37.  
    38. imagejpeg($im,$dest, 100);
    39. // Destroy image
    40. imagedestroy($im);
    41. }
    42. ?>


    Włączone funkcje GD na serwerze
    1. array(12) { ["GD Version"]=> string(26) "bundled (2.1.0 compatible)" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPEG Support"]=> bool(true) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XPM Support"]=> bool(true) ["XBM Support"]=> bool(true) ["WebP Support"]=> bool(false) ["JIS-mapped Japanese Font Support"]=> bool(false) }


  • [AJAX][JavaScript]JSON odczyt danych

    Witam,

    Posiadam taki oto obiekt JSON

    Kod
    {
    "2018-10-18":{
        "id":["1","2"],
        "id_sensor":["1","1"],
        "lat":["17.8267013",
        "17.8267013"],
        "lng":["51.700327",
        "51.700327"],
        "PM1":["11","11"],
        "PM2_5":["10","10"],
        "PM10":["1","1"],
        "temperature":["45","45"],
        "pressure":["1188","1188"],
        "date":["2018-10-18","2018-10-18"],
        "time":["11:00:00","11:00:00"]
    },
    "2018-11-04":{
        "id":["3","4"],
        "id_sensor":["1","1"],
        "lat":["17.8267013",
        "17.8267013"],
        "lng":["51.700327","51.700327"],
        "PM1":["11","11"],
        "PM2_5":["10","10"],
        "PM10":["1","1"],
        "temperature":["45","45"],
        "pressure":["1188","1188"],
        "date":["2018-11-04","2018-11-04"],
        "time":["11:00:00","11:00:00"]
    }}


    Problem polega na tym że chciałbym odczytywać dane tak jak z tablicy (po indeksach) ponieważ nie znam zwracanych dat.
    Wszystko działa w następujący sposób.
    Poprzez JS wysyłam zapytanie do pliku PHP który odczytuje dane z bazy i sortuje je tak jak widać powyżej, następnie odebrane dane chce wyświetlać krok po kroku według daty w pętli za pomocą JS.
    Odczyt w standardowy sposób np."Data[2018-11-04].lng[i]" nie jestem wstanie zrobić ponieważ nie znam dat jakie zwrócił serwer.

    W jaki sposób mogę ten obiekt zamienić na tablice ?


  • [ Warszawa / możliwość wynajęcia stancji ] Młodszy programista PHP


    Młodszy Programista PHP

    Warszawa, Mazowieckie, Wesoła
    Firma Grupa eSprzedaż Łukasz Sadłowski
    nip 822 199 03 18
    Netgraf, Sellasist, Sellingo. eSprzedaz

    Poszukuje do pracy na stanowisku: Młodszy Programista Backendowy
    Miejsce pracy: Warszawa - Wesoła ul. Wilanowska 39a

    Wymagamy:
    - Podstawowej znajomości poleceń w systemie Linux
    - Znajomość PHP
    - Znajomości wzorca MVC
    - Znajomości relacyjnych baz danych
    - Umiejętności integracji z hurtowniami w oparciu o XML, CSV
    - Znajomości HTML5/CSS3
    - Podstawowej znajomości JavaScript(jQuery)
    - Umiejętności korzystania z systemu kontroli wersji GIT

    Dodatkowym atutem będzie:
    - Znajomość frameworka Kohana

    Oferujemy:
    - Zatrudnienie na podstawie umowy o pracę lub b2b
    - Wynagrodzenie adekwatne do umiejętności
    - Rozwój i podnoszenie umiejętności w grupie programistów z dużym doświadczeniem
    - Możliwość pracy dla osób poza Warszawy, pomagamy w wynajmie stancji
    - Pracę w dynamicznie rozwijającej się firmie
    - Możliwość wprowadzania w życie własnych pomysłów i projektów
    - Przyjazną atmosferę w pracy
    - Pracę w młodym zespole
    - Wynagrodzenie 3000 - 4500 brutto

    Osoby zainteresowane prosimy o przesyłanie aplikacji:
    CV ze zdjęciem oraz próbką kodu na adres email:
    netgraf@netgraf.pl


  • [Zlecenie] REST-API Cakephp 3 CRUD

    Witam zlecenie dotyczy napisania REST-API tylko dla samej klasy produktów (create, read, update, delete) z wykorzystaniem logiki biznesowej do dalszego rozwoju aplikacji w frameworku CAKEPHP wersja 3 oraz panel logowania z z użyciem JWT.


    kontakt: pitasato@gmail.com lub pw


  • [PHP]Uruchamianie pliku .PY z poziomu skryptu PHP

    Witam serdecznie.

    Mam taki skrypt PHP:

    1.  
    2. ini_set('display_errors', 1);
    3. passthru('/usr/bin/python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');
    4. $output = ob_get_clean();
    5. echo $output;
    6.  
    7.  
    8. $message = exec("/usr/bin/python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt");
    9. print_r($message);
    10.  
    11. $command = shell_exec('python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');
    12. echo $command;
    13.  
    14. $output=shell_exec('python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');
    15. echo "<pre>$output</pre>";
    16.  
    17.  
    18. $command = escapeshellcmd('python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');
    19. $output = shell_exec($command);
    20. echo $output;
    21.  
    22. exec('sudo -u www-data python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');
    23.  
    24. system("cd /usr/lib/cgi-bin && sudo python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt");



    Chciałbym żeby PHP:
    1. uruchomił skrypt a.py
    2. zwrócił wynik jaki wyświetli konsola z a.py i wyświetli go w przeglądarce internetowej.


    W tej chwili nic mi się nie wyświetla. Nie mam żadnego komunikatu o błędzie ani ostrzeżenia.

    Wie ktoś może co jest źle w powyższym kodzie?

    Mój serwer umożliwia uruchamianie skryptów z konsolą


  • [PHP]Zapisanie danych ze zmiennej z $_GET do pliku

    Witam.
    Wywołuję skrypt w następujący sposób:

    plik.php?value=fQMAANtYAAJDAP8xAHwAQgBBAOdOADD7NAA1ADMK3jkqMvcCMR5uElMAVP1CUgBPvxMgAFcA/kUASgBIAEX7K1cu90sASVL7dQBsAC6CtUJN705KV700Ljj7Ci0AMsfae5tPQrUCR/cvIFa+Mwc29yZNR95DCkT3BlOGuEIOLlZaAHzdAzLtq2pUey58gt5EQjH3JjQqgziD3EYKFYo34Aoz7t
    tfvTEeLe4PCwZDvS0DuA5QAEUtx6AKT/eLU9uxGyxLINADOXurNevvMBo0eLYzK+e7MyoaAoq/VX5JAEFiF8NXA3x8i3wQCwRhzHtvtBOHrzMTMX4WOAAwGnfYD28yOwQjtxI3ADVgS+8yN2sCLD93MQKx
    MBv2UAAge+85zi0Hp7wtHxkvpotTDlJNHhpDPo7TLuogjjvRBkL7o1lTW5cLIwMye9+frkEC12Y4Fkbro
    jH3wceDg7swADgPbQMsO7QLsCezA04hbDOGF1mPDrcJJJJJKv9QO


    Mój plik wygląda następująco:
    1. $code = ($_GET['code']);
    2.  
    3. $myfile = fopen("main.txt", "w") or die("Unable to open file!");
    4. fwrite($myfile, $code);
    5. fclose($myfile);
    6.  
    7. echo $code;
    8.  



    Wartość zapisana w pliku/wyświetlona na ekranie wygląda tak:
    fQMAANtYAAJDAP8xAHwAQgBBAOdOADD7NAA1ADMK3jkqMvcCMR5uElMAVP1CUgBPvxMgAFcA/kUASgBIAEX7K1cu90sASVL7dQBsAC6CtUJN705KV700Ljj7Ci0AMsfae5tPQrUCR/cvIFa Mwc29yZNR95DCkT3BlOGuEIOLlZaAHzdAzLtq2pUey58gt5EQjH3JjQqgziD3EYKFYo34Aoz7ttfvTEe
    Le4PCwZDvS0DuA5QAEUtx6AKT/eLU9uxGyxLINADOXurNevvMBo0eLYzK e7MyoaAoq/VX5JAEFiF8NXA3x8i3wQCwRhzHtvtBOHrzMTMX4WOAAwGnfYD28yOwQjtxI3ADVgS 8yN2sCLD93MQKxMBv2UAAge 85zi0Hp7wtHxkvpotTDlJNHhpDPo7TLuogjjvRBkL7o1lTW5cLIwMye9 frkEC12Y4FkbrojH3wceDg7swADgPbQMsO7QLsCezA04hbDOGF1mPDrcJJJJJKv9QO

    (zniknęły znaki typu +,% itp i zamiast nich są spacje).

    W jaki sposób to naprawić?


  • Kotlin - Pytanie o budowanie aplikacji Android

    Siemanko.

    Ostanimi czasy zacząłem sobie dłubać w Kotlin małą apkę na Andka. Taka mobilna wersja jednego z serwisów które mam do obsługi danych. Nic wielkiego.

    Mam sobie taki kod:

    Kod
    class MainActivity : AppCompatActivity() {

        var menu: Menu? = null

        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            recycleView_main.layoutManager = LinearLayoutManager(this)

            fetchAndBuildList()

        }

        private fun fetchAndBuildList() {
            val request = Request.Builder().url("http://192.168.2.101/api/v1/user").build()
            val client = OkHttpClient()

            client.newCall(request).enqueue(object : Callback {
                override fun onFailure(call: Call, e: IOException) {
                    TODO("not implemented")
                }

                override fun onResponse(call: Call, response: Response) {
                    val gson = GsonBuilder().create()
                    val userList = gson.fromJson(response.body()?.string(), Array<SimpleUser>::class.java)

                    runOnUiThread {
                        val adapter = MainListAdapter(userList)

                        recycleView_main.adapter = adapter

                        setMenuFiltering(adapter)
                    }
                }

            })
        }

        private fun setMenuFiltering(adapter: MainListAdapter) {
            val searchView = menu?.findItem(R.id.menu_search)?.actionView as SearchView

            searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {

                override fun onQueryTextSubmit(string: String?) = true

                override fun onQueryTextChange(string: String?): Boolean {
                    adapter.filter.filter(string)
                    return true
                }

            })
        }

        override fun onCreateOptionsMenu(menu: Menu?): Boolean {

            menuInflater.inflate(R.menu.main, menu)

            this.menu = menu

            return super.onCreateOptionsMenu(menu)
        }
    }


    To jest aktywnośc która wyświela listę userów z możliwością wyszukiwania.

    Teraz chciałem dodać do tego jeszcze Full Screenn Progress Bar (odpowiednik CSS Preloader)

    Zastanawiam się czy są jakieś koncepty gdzie:

    // mogę pobierać dane z REST przez okhttp3 (aktualnie jest enqueue)
    // Generować widok
    // Wrzucić przeloader zanim zaczytają się dane z REST i przegeneruje się widok.


    Ja wieem że ten kod może wołać o pomstę do Nieba biggrin.gif Jako że poznaję dopiero ten język to chłonę nowinki.
    Ew. może ktoś ma jakiś fajny blog o Kotlinie.


  • [MySQL][PHP] wypisanie postów wg własnej kolejności

    napisałem w wordpressie sporo artykułów które teraz chciałbym wyświetlić na jednej stronie we własnej kolejności np.podanej w pliku tekstowym tak:
    nazwa artykułu
    nazwa jakiegoś artykułu
    nazwa innego artykułu


    a skrypt php żeby linijka po linijce wstawiał "nazwa artykułu x" jako zmienną w zapytaniu mysql

    $sql = "SELECT * FROM wp_posts WHERE post_title='$article'

    jak to zrobić?


  • [MySQL]Dodawanie rekordu jeżeli nie istnieje

    Tak jak w temacie, chcę dodać do bazy rekord, jeżeli ten nie istnieje, a jeżeli istnieje zwrócić false, próbowałem już setki rozwiązań z stackoverflow i za każdym razem wywala błąd
    1. SELECT CASE WHEN EXISTS (
    2. SELECT *
    3. FROM users
    4. WHERE login = :login
    5. OR
    6. mail = :mail
    7. )
    8. THEN
    9. INSERT INTO users (login,mail,name,city,avatar,ip_addr,reg_date,last_log_date,active,permissions,famous,rang,banned,warns) VALUES (:login,:mail,:password,0,0,"$ip","$date",0,0,0,0,0,0,0, ))
    10. ELSE
    11. CAST(0 AS BIT) END

    albo to:
    1. INSERT INTO users (login,mail,password,name,city,avatar,ip_addr,reg_date,last_log_date,active,permissions,famous,rang,banned,warns) VALUES (:login,:mail,:password,0,0,0,"$ip","$date",0,0,0,0,0,0,0 )
    2. SELECT DISTINCT login
    3. FROM users
    4. WHERE
    5. NOT EXISTS (SELECT 1 FROM users
    6. WHERE login = :login)
    7.  
    8.  
    9.  
    10.  
    11.  


  • [PHP]Laravel - strona w 3 językach - problem w kodzie.

    Panowie rozpocząłem naukę w Laravelu, o ile w czystym php nie mam z tym problemu, tak w Laravelu na dzień dobry napotykam na łamigłówkę,
    otóż stworzyłem 3 pliki:
    resources/lang/pl/routes.php
    resources/lang/de/routes.php
    resources/lang/en/routes.php

    w każdym z nich przykładowy string:

    1. <?php
    2. return [
    3. 'string' => 'Anglia'
    4. ];
    5. ?>


    według dokumentacji utworzyłem LaravelLocalization:

    projekt/routes/web.php
    1. <?php
    2. Route::group(['prefix' => LaravelLocalization::setLocale() ], function () {
    3. Route::get('/', function () {
    4. dd("The language is: " . LaravelLocalization::getCurrentLocale());
    5. });
    6.  
    7. Route::get('/', function () {
    8. return view('index');
    9. });
    10.  
    11. Route::get('/contact', 'PagesController@contact');
    12. Route::get('/about', 'PagesController@about');
    13. });
    14. ?>


    i teraz chciałbym umieścić np w /contact "string" z lang/XX/routes.php , gdzie XX to ten język wczytany getem.

    Ktoś pomoże ?

    Dobra rozwiązałem problem smile.gif

    1. {{ __('routes.string') }}


  • xampp error

    Instaluje Xampp i pokazuje mi się bład "Nie można uruchomić programu , ponieważ na komputerze nie znaleziono api-ms-win-crt-runtime-l1-1-0.dll. Spróbuj ponownie zainstalować program aby naprawić ten problem".
    Próbowałem ściągnąć ten plik i nadal błąd :-( . Nie jestem pewien , czy też dokładnie jego wrzuciłem tam gdzie trzeba.


  • [MySQL][PHP]delete table nie usuwa danych

    Cześć, chcę usunąć z bazy kilka plików, dla których
    1. session
    stanowi jednakowa wartosc (wygenrowany ciag znakow, identyczny dla wpisow ktore chce usunac). Problem jest taki, ze wszystko jest ok, session jest przekazane do finalnej strony (sprawdzilem po echo), wyskakuje informacja o usunieciu danych, ale one nadal pozostaja w bazie. Gdzie tkwi błąd?

    1. <?php
    2. require_once('connect.php');
    3. require_once('connect-screen.php');
    4.  
    5. if (isset($_GET['session'])) {
    6. // Pobieranie danych z tablicy GET.
    7. $session=$_GET['session'];
    8.  
    9. }
    10. elseif (isset($_POST['session'])) {
    11. // Pobieranie danych z tablicy POST.
    12. $session = $_POST['session'];
    13.  
    14. }
    15. else {
    16. echo '<p class="er">Nie wybrano zdjęć do usunięcia do usunięcia</p>';
    17. }
    18.  
    19. if (isset($_POST['submit'])) {
    20. if ($_POST['confirm'] == 'Yes') {
    21.  
    22.  
    23. // Łączenie się z bazą danych.
    24. $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
    25.  
    26. // Usuwanie danych związanych z wynikiem z bazy.
    27. $query = "DELETE FROM dodaj_zdjecia_biuro WHERE session = $session";
    28. mysqli_query($dbc, $query);
    29.  
    30.  
    31. // Potwierdzanie usunięcia wyniku.
    32. echo '<p>Usunięto zdjęcia ' . $session .'.';
    33. }
    34. else {
    35. echo '<p class="er">Nie usunięto zdjęć/p>';
    36.  
    37. }
    38. }
    39. else if (isset($session) ) {
    40.  
    41. echo '<p>Na pewno chcesz usunąć wskazane zdjęcie?</p>';
    42. echo '<div class="potwierdzenie_usuniecia_na_srodek">';
    43. echo '<form method="post" action="usun_zdjecia_cala_galeria_biuro_potwierdzenie.php">';
    44. echo '<input type="radio" name="confirm" value="Yes" /> Tak ';
    45. echo '<input type="radio" name="confirm" value="No" checked="checked" /> Nie
    46. <br /> <br />';
    47. echo '<input type="submit" value="Usuń" name="submit" />';
    48. echo '<input type="hidden" name="session" value="' . $session . '" />';
    49. echo '</form>';
    50. echo '</div>';
    51. }
    52. echo '<div class="panel_potwierdzenie_usuniecia_wpisu">';
    53. echo '<p><a href= "">Wróć do poprzedniej strony</a></p>';
    54. echo '</div>';
    55. ?>


  • [PHP] Funkcja select jak zastąpić kod

    Witam mam problem jak mogę ten kod

    1. openside($locale['news_02056']);
    2. echo '<select>';
    3. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
    4. while ( $row = mysqli_fetch_array($result) ) {
    5. echo '<option value="'.$row['miasto'].'">'.$row['miasto'].'</option>';
    6. }
    7. echo '</select>';
    8. closeside();


    zapisać w takiej formie

    1. openside('');
    2. echo form_select('dzien', $locale['news_02056'], $_GET['dzien'],
    3. 'inline' => TRUE,
    4. 'inner_width' => '100%',
    5. 'options' => array(
    6. '%' => '%',
    7. '"'.$row['miasto'].'"'
    8. )
    9. )
    10. );
    11. closeside();


  • localStorage z jquery.post

    Witam, mam pytanie czy do sklepu internetowego dla takich elementów jak:

    koszyk - sprawdzanie zawartości z użyciem hover
    kategorie produktowe - megamenu z użyciem hover


    dobrym rozwiązaniem jest wykorzystanie localstorage aby wysyłać lub nie wysyłać zapytania post ?

    Tzn jeśli user po załadowaniu strony najedzie na element hover to wyśle $.post i zostanie zapisany localstorage, i potem jeśli taki obiekt localstorage istnieje to request już nie zostanie ponownie wysłany.


  • Oddaj swój głos na ten kanał





    Wybierz ocene