Skip navigation

Könyvek felvitele

konyvfelvitel.php

A konyvfelvitel.php fájl ellenőrzi, hogy minden mező ki lett-e töltve, majd a kapott értékeket továbbadja (a db_fuggvenyek.php fájlban megírt) konyvet_beszur() függvénynek. Ezután visszatérünk a könyvfelviteli oldalra a header() függvény segítségével. 

<?php

require_once("db_fuggvenyek.php"); // fel fugjuk használni ezeket a függvényeket

// lekérjük a POST-tal átlküldött paramétereket,
// ellenőrizzük azt is, hogy kaptak-e értéket

$v_szerzo = $_POST['szerzo'];
$v_konyvszam = $_POST['konyvszam'];
$v_cim = $_POST['cim'];
$v_kiado = $_POST['kiado'];
$v_ev = $_POST['ev'];

if ( isset($v_szerzo) && isset($v_konyvszam) &&
     isset($v_cim) && isset($v_kiado) && isset($v_ev) ) {

    // beszúrjuk az új rekordot az adatbázisba
    konyvet_beszur($v_konyvszam, $v_szerzo, $v_cim, $v_kiado, $v_ev);
    
    // visszatérünk az konyvek.php-re
    header("Location: konyvek.php");

} else {
    error_log("Nincs beállítva valamely érték");
    
}

?>

konyvet_beszur()

A konyvet_beszur() függvény paraméterül kapja a köny adatait. Feladata, hogy megnyissa a KONYVTAR adatbázist és beszúrjon egy új rekordot a KONYVEK táblába a paraméterül kapott értékekkel.

A beszúráshoz a  mysqli_prepare() függvényt használjuk, amely előkészíti számunkra az INSERT SQL utasítást, a beszúrandó értékeket pedig mysqli_stmt_bind_param() függvényekben adjuk meg, végül lefuttatjuk az utasítást a mysqli_stmt_execute() függvénnyel.

function konyvet_beszur($konyvszam, $szerzo, $cim, $kiado, $ev) {
       
    if ( !($conn = konyvtar_csatlakozas()) ) { // ha nem sikerult csatlakozni, akkor kilepunk
        return false;
    }

    // elokeszitjuk az utasitast
    $stmt = mysqli_prepare( $conn,"INSERT INTO KONYVEK(konyvszam, szerzo, cim, kiado, ev) VALUES (?, ?, ?, ?, ?)");
    
    // bekotjuk a parametereket (igy biztonsagosabb az adatkezeles)
    mysqli_stmt_bind_param($stmt, "ssssd", $konyvszam, $szerzo, $cim, $kiado, $ev );
    
    // lefuttatjuk az SQL utasitast
    $sikeres = mysqli_stmt_execute($stmt);
        // ez logikai erteket ad vissza, ami megmondja, hogy sikerult-e
        // vegrehajtani az utasitast
        
    mysqli_close($conn);
    return $sikeres;
    
}