PHP - uložení dat z formuláře do MySQL

Před 4 lety napsal Hanz
27
Upozornění: Tento článek je starý, nerevidovaný a nelze ho komentovat.

PHP - uložení dat z formuláře do MySQL


mysql-nova-tabulka

Ve druhé lekci vytvoříme v souboru index.html jednoduchý formulář, který pošle vyplněná data do souboru insert.php a ten je uloží do databáze MySQL.


V databázi MySQL nejprve vytvoříme novou tabulku s názvem adresar, která obsahuje sloupce id, jmeno, prijmeni, email a datum. Přes phpMyAdmin stačí v pravé části zvolit Nová tabulka a nastavit parametry dle obrázku v úvodu článku, případně můžete použít rovnou SQL dotaz:


CREATE TABLE adresar (
id SMALLINT(5) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
jmeno varchar(30) NOT NULL,
prijmeni varchar(30) NOT NULL,
email varchar(30) NOT NULL,
datum TIMESTAMP
)


Část zdrojového kódu souboru index.html s formulářem, který vyplněná data předá ke zpracování do souboru insert.php:
[html]
<form action="insert.php" method="post">
Jmeno: <input type="text" name="jmeno">
Prijmeni: <input type="text" name="prijmeni">
Email: <input type="text" name="email">
<input type="submit" value="Odeslat">
</form>
[/html]

Zdrojový kód souboru insert.php

<?php
// pripojeni k db
include 'connect.php';

//specifikovani kodovani, zde na utf8_general_ci
mysqli_query("SET NAMES 'utf8_general_ci'");

//definovani promennych z formulare a ochrana proti SQL injection
$jmeno = mysqli_real_escape_string($con, $_POST['jmeno']);
$prijmeni = mysqli_real_escape_string($con, $_POST['prijmeni']);
$email = mysqli_real_escape_string($con, $_POST['email']);

//sestaveni SQL dotazu
$sql="INSERT INTO adresar (jmeno, prijmeni, email)
VALUES ('$jmeno', '$prijmeni', '$email')";

//podminka proti vlozeni nevyplneneho jmena a prijmeni do db
if (empty($_POST['jmeno'] && $_POST['prijmeni']))
echo 'Je potreba vyplnit jmeno a prijmeni!';

//pokud je vse v poradku, provest ulozeni dat do db
elseif (mysqli_query($con,$sql)) {
echo "1 zaznam pridan";
echo '<br/><a href="index.php">Zpet do formulare</a>';
die('. ' . mysqli_error($con));
}

//uzavreni spojeni do db
mysqli_close($con);
?>


PS: V dnešní době se však zajímejte o PDO a tento článek berte jako lehký úvod do této problematiky
Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace