Ten blog nie jest już rozwijany. Wraz ze wszystkimi artykułami zostały przeniesiony pod adres wmroczkowski.pl

Czy chcesz przejść pod nowy adres?

czwartek, 28 maja 2009

[HTML] Jak ustawić przkierowanie na naszej stronie dla użytkowników Internet Explorer

Jeżeli masz problem na swojej stronie związany np. ze źle interpretowanym kodem CSS w przeglądarce Internet Explorer i za cholerę nie możesz tego poprawić tak aby to działało w IE to może lepszym sposobem będzie przekierowanie użytkowników IE na stronę z komunikatem o tym, że Twoja strona nie obsługuję tej przeglądarki i prośbą o uruchomienie Twojej strony w innej przeglądarce. To może zapobiec uciekaniu z krzykiem wszystkich tych, którzy używają IE.
Aby to zrobić wystarczy wpisać w nagłówku strony następujący kod:
  • <!--[if IE]>

  • <meta http-equiv="refresh" content="0;url=ifie.php">


  • <![endif]-->
  • środa, 27 maja 2009

    [JS] Jak utworzyć przycisk, który będzie ukrywał/wyświetlał wpisane hasło w polu input

    Często, jeżeli gdzie wpisujemy długie i skomplikowane hasła zdarza się, że zapomni co już wpisaliśmy i aby być pewnym, że podane przez nas hasło będzie poprawnym usuwamy cały wpis i przystępujemy do ponownego wpisywania hasła. Możemy pomóc naszym użytkownikom poprzez dodanie przycisku, który za pomocą prostej funkcji wyświetli podgląd wpisanego do tej pory hasła. Standardowo pole w którym wpisujemy hasła wygląda tak:


    Aby uruchomić przycisk "Zobacz" należy napisać nasz formularz oraz skrypt JS w następującej formie. Analizę skryptu zostawiam waszej wyobraźni.

    1. <script type="text/javascript">

    2. function change_pass(id){

    3.     var old = document.getElementById(id);


    4.     var new_value = old.value;

    5.     var new_pass = document.createElement('input');


    6.     var button = document.getElementById('button');

    7.    


    8.     new_pass.type = old.type.toLowerCase() == 'password' ? 'text' : 'password';


    9.     new_pass.name = old.name;

    10.     new_pass.id = old.id;


    11.     new_pass.value = new_value;

    12.     old.parentNode.replaceChild(new_pass, old);


    13.    

    14.     button.value = old.type.toLowerCase() == 'password' ? 'Ukryj' : 'Zobacz';


    15. }

    16. </script>

    17. <form><input type="password" id="passwd">

    18. <input id="button" type="button" value="Zobacz" onclick="change_pass('passwd')">


    19. </form>

    środa, 20 maja 2009

    [JS] Jak utworzyć prosty kalkulator w JavaScript, który będzie wymnażał np. ilość z ceną

    Czasem konieczne jest dodanie w naszych aplikacjach funkcji wymnażania np. ilość z ceną. Jest to przydatne przy budowie różnego rodzaju sklepów internetowych lub aplikacji zarządzania firmą. Możemy w bardzo łatwy sposób napisać funkcję w JavaScripcie, który wymnoży nam dwie liczby, następnie zaokrągli je do dwóch miejsc po przecinku oraz wstawi w wybrane przez miejsce. Myślę, że sam kod nie wymaga zbędnego tłumaczenia i sam mówi przez siebie:
    1. <script language="JavaScript">

    2. function pomnoz(mnozna, mnoznik, input)

    3. {

    4. var mnozna = document.getElementById(mnozna).value;

    5. var mnoznik =  document.getElementById(mnoznik).value;

    6. var wynik = mnozna * mnoznik;

    7. wynik = wynik * 100;

    8. wynik = Math.round(wynik)/100;

    9. document.getElementById(input).value=wynik;

    10. }

    11. </script>

    12.  

    13. Ilość: <input type="text" size="10" id="ilosc"
      onchange="pomnoz('ilosc', 'cena', 'wartosc')" name="ilosc"><br>

    14. Cena: <input type="text" size="10" id="cena"
      onchange="pomnoz('ilosc', 'cena', 'wartosc')" name="cena"><br>

    15. Wartość: <input type="text" size="10" id="wartosc"
      readonly="readonly" name="wartosc">

    niedziela, 10 maja 2009

    [JS] Jak dodać do linku pytanie o potwierdzenie wejścia na stronę?

    Podczas pisania aplikacji należy pamiętać, że użytkownicy często nie do końca świadomie klikają w pewne linki. Np. często kiedy użytkownik widzi ikonkę, która usuwa dane, np. klienta z naszej bazy, po prostu klika w nią będąc przekonanym, że pojawi się jeszcze przynajmniej jeden komunikat o potwierdzenie tej operacji. My jako programista musi dopilnować żeby tak rzeczywiście było.

    Najłatwiejszym i najszybszym rozwiązaniem jest po prostu dodanie kawałka kodu JavaScript. Może to wyglądać mniej więcej tak:

    <a href='index.php?go=client_del&id=3' onclick="return confirm('Czy na pewno usunąć klienta?')">Usuń</a>


    W ten sposób przed przejściem do strony client_del pojawi się komunikat z pytaniem czy na pewno chcesz to zrobić.

    sobota, 9 maja 2009

    [PHP] Funkcja PHP zamieniająca adres maski na prefiks, np. 255.255.255.0 na 24

    Dzisiaj kolejna dawka operacja na adresach sieciowych. Poniżej funkcja zamieniająca adres maski sieciowej na prefiks. Myślę, że komentarz w kodzie wystarczy za wszelkie wyjaśnienia.
    1. <?php

    2. function mask_to_prefix($mask)

    3. {

    4. $mask_array = split('[.]', $mask); //dzielimy oktety i umieszczamy w tablicy

    5.  

    6. for ($i=0; $i<=3; $i++){

    7.     $wynik .= str_pad(decbin($mask_array[$i]),STR_PAD_LEFT); // zamieniamy oktety na liczby binarne

    8.   }

    9.   $mask_bin = str_replace("0", "", $wynik); //usuwamy niepotrzebne zera

    10.   $mask_prefix = strlen($mask_bin); //liczymy ilość jedynek

    11.   return $mask_prefix;

    12. }

    13.  

    14. echo mask_to_prefix("255.255.255.128");

    15. ?>

    piątek, 8 maja 2009

    [PHP] Fukcja PHP zamieniająca adresy IP na ich binarny odpowiednik

    Witam po krótkiej przerwie! Pomimo, że nic nie pisałem to nie próżnowałem. Pracy było wiele i na pewno część z niej tutaj przedstawię. Zacznę od krótkiego skryptu napisanego w PHP, który zamienia adresy IP na format binarny.

    1. <?php

    2. function ip_to_binary($ip) {

    3. $ip_array = split('[.]', $ip);

    4.  

    5. for ($i=0; $i<=3; $i++){

    6.     $result .= str_pad(decbin($ip_array[$i]),8,"0",STR_PAD_LEFT).".";

    7.   }

    8.   $result = substr($result, 0, -1);

    9.   return $result;

    10. }

    11.  

    12. echo ip_to_binary("255.255.255.0");

    13.  

    14. ?>



    We wierszu 3 wrzucamy poszczególne oktety do tablicy. Następnie we wierszu 6 zamieniamy liczby całkowite na binarne oddzielając je kropką. Każdy oktet po 8 bitów. We wierszu 8 usuwamy ostatnią, niepotrzebną kropkę w nowym adresie.