Формалар (деректерді енгізу формалары)
Сайтқа тіркелгенде атыңды, паролыңды жазатын өріс — форма. Форма ЖОҚ болса, деректер қорына ешкім өз бетінше ДЕРЕК ҚОСА алмас еді — тек әкімші ғана SQL-код жазып отырар еді! Бүгін форма арқылы деректер қорына жаңа жазба қосуды үйренеміз.
Форма — деректер қорындағы ақпаратты енгізуді, өңдеуді және көрсетуді жеңілдететін құрал; батырма, мәтіндік өріс, тізім сияқты функционалды элементтер жиынтығы.
HTML формасының барлық коды <form>...</form> ішінде орналасады. <input> — форманың ЕҢ МАҢЫЗДЫ элементі, type атрибутына қарай әртүрлі түрде көрінеді:
| Тип | Қызметі |
|---|---|
text | Бір жолды мәтін енгізу өрісі |
radio | Қосқыш (бірнеше опциядан біреуін таңдау) |
submit | Форманы жіберу батырмасы |
<select> — ашылмалы тізім, <option> — оның элементтері:
<select name="country">
<option value="Qazaqstan">Qazaqstan</option>
<option value="Resei">Resei</option>
</select> Берілді: name_instr кестесіне жаңа аспап атауын қосатын форма керек.
<?php
$name_ins = $_POST["name_ins"];
if ($name_ins) {
$conn = mysqli_connect("localhost", "root", "");
mysqli_select_db($conn, "kaz_mus_instruments");
$sSQL = "INSERT INTO name_instr VALUES (NULL, '$name_ins')";
mysqli_query($conn, $sSQL);
} else {
echo "Bos mander engizuge bolmaidy";
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Aspaptyn aty: <input type="text" name="name_ins">
<input type="submit" value="Save">
</form> Түсіндірме: форма жіберілгенде $_POST["name_ins"] арқылы енгізілген мән алынады, тексеруден өтіп, INSERT INTO командасымен кестеге ЖАЗЫЛАДЫ.
mysqli_* функцияларында БІРІНШІ аргумент әрдайым $conn байланысы болуы керек — mysqli_select_db($conn, "dbname"), ЕМЕС керісінше ретпен.Форманың екі негізгі параметрі бар:
| Параметр | Қызметі |
|---|---|
method | Деректерді жіберу әдісі: post немесе get |
action | Деректер жіберілетін скрипт файлының жолы |
Егер action көрсетілмесе, деректер сол баптың ӨЗІНЕ ($_SERVER['PHP_SELF'] арқылы) жіберіледі.
if ($name_ins) {
// mandi derekqorga zhazu
} else {
echo "Bos mandi engizuge bolmaidy";
} Бұл — деректер қорына бос немесе жарамсыз мән түсіп кетуден сақтайтын ЕҢ ҚАРАПАЙЫМ, бірақ МІНДЕТТІ тексеру.
- Форма — деректер қорына ақпарат енгізуді жеңілдететін интерфейс.
- <input type="text">, radio, submit — форманың негізгі элементтері.
- $_POST["атау"] арқылы форма деректерін алып, INSERT INTO командасымен кестеге жазады.
- Дерекке жазбас бұрын оның бос емес екенін тексеру — қауіпсіздіктің қарапайым қадамы.