Loading:


    Dodawanie rekordów do bazy danych

    Poniższy skrypt demonstruje jak wstawić dane z formularza do bazy danych

    Na początku tworzymy tabele w bazie SQL

    Sprawdzamy czy do pliku przesłane zostały zmienne, jeżeli tak to dodajemy dane jeśli nie to wyświetlamy formularz

    Następnie parsujemy dane przesłane z formularza zapobiegnie to możliwości włamania poprzez SQL injection

    Łączymy się z bazą danych

    Wykonujemy zapytanie insert czyli dodające

    Następnie sprawdzamy czy dodanie powiodło się czy też nie



    Napisz Artyku³

    Listing

    // Kod  SQL do stworzenia tabeli
    create table pracownicy
    ( id int unsigned not null auto_increment primary key,
      imie char(50) not null,
      nazwisko char(50) not null,
    );
    <?php
    // Sprawdzamy czy do pliku index.php przesłane zostały dane odpowiada za to funkcja empty która sprawdza czy w zmiennej $_POST['temat'] sa jakieś dane
    // Poniższa linia oznacza: jeżeli zmienna $_POST['temat'] i $_POST['tresc'] są puste wykonaj działanie
    if(empty($_POST['temat'])&&empty($_POST['tresc'])){
    // jeżeli do liku nie przesłane zostały żadne dane wyświetlamy formularz
    ?>
    <form action="test.php" method="post">
    Imie: <input type="text" value="" name="imie" /><br />
    Nazwisko <textarea name="nazwisko"></textarea><br />
    <input type="submit" value="Wyslij" />
    </form>
    <?php
    // Jeżeli dane z formularza zostaną wysłane wykona się kod zawarty w klamrach warunku else
    }else{
    function lacz_bd()
    {  
      $db = new mysqli('localhost', 'uzytkownik', 'haslo', 'nazwa_bazy');  
        if (! $db)
          return false;
       $db->autocommit(TRUE);
       return $db;
    }
    $imie = $_POST['imie'];
    $imie = addslashes($imie); // zawsze pamiętajmy aby dane były parsowane. Funkcja addslashes dodaje znak przed cudzysłowami dzięki temu nie musimy się obawiać ze zmienna zaszkodzi naszej bazie.
    $nazwisko = $_POST['nazwisko'];
    $nazwisko = addslashes($nazwisko);
    //połączenie z bazą
    $db = lacz_bd();
    //zapytanie dodające zmienne $imie i $nazwisko do bazy
    $zapytanie = "insert into pracownicy (id, imie, nazwisko) values ('', '$imie', '$nazwisko')";
    // wykonanie dodawania do bazy
    $wynik = $db->query($zapytanie);
            //sprawdzenie czy powiodło się dodawanie
            if($wynik)      echo 'Dodano nowy rekord';
            else            echo 'Błąd podczas dodawania';
    }
    ?>




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
    a gdzie filtracja danych html'a?? co jesli ktos zrobi xss?? artykuł niedopracowany!
    autor: akacja | 5187 | 2010-02-15 20:40:12


    masz racje skrypcik miał być prosty ale jest narażony na Cross-site scripting ja używam tego po przecinku podajesz dozwolone tagi
    autor: igor | 5192 | 2010-02-15 21:12:15


      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors