簡體   English   中英

使用html按鈕從另一個文件中的類調用php函數

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

我已經用HTML設計了輸入表單,並在最后的“ 保存”按鈕中。 我希望SAVE按鈕調用在類中編寫的php函數。 類寫在另一個文件中。

文件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();

}

和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();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM