Odpowiedz 
 
Ocena wątku:
  • 3 Głosów - 3 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
MySQL i PHP cz.2: Dodawanie nowych rekordów z plików PHP
Autor Wiadomość
d3d3 Offline
Użytkownik

Ilość postów: 17
Dołączył: 06-11-2009
Reputacja: 0
Post: #1
MySQL i PHP cz.2: Dodawanie nowych rekordów z plików PHP
Oryginalny tutorial: http://d3d3.freeiz.com/mysql-a-php-cz-2-...-rekordow/

Wszelkie prawa zastrzeżone dla d3d3.


To już druga część z pięciu dotycząca serii MySQL a PHP w której tak wspomniałem będę pisał o wzajemnej współpracy tych dwóch języków programowania którą wykorzystuje się do tworzenia stron www. W tej części jak poznalaście po tytule będzie conieco o dodawaniu rekordów do bazy prosto z formularza na stronie w php.<!--more-->

Zakładam że przeczytaliście <a href="../?p=284"><strong>pierwszą część</strong></a><strong> </strong>i macie już u siebie stworzony plik connection.php oraz potraficie w pełni obsługiwać PHPMyAdmin.

Cały nasz prosty „systemik” składać się będzie z pliku <strong><em>formularz.php</em></strong> i <strong><em>dodaj.php.</em></strong> Na starcie stwórzmy plik formularz który powinien składać się z najzwyklejszego formularza w html. Tutaj właściwie dowolność formularza jest nieograniczona, ale żeby nie komplikować sprawy stworzyłem na potrzeby tutoriala taki w miarę prosty form:

Kod:
<?php
        $zolty = $_POST['zolty'];
        $zielony = $_POST['zielony'];
        $czerwony = $_POST['czerwony'];
        $niebieski = $_POST['niebieski'];

        if($zolty and $zielony and czerwony and niebieski) {
    
        $connection = @mysql_connect('localhost', 'uzytkownik', 'haslo')
        or die('Błąd przy połączeniu z bazą mysql');
        $db = @mysql_select_db('tutorial', $connection)
        or die('Błąd! Upewnij się że nazwa bazy danych jest prawidłowa');
    
        $ins = @mysql_query("INSERT INTO tabela SET zolty='$zolty', zielony='$zielony', czerwony='$czerwony', niebieski='$niebieski'");
    
        if($ins) echo "Dodałem rekord";
        else echo "Napotkałem błąd przy dodawaniu nowego rekordu";
    
        mysql_close($connection);
}

?>

Jak widać w 1 linijce formularz dane będą odczytywane i przesyłane metodą POST w pliku dodaj.php. Wszystkie pola formularza są oznaczone typem „tekst”, ponieważ w bazie danych miejsca w tabeli są także określone jako przechowujące krótki tekst, w tym przedmiot kojarzący się nam z powyższym kolorem. Jeśli przeszkadzają Wam „krzaczki”, potraktujcie plik Gżegżółką XP i zapiszcie go jako formularz.php.

Teraz będzie dziać się znacznie więcej gdyż zajmiemy się skryptem php z krwi i kości. Poniższy kod zapisz jako dodaj.php.

Kod:
<?php
$zolty = $_POST['zolty'];
$zielony = $_POST['zielony'];
$czerwony = $_POST['czerwony'];
$niebieski = $_POST['niebieski'];

if($zolty and $zielony and czerwony and niebieski) {
    
    $connection = @mysql_connect('localhost', 'uzytkownik', 'haslo')
    or die('Błąd przy połączeniu z bazą mysql');
    $db = @mysql_select_db('tutorial', $connection)
    or die('Błąd! Upewnij się że nazwa bazy danych jest prawidłowa');
    
    $ins = @mysql_query("INSERT INTO tabela SET zolty='$zolty', zielony='$zielony', czerwony='$czerwony', niebieski='$niebieski'");
    
    if($ins) echo "Dodałem rekord";
    else echo "Napotkałem błąd przy dodawaniu nowego rekordu";
    
    mysql_close($connection);
}

?>

Należy Wam się małe wyjaśnienie a więc:
[ul]
[li]Linijki 2-5 mają za zadanie ustalić co będzie przechowywane z zwykłej zmiennej na zmienną typu POST.</li>
[li]Linijka 6 wywołuje sprawdzenie czy wszystkie pola są uzupełnione poprawnie. Jeśli takt skrypt działa dalej.</li>
[li]Linijka 7 tworzy zmienną connection która odpowiada za połączenie z MySQL, ważne by wpisać tam dane bazy mysql.</li>
[li]Linijka 8 wyswietli nam błąd w przypadku niepoprawnych danych potrzebnych do połączenia.</li>
[li]Jeśli wszystko jest ok w wierszu 9-tym skrypt wybiera bazę danych z którą przeprowadzi wymianę danych. Po nazwie jest wcześniej utworzona (w linii 7) zmienna connection która jest skrótem połączenia mysql aby po raz kolejny nie pisać tych danych a mieć wywołane połączenie mysql.</li>
[li]Linia 10 wyświetli błąd jeśli nazwa bazy jest zła.</li>
[li]Jedenasty wiersz dodaje zmienne typu post do bazy danych.</li>
[li]Jeśli wszystko się powiedzie linia 12 wyświetli komunikat o udanej operacji...</li>
[li]...jeśli jednak wystąpi błąd za jego wyświetlenie będzie pełnić pieczę linia 13.</li>
[/ul]

Demo zisiejszego skryptu możecie zobaczyć tutaj.
19-07-2010 06:28
Znajdź wszystkie posty użytkownika Zacytuj ten post w odpowiedzi
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  MySQL a PHP cz.1: Tworzenie tablic i konfiguracja bazy, typy rekordów d3d3 0 269 16-07-2010 21:34
Ostatni post: d3d3
  Dodawanie i kasowanie użytkowników ExPlOiT 4 413 23-06-2009 21:23
Ostatni post: ExPlOiT

Skocz do: