php - 使用html按钮从另一个文件中的类调用php函数
问题描述
我有用 HTML 设计的输入表单,最后是“保存”按钮。我希望SAVE按钮调用类中编写的 php 函数。类写在另一个文件中。
文件开头的 PHP 代码nabava_vnos.php
是 HTML 格式:
<?php
/**
skripta za začetek seje in preverjanje prijavnih podatkov
**/
session_start();
require_once(dirname(__FILE__)."/skripte/su.inc.php");
include($path."/nabava.php");
include($path."/menu.php");
$SimpleUsers = new SimpleUsers();
$nabava = new nabava();
// This is a simple way of validating if a user is logged in or not.
// If the user is logged in, the value is (bool)true - otherwise (bool)false.
if( !$SimpleUsers->logged_in )
{
header("Location: index.php");
exit;
}
// If the user is logged in, we can safely proceed.
$userId = $_GET["userId"];
$user = $SimpleUsers->getSingleUser($userId);
if( !$user )
die("The user could not be found...");
$sifrant_oe = $nabava -> sifrant_oe();
}
和 html 表单,其中包含与上述代码位于同一文件中的SAVE按钮:
<table>
<tr><td>Vrsta naročila:</td>
<td><input type=radio name=hvrsta_narocila value=1>Splošna nabava</input>
<input type=radio name=hvrsta_narocila value=0>Pisarniški material</input>
</td>
</tr>
<tr><td>Lastna dobava: </td><td><input type=radio name=hlastna_dobava value=1>DA</input>
<input type=radio name=hlastna_dobava value=0>NE</input></td></tr>
<tr><td>Osnovno sredstvo: </td><td><input type=checkbox name=hos></td></tr>
<tr><td>SM ali DN: </td><td><input size=15 type=text name=hsm_dn></td></tr>
<tr><td>Organizacijska enota: </td><td>
<?php
$data = "<select name=hoe><option>Izberi organizacijsko enoto</option>";
foreach($sifrant_oe as $key=>$value) {
$data .= "<option value=".$value[sifra_oe].">".$value[sifra_oe]." - ".$value[naziv_oe]."</option>";
}
$data .= "</select>";
echo $data;
?>
</td></tr>
<tr><td valign=top>Artikli:</td>
<td>
<table>
<tr ><td>Naziv artikla</td><td>Količina</td><td>EM</td></tr>
<tr><td><input size=50 type=text name=hartikel1></input></td>
<td><input size=5 type=text name=hkolicina_artikel1></input></td>
<td><input size=5 type=text name=hem1></input></td></tr>
<tr><td><input size=50 type=text name=hartikel2></input></td>
<td><input size=5 type=text name=hkolicina_artikel2></input></td>
<td><input size=5 type=text name=hem2></input></td></tr>
<tr><td><input size=50 type=text name=hartikel3></input></td>
<td><input size=5 type=text name=hkolicina_artikel3></input></td>
<td><input size=5 type=text name=hem3></input></td></tr>
<tr><td><input size=50 type=text name=hartikel4></input></td>
<td><input size=5 type=text name=hkolicina_artikel4></input></td>
<td><input size=5 type=text name=hem4></input></td></tr>
<tr><td><input size=50 type=text name=hartikel5></input></td>
<td><input size=5 type=text name=hkolicina_artikel5></input></td>
<td><input size=5 type=text name=hem5></input></td></tr>
<tr><td><input size=50 type=text name=hartikel6></input></td>
<td><input size=5 type=text name=hkolicina_artikel6></input></td>
<td><input size=5 type=text name=hem6></input></td></tr>
<tr><td><input size=50 type=text name=hartikel7></input></td>
<td><input size=5 type=text name=hkolicina_artikel7></input></td>
<td><input size=5 type=text name=hem7></input></td></tr>
<tr><td><input size=50 type=text name=hartikel8></input></td>
<td><input size=5 type=text name=hkolicina_artikel8></input></td>
<td><input size=5 type=text name=hem8></input></td></tr>
<tr><td><input size=50 type=text name=hartikel9></input></td>
<td><input size=5 type=text name=hkolicina_artikel9></input></td>
<td><input size=5 type=text name=hem9></input></td></tr>
<tr><td><input size=50 type=text name=hartikel10></input></td>
<td><input size=5 type=text name=hkolicina_artikel10></input></td>
<td><input size=5 type=text name=hem10></input></td></tr>
</table>
</td>
</tr>
<tr><td>Prevzemnik: </td><td><input size=50 type=text name=hprevzemnik></td></tr>
<tr><td>Opomba: </td><td><input size=50 type=text name=hopomba></td></tr>
<tr><td>Željen datum dobave: </td><td><input size=50 type=date name=hzeljen_datum></td></tr>
<tr><td></td><td><input type=submit name=vnos_narocila value=SHRANI></td></tr>
</table>
这是我想调用的带有函数 vnos_narocila 的 php 类(文件 nabava.php):
<?php
class nabava
{
private $mysqli, $stmt;
private $sessionName = "nabava";
public $logged_in = false;
public $userdata;
public function vnos_narocila($user, $hvrsta_narocila, $hlastna_nabava, $hos, $hsm_dn, $hoe, $hartikel1, $hkolicina_artikel1, $hem1, $hartikel2, $hkolicina_artikel2, $hem2, $hartikel3, $hkolicina_artikel3, $hem3, $hartikel4, $hkolicina_artikel4, $hem4, $hartikel5, $hkolicina_artikel5, $hem5, $hartikel6, $hkolicina_artikel6, $hem6, $hartikel7, $hkolicina_artikel7, $hem7, $hartikel8, $hkolicina_artikel8, $hem8, $hartikel9, $hkolicina_artikel9, $hem9, $hartikel10, $hkolicina_artikel10, $hem10, $hprevzemnik, $hopomba, $hzeljen_datum)
{
$zadnji_zapis = "SELECT * FROM nabava ORDER BY id_nabava DESC LIMIT 1"; //pridobitev zaporedne številke v letu
$leto = date('Y');
if ($zadnji_zapis[leto] == $leto )
$zap_st = $zadnji_zapis[zap_st]+1;
else $zap_st=1;
$narocilo = "N-".$zap_st."-".$hoe."/".$leto; //kreiranje številke naročila
$sql = "INSERT INTO nabava VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), ?, ?, ?)";
if( !$this->stmt = $this->mysqli->prepare($sql) )
throw new Exception("MySQL Prepare statement failed: ".$this->mysqli->error);
$this->stmt->bind_param("iiisssisiiii", $hvrsta_narocila, $hlastna_dobava, $hos, $hsm_dn, $hprevzemnik, $hopomba, $hzeljen_datum, $narocilo, $user, $zap_st, $hoe, $leto );
if( $this->stmt->execute() )
return $this->stmt->insert_id;
return false;
}
}
?>
请帮忙...
解决方案
你的意思是这样的:
require 'path_to_your_class';
if isset($_POST['submit']) {
$nabava = new nabava();
$vnosNarocila = $nabava->vnos_narocila();
}
推荐阅读
- windows-server-2012 - SCHTASKS 不会在预定时间自动执行
- css - 达到所需长度后文字消失
- c# - 使用基本身份验证调试本地 WCF 服务始终返回 401 - 未经授权
- python - python更改行的列
- python - Django(1.4 ...)'Pincode'解密不起作用
- python - Tensorflow:gen_nn_ops.max_pool_grad_v2() 是如何工作的?
- c# - 防止在实体框架中保存子对象
- c# - windows server 2012下IIS中获取.exe程序的输出
- java - 将两个数组相加,求出 10 的可能组合数
- javascript - 下载属性不起作用(不是跨域)