简体   繁体   English

使用html按钮从另一个文件中的类调用php函数

[英]Call php function from class in another file with html button

i have input form designed in HTML and in the end SAVE button. 我已经用HTML设计了输入表单,并在最后的“ 保存”按钮中。 I would like that SAVE button calls php function written in class. 我希望SAVE按钮调用在类中编写的php函数。 Class is written in another file. 类写在另一个文件中。

PHP code on the beginning of file nabava_vnos.php where is HTML form: 文件nabava_vnos.php开头的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();

} }

and html form whith SAVE button that is in the same file as code above: 和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>

and here is the php class with function vnos_narocila I want to call (file nabava.php): 这是我要调用的函数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;
    }
}

?>

Please help... 请帮忙...

You mean something like this: 您的意思是这样的:

    require 'path_to_your_class';

    if isset($_POST['submit']) {
        $nabava = new nabava();
        $vnosNarocila = $nabava->vnos_narocila();
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM