Secure INSERTs with MySQLi
No, this code is not secure, as you are using prepared statements wrong. See here for correct usage of mysqli prepared statements (you should not ever have user supplied input in the prepare statement, it is only for SQL syntax; add the user input via bind later on).

For example, your code might look like this:

$sql = $db-&gt;prepare('INSERT INTO p_lica (povjerilac, doc_br, dokument_vlasnik) VALUES(?, ?, ?)'); // note that there is no user input in prepare
$sql-&gt;bind_param('iss', $key, $dok_broj, $ses_val); // s for string, i for integer. use d for double, b for blob

foreach($povjerilac as $key) { // set values for $key, which is bound to the first ? parameter     
    $sql-&gt;execute(); // insert new row with current key
}
$sql-&gt;close();


(see also here or here)

Misc


formatting: your code is very badly formatted. If this is just a copy-paste error it's ok, but otherwise, you should definitely fix it.
variable names: the standard is to use english names, if you can.
your header call seems wrong. From the documentation: Remember that header() must be called before any actual output is sent. You should also use a complete URL.