• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Dodawanie spana do bazy danych

VPS Starter Arubacloud
+1 głos
221 wizyt
pytanie zadane 31 stycznia 2022 w PHP przez trixter310 Obywatel (1,440 p.)
zamknięte 31 stycznia 2022 przez trixter310

Witam mam pytanie odnośnie dodawania wyniku z funkcji w js do bazy dancych.

Funkcja oblicza zapotrzebowanie kaloryczne, i makroelementy, które trzeba spożyć w danym dniu.

I chciałbym teraz jakoś te wyniki dodać do bazy danych tylko niestety nie wiem jak.

wyświetla mi się błąd po obliczeniu Notice: Undefined index: bk in C:\xampp\htdocs\testjs\kalkulator.php on line 304

Notice: Undefined index: b-2g in C:\xampp\htdocs\testjs\kalkulator.php on line 305

Notice: Undefined index: b-1g in C:\xampp\htdocs\testjs\kalkulator.php on line 306

Notice: Undefined index: b-3g in C:\xampp\htdocs\testjs\kalkulator.php on line 307

 <div id="Final" class="container2" style="display: none;">

        <div id="less-text-1">
            <h5 style="padding: 1em 0; font-size: 2em;">Utrata wagi</h5>
            <p>Twój wskaźnik BMR to:</p>
            <p style="font-weight: 600; font-size: x-large;"><span id="bk-2">&nbsp</span><span> kalorii dziennie</span></p>

            <p style="padding-top: 1em;">Twoje zapotrzebowanie kaloryczne po uwzględnieniu aktywności to:</p>
            <p style="font-weight: 600; font-size: x-large;"><span id="bk">&nbsp</span><span> kalorii dziennie</span></p>
            <p style="padding-top: 2em;">Jeśli chcesz zredukować wagę powinieneś spożywać ok.:</p>
            <p style="font-weight: 600; font-size: x-large;">
            
            <?php 

                $kcal = $_GET['bk'];
                $wegiel = $_GET['b-2g'];
                $bialko = $_GET['b-1g'];
                $tluszcz = $_GET['b-3g'];
 
            if(!isset($kcal,$wegiel,$bialko,$tluszcz)){

           
            $sql = "INSERT INTO uzytkownicy VALUES (NULL, '$kcal', '$wegiel', '$bialko', '$tluszcz')";
            }
            else{
                die;
            }
        
        ?>
            <span id="b">

                &nbsp

            </span><span> kalorii dziennie</span></p>

            <p style="font-weight: 600; font-size: x-large; color: red;">-<span id="bs">&nbsp</span><span> kalorii dziennie</span></p>

   

            <h5 style="padding: 3em 0 1em 0; font-size: 1.2em;">Rozkład makroelementów dla diety na redukcje</h5>

            <div>
                <ul class="macro-list">
                    <li>
                    <p>
                        <strong>50% węglowodanów: </strong>
                        <span id="b-2k" class="SS">&nbsp</span><span> kcal = </span>
                        <span id="b-2g" class="SS">&nbsp</span><span>g</span>
                    </p>
                    </li>

                    <li>                
                    <p>
                        <strong>25% białka: </strong> 
                        <span id="b-1k" class="SS">&nbsp</span><span> kcal = </span>
                        <span id="b-1g" class="SS">&nbsp</span><span>g</span>
                    </p>
                    </li>

                    <li>
                    <p>
                        <strong>25% tłuszczy: </strong>
                        <span id="b-3k" class="SS">&nbsp</span><span> kcal = </span>
                        <span id="b-3g" class="SS">&nbsp</span><span>g</span>
                    </p>
                    </li>
                </ul>
            </div>
            <div class="button">
            <button>Zapisz zapotrzebowanie</button>
            </div>
        </div>
        
        <table id="less-text-2" style="margin-top: 15px;">
     
        </table>

  

         <div id="more-text-1">
            <h5 style="padding: 1em 0; font-size: 2em;">Zwiększenie wagi</h5>
            <p>Twój wskaźnik BMR to:</p>
            <p style="font-weight: 600; font-size: x-large;"><span id="ck-2">&nbsp</span><span> kalorii dziennie</span></p>

            <p style="padding-top: 1em;">Twoje zapotrzebowanie kaloryczne po uwzględnieniu aktywności to:</p>
            <p style="font-weight: 600; font-size: x-large;">
            
            <span id="ck">
                
            &nbsp
        
        </span><span> kalorii dziennie</span></p>
          

            <p style="padding-top: 2em;">Jeśli chcesz zwiększyć wagę powinieneś spożywać ok.:</p>
            <p style="font-weight: 600; font-size: x-large;"><span id="c">&nbsp</span><span> kalorii dziennie</span></p>
            <p style="font-weight: 600; font-size: x-large; color: red;">+<span id="cs">&nbsp</span><span> kalorii dziennie</span></p>

    


            <h5 style="padding: 3em 0 1em 0; font-size: 1.2em;">Rozkład makroelementów dla diety na masę</h5>

            <div>
                <ul class="macro-list">
                    <li>
                    <p>
                        <strong>50% węglowodanów: </strong>
                        <span id="c-2k" class="SS">&nbsp</span><span> kcal = </span>
                        <span id="c-2g" class="SS">&nbsp</span><span>g</span>
                    </p>
                    </li>

                    <li>                
                    <p>
                        <strong>25% białka: </strong> 
                        <span id="c-1k" class="SS">&nbsp</span><span> kcal = </span>
                        <span id="c-1g" class="SS">&nbsp</span><span>g</span>
                    </p>
                    </li>

                    <li>
                    <p>
                        <strong>25% tłuszczy: </strong>
                        <span id="c-3k" class="SS">&nbsp</span><span> kcal = </span>
                        <span id="c-3g" class="SS">&nbsp</span><span>g</span>
                    </p>
                    </li>
                </ul>
            </div>

            <div class="button">
            <button>Zapisz zapotrzebowanie</button>
            </div>

        </div>
     

        <table id="more-text-2">
      
        </table>

        <div id="constant-text-1">
            <h5 style="padding: 1em 0; font-size: 2em;">Utrzymanie wagi</h5>
            <p>Twój wskaźnik BMR to:</p>
            <p style="font-weight: 600; font-size: x-large;"><span id="ak-2">&nbsp</span><span> kalorii dziennie</span></p>

            <p style="padding-top: 1em;">Twoje zapotrzebowanie kaloryczne po uwzględnieniu aktywności to:</p>
            <p style="font-weight: 600; font-size: x-large;"><span id="ak">&nbsp</span><span> kalorii dziennie</span></p>
          

            <p style="padding-top: 2em;">Jeśli chcesz utrzymać wagę powinieneś spożywać ok.:</p>
            <p style="font-weight: 600; font-size: x-large;">
            
            <span id="a">&nbsp


            </span><span> kalorii dziennie</span></p>


            <h5 style="padding: 3em 0 1em 0; font-size: 1.2em;">Rozkład makroelementów dla diety na utrzymanie wagi</h5>

            <div>
                <ul class="macro-list">
                    <li>
                    <p>
                        <strong>50% węglowodanów: </strong>
                        <span id="a-2k" class="SS">&nbsp</span><span> kcal = </span>
                        <span id="a-2g" class="SS">&nbsp</span><span>g</span>
                    </p>
                    </li>

                    <li>                
                    <p>
                        <strong>25% białka: </strong> 
                        <span id="a-1k" class="SS">&nbsp</span><span> kcal = </span>
                        <span id="a-1g" class="SS">&nbsp</span><span>g</span>
                    </p>
                    </li>

                    <li>
                    <p>
                        <strong>25% tłuszczy: </strong>
                        <span id="a-3k" class="SS">&nbsp</span><span> kcal = </span>
                        <span id="a-3g" class="SS">&nbsp</span><span>g</span>
                    </p>
                    </li>
                </ul>
            </div>

            
            <div class="button">
            <button>Zapisz zapotrzebowanie</button>
            </div>

        </div>
   
<table id="constant-text-2">

            
      </table>
  
    </div>
    </section>

    </body>
</html>

 

komentarz zamknięcia: zakończone
komentarz 1 lutego 2022 przez VBService Ekspert (251,210 p.)
edycja 1 lutego 2022 przez VBService

Żeby dane pobrać np. przez $_GET musisz je "przesłać" ze strony do pliku z kodem php. Najczęściej robi się to za pomocą formularza <form>, ponieważ Ty chcesz

Dodawanie spana do bazy danych

pobrać dane z elementów html (w tym przypadku <span>), możesz spróbować przez "zasymulowanie" formularza za pomocą obiektu FormData.

 

przykład

w tym div-ie

<div id="Final" class="container2" style="display: none;">

...

</div>

zamień

<button>Zapisz zapotrzebowanie</button>

na

<div id="Final" class="container2" style="display: none;">

...

    <button id="less">Zapisz zapotrzebowanie</button>

...

    <button id="more">Zapisz zapotrzebowanie</button>

...

    <button id="constant">Zapisz zapotrzebowanie</button>
</div>

i dodaj kod js-a "na dole" kodu html.

const final = document.querySelector('#Final');
final.addEventListener('click', saveCalculation);

function saveCalculation(e) {
  if (e.target.nodeName == 'BUTTON') {
    let id_prefix;

    switch(e.target.id) {
      case 'less':     id_prefix = 'b'; break;
      case 'more':     id_prefix = 'c'; break;
      case 'constant': id_prefix = 'a'; break;
    }

    const kcal    = document.querySelector(`#${id_prefix}k`).textContent,
          wegiel  = document.querySelector(`#${id_prefix}-2g`).textContent,
          bialko  = document.querySelector(`#${id_prefix}-1g`).textContent,
          tluszcz = document.querySelector(`#${id_prefix}-3g`).textContent;

    const formData = new FormData();
    formData.append('kcal', kcal);
    formData.append('wegiel', wegiel);
    formData.append('bialko', bialko);
    formData.append('tluszcz', tluszcz);

    e.target.disabled = true;
    fetch('kalkulator_zapisz.php', {
      method: 'post',
      body: formData
    })
      .then((response) => {
      return response.text(); 
    })
      .then((text) => { 
      showResponseText(e.target, text);
    })
      .catch((error) => { 
      console.log(error);
      e.target.disabled = false;
    });

    function showResponseText(element, text) {
      const parent = element.closest('div.button');
      const p = document.createElement('P');
      p.innerHTML = text;
      parent.insertBefore(p, parent.childNodes[0]);

      setTimeout(() => {
        parent.removeChild(p);
        e.target.disabled = false;
      }, 5000);
    }
  }
}

 

fragment kou kalkulator.php po zmianach


<!--   TuTaJ reszta kodu z kalkulator.php z przed <div id="Final">    -->

<div id="Final" class="container2" style="display: none;">

        <div id="less-text-1">
          <h5 style="padding: 1em 0; font-size: 2em;">Utrata wagi</h5>
          <p>Twój wskaźnik BMR to:</p>
          <p style="font-weight: 600; font-size: x-large;"><span id="bk-2">&nbsp</span><span> kalorii dziennie</span></p>

          <p style="padding-top: 1em;">Twoje zapotrzebowanie kaloryczne po uwzględnieniu aktywności to:</p>
          <p style="font-weight: 600; font-size: x-large;"><span id="bk">&nbsp</span><span> kalorii dziennie</span></p>


          <p style="padding-top: 2em;">Jeśli chcesz zredukować wagę powinieneś spożywać ok.:</p>
          <p style="font-weight: 600; font-size: x-large;"><span id="b">&nbsp</span><span> kalorii dziennie</span></p>
          <p style="font-weight: 600; font-size: x-large; color: red;">-<span id="bs">&nbsp</span><span> kalorii dziennie</span></p>



          <h5 style="padding: 3em 0 1em 0; font-size: 1.2em;">Rozkład makroelementów dla diety na redukcje</h5>

          <div>
            <ul class="macro-list">
              <li>
                <p>
                  <strong>50% węglowodanów: </strong>
                  <span id="b-2k" class="SS">&nbsp</span><span> kcal = </span>
                  <span id="b-2g" class="SS">&nbsp</span><span>g</span>
                </p>
              </li>

              <li>                
                <p>
                  <strong>25% białka: </strong> 
                  <span id="b-1k" class="SS">&nbsp</span><span> kcal = </span>
                  <span id="b-1g" class="SS">&nbsp</span><span>g</span>
                </p>
              </li>

              <li>
                <p>
                  <strong>25% tłuszczy: </strong>
                  <span id="b-3k" class="SS">&nbsp</span><span> kcal = </span>
                  <span id="b-3g" class="SS">&nbsp</span><span>g</span>
                </p>
              </li>
            </ul>
          </div>
          <div class="button">
            <button id="less">Zapisz zapotrzebowanie</button>
          </div>
        </div>

        <table id="less-text-2" style="margin-top: 15px;">

        </table>



        <div id="more-text-1">
          <h5 style="padding: 1em 0; font-size: 2em;">Zwiększenie wagi</h5>
          <p>Twój wskaźnik BMR to:</p>
          <p style="font-weight: 600; font-size: x-large;"><span id="ck-2">&nbsp</span><span> kalorii dziennie</span></p>

          <p style="padding-top: 1em;">Twoje zapotrzebowanie kaloryczne po uwzględnieniu aktywności to:</p>
          <p style="font-weight: 600; font-size: x-large;"><span id="ck">&nbsp</span><span> kalorii dziennie</span></p>


          <p style="padding-top: 2em;">Jeśli chcesz zwiększyć wagę powinieneś spożywać ok.:</p>
          <p style="font-weight: 600; font-size: x-large;"><span id="c">&nbsp</span><span> kalorii dziennie</span></p>
          <p style="font-weight: 600; font-size: x-large; color: red;">+<span id="cs">&nbsp</span><span> kalorii dziennie</span></p>




          <h5 style="padding: 3em 0 1em 0; font-size: 1.2em;">Rozkład makroelementów dla diety na masę</h5>

          <div>
            <ul class="macro-list">
              <li>
                <p>
                  <strong>50% węglowodanów: </strong>
                  <span id="c-2k" class="SS">&nbsp</span><span> kcal = </span>
                  <span id="c-2g" class="SS">&nbsp</span><span>g</span>
                </p>
              </li>

              <li>                
                <p>
                  <strong>25% białka: </strong> 
                  <span id="c-1k" class="SS">&nbsp</span><span> kcal = </span>
                  <span id="c-1g" class="SS">&nbsp</span><span>g</span>
                </p>
              </li>

              <li>
                <p>
                  <strong>25% tłuszczy: </strong>
                  <span id="c-3k" class="SS">&nbsp</span><span> kcal = </span>
                  <span id="c-3g" class="SS">&nbsp</span><span>g</span>
                </p>
              </li>
            </ul>
          </div>

          <div class="button">
            <button id="more">Zapisz zapotrzebowanie</button>
          </div>

        </div>


        <table id="more-text-2">

        </table>

        <div id="constant-text-1">
          <h5 style="padding: 1em 0; font-size: 2em;">Utrzymanie wagi</h5>
          <p>Twój wskaźnik BMR to:</p>
          <p style="font-weight: 600; font-size: x-large;"><span id="ak-2">&nbsp</span><span> kalorii dziennie</span></p>

          <p style="padding-top: 1em;">Twoje zapotrzebowanie kaloryczne po uwzględnieniu aktywności to:</p>
          <p style="font-weight: 600; font-size: x-large;"><span id="ak">&nbsp</span><span> kalorii dziennie</span></p>


          <p style="padding-top: 2em;">Jeśli chcesz utrzymać wagę powinieneś spożywać ok.:</p>
          <p style="font-weight: 600; font-size: x-large;"><span id="a">&nbsp</span><span> kalorii dziennie</span></p>


          <h5 style="padding: 3em 0 1em 0; font-size: 1.2em;">Rozkład makroelementów dla diety na utrzymanie wagi</h5>

          <div>
            <ul class="macro-list">
              <li>
                <p>
                  <strong>50% węglowodanów: </strong>
                  <span id="a-2k" class="SS">&nbsp</span><span> kcal = </span>
                  <span id="a-2g" class="SS">&nbsp</span><span>g</span>
                </p>
              </li>

              <li>                
                <p>
                  <strong>25% białka: </strong> 
                  <span id="a-1k" class="SS">&nbsp</span><span> kcal = </span>
                  <span id="a-1g" class="SS">&nbsp</span><span>g</span>
                </p>
              </li>

              <li>
                <p>
                  <strong>25% tłuszczy: </strong>
                  <span id="a-3k" class="SS">&nbsp</span><span> kcal = </span>
                  <span id="a-3g" class="SS">&nbsp</span><span>g</span>
                </p>
              </li>
            </ul>
          </div>


          <div class="button">
            <button id="constant">Zapisz zapotrzebowanie</button>
          </div>

        </div>

        <table id="constant-text-2">


        </table>

      </div>
    </section>
    <style>
      .save-done {
        color: green;
      }
      .save-error {
        color: red;
      }
    </style>
    <script>
      const final = document.querySelector('#Final');
      final.addEventListener('click', saveCalculation);

      function saveCalculation(e) {
        if (e.target.nodeName == 'BUTTON') {
          let id_prefix;

          switch(e.target.id) {
            case 'less':     id_prefix = 'b'; break;
            case 'more':     id_prefix = 'c'; break;
            case 'constant': id_prefix = 'a'; break;
          }

          const kcal = document.querySelector(`#${id_prefix}k`).textContent,
                wegiel = document.querySelector(`#${id_prefix}-2g`).textContent,
                bialko = document.querySelector(`#${id_prefix}-1g`).textContent,
                tluszcz = document.querySelector(`#${id_prefix}-3g`).textContent;

          const formData = new FormData();
          formData.append('kcal', kcal);
          formData.append('wegiel', wegiel);
          formData.append('bialko', bialko);
          formData.append('tluszcz', tluszcz);

          e.target.disabled = true;
          fetch('kalkulator_zapisz.php', {
              method: 'post',
              body: formData
          })
          .then((response) => {
              return response.text(); 
          })
          .then((text) => { 
              showResponseText(e.target, text);
          })
          .catch((error) => { 
              console.log(error);
              e.target.disabled = false;
          });

          function showResponseText(element, text) {
              const parent = element.closest('div.button');
              const p = document.createElement('P');
              p.innerHTML = text;
              parent.insertBefore(p, parent.childNodes[0]);

              setTimeout(() => {
                  parent.removeChild(p);
                  e.target.disabled = false;
              }, 5000);
          }
        }
      }
    </script>
  </body>
</html>

 

przykładowy kod dla kalkulator_zapisz.php  (nazwa dowolna) poniżej 

 

komentarz 1 lutego 2022 przez VBService Ekspert (251,210 p.)

kalkulator_zapisz.php 

<?php
    session_start();
      
    if (!isset($_SESSION['zalogowany']))
    {
        header('Location: index.php');
        exit();
    }
  
    if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_SESSION['zalogowany_id'])) 
    {
        $kcal    = (isset($_POST['kcal']))    ? $_POST['kcal']    : null;
        $wegiel  = (isset($_POST['wegiel']))  ? $_POST['wegiel']  : null;
        $bialko  = (isset($_POST['bialko']))  ? $_POST['bialko']  : null;
        $tluszcz = (isset($_POST['tluszcz'])) ? $_POST['tluszcz'] : null;

        if (!is_null($kcal) && !is_null($wegiel) && !is_null($bialko) && !is_null($tluszcz))
        {
            save_log($_POST);

            require_once "connection.php";
            $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);

            if ($polaczenie->connect_errno)
            {
                // problem z połączeniem do bazy danych
                save_log($polaczenie->connect_error);
                echo '<span class="save-error">Zapisanie do bazy danych niepowiodło się!</span>';
            }
            else
            {
                // przykładowy sql
                // polecam dodać zalogowanego użytkownika id 
                // ustawione w trakcie logowania do np.: $_SESSION['zalogowany_id']
                $sql = "INSERT INTO uzytkownicy VALUES "
                     . "(NULL, '{$_SESSION['zalogowany_id']}', '$kcal', '$wegiel', '$bialko', '$tluszcz')";
                if ($polaczenie->query($sql))
                {                    
                    echo '<span class="save-done">Dane zostały zapisane</span>';
                }
                else
                {
                    // problem z zapytaniem sql
                    save_log($polaczenie->error);
                    echo '<span class="save-error">Zapisanie do bazy danych niepowiodło się!</span>';
                }   
            }

            $polaczenie->close();
        } else {
            // problem z pobraniem danych z $_POST
            echo '<span class="save-error">Zapisanie do bazy danych niepowiodło się!</span>';
        }
    }

    function save_log($data) {
        $dump = date("Y-m-d H:i:s").PHP_EOL
              . 'User ID: '.$_SESSION['zalogowany_id'].PHP_EOL
              . var_export($data, true).PHP_EOL;
        file_put_contents('kalkulator_post.log', $dump, FILE_APPEND | LOCK_EX);
    }
?>

 

1
komentarz 1 lutego 2022 przez trixter310 Obywatel (1,440 p.)
Dziękuję bardzo
komentarz 1 lutego 2022 przez VBService Ekspert (251,210 p.)

o prostu porzucę ten projekt i będę marudził na system polskiej edukacji,

nie poddawaj się za szybko, początki zawsze są trudne. Powodzenia. smiley

komentarz 3 lutego 2022 przez trixter310 Obywatel (1,440 p.)
Gdzie się tego nauczyłeś? Bo ja chcę chłonąć wiedzę tylko nie wiem skąd najlepiej???
1
komentarz 3 lutego 2022 przez VBService Ekspert (251,210 p.)
edycja 3 lutego 2022 przez VBService

Książki głównie wydawnictwa Helion, choć nie tylko, po necie trzeba poszukać dobrze, bo można wiele ciekawych tutorial-i, czy blog-ów darmowych znaleść (nauka nie koniecznie musi kosztować wielkie pieniądze, ale ważne ile czasu na nią przeznaczysz - imho). W końcu po prostu analiza kodu ciekawych projektów z GitHub-a, czy codepen-a, analiza wypowiedzi na https://stackoverflow.com itd., pisanie własnych projektów nawet tych "malutkich", dla siebie do "szuflady", dla znajomych, w końcu komercyjnie. Znajomość j. angielskiego bardzo pomaga [ 1 ]  [ 2 ].

 

1 odpowiedź

0 głosów
odpowiedź 31 stycznia 2022 przez rafal.budzis Szeryf (85,260 p.)
wybrane 31 stycznia 2022 przez trixter310
 
Najlepsza

Najpierw musisz sprawdzić issset($_GET['bk']) a dopiero potem przypisywać do zmiennej ;) 

Możesz też ignorować błędy znakiem @ 

 

$kcal = @$_GET['bk'];

Poczytaj o rozdzielaniu warstwy HTMLa(widoku) od PHP (logiki). Warto aby były to dwa osobne pliki ;) Może być to np wzorzec MVC ;) 

komentarz 31 stycznia 2022 przez trixter310 Obywatel (1,440 p.)
dzięki za próbę pomocy i tak to nie działa chyba po prostu porzucę ten projekt i będę marudził na system polskiej edukacji, że nie uczy ciekawych, rzeczy a informatyka w liceum jest na poziomie robienia prezentacji w power point
komentarz 31 stycznia 2022 przez rafal.budzis Szeryf (85,260 p.)
Nikt nie powiedział że będzie łatwo. Gdyby poziom edukacji był większy była by większa konkurencja i i tak było by trudno o prace tak samo jak teraz ;P Pamiętaj jeśli powiesz sobie że dasz rade lub że nie dasz rady w obu przypadkach masz rację ;)

jeśli chcesz przypisać coś do zmiennej GET['bk'] powinieneś mieć w adresie strony :

http://strona.pl/index.php?bk=coś

Podobne pytania

0 głosów
1 odpowiedź 220 wizyt
pytanie zadane 30 stycznia 2022 w PHP przez trixter310 Obywatel (1,440 p.)
+1 głos
3 odpowiedzi 2,800 wizyt
pytanie zadane 2 kwietnia 2021 w PHP przez maciek3621 Nowicjusz (180 p.)
0 głosów
2 odpowiedzi 348 wizyt
pytanie zadane 21 marca 2022 w PHP przez pazo1313 Nowicjusz (140 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...