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.