第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

PHP 未定義錯(cuò)誤變量的問題

PHP 未定義錯(cuò)誤變量的問題

PHP
HUH函數(shù) 2023-08-06 14:34:27
我遇到了“未定義的變量:第 2 行 transaction.php 中的錯(cuò)誤”的問題如果我嘗試使用 $errors 變量創(chuàng)建模板站點(diǎn),它應(yīng)該在所需的 transaction.php 中給出 $error 數(shù)組,但它沒有,應(yīng)該如何將其賦予此 transaction.php 才能使其工作?索引.php    function checkTransaction(){            if(!empty($_POST['code'])){                return true;            }            return [                'code' => false            ];        }        function renderTransactionResult($errors){            $getTemplate = new Template('transaction', [                'errors' => $errors            ]);            echo $getTemplate;        }        $transactionid = htmlspecialchars($_POST['search']);        $transactionrows = $main->CheckNumRowsTransaction($transactionid);        if($transactionrows === 1){            $errors = checkTransaction($_POST);            renderTransactionResult($errors);        }else{        $errors = [            'transaction' => false        ];        renderTransactionResult($errors);        }獲取交易.php<?php    Class Template{        public function __construct($template, $vars){            $this->template = $template;            $this->vars = $vars;                    }        public function __toString(){            foreach ($this->vars as $name => $value){                $name = $value;            }            unset($name, $value);            ob_start();            require('templates/' . $this->template . '.php');            return ob_get_clean();        }    }交易.php<?php    if(is_array($errors)){        echo 'something';    }else{        echo 'something';    }?>
查看完整描述

1 回答

?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊

當(dāng)你實(shí)例化變量時(shí),它們有一定的范圍,在這個(gè)范圍內(nèi)變量是已知的。我不明白你是如何加載文件的,但我假設(shè)你希望在訪問 index.php 時(shí)發(fā)生 transaction.php 的邏輯。要實(shí)現(xiàn)此目的,可以將 transaction.php 放入一個(gè)以 $errors 作為構(gòu)造函數(shù)變量的類,實(shí)例化它并調(diào)用該方法:


[交易.php]


class Transaction

{

? ? private $errors;

? ? public function _construct($errors)

? ? {

? ? ? ? ?$this->errors = $errors;

? ? }


? ? public function handleErrors()

? ? {

? ? ? ? if(is_array($errors))

? ? ? ? {

? ? ? ? ? ? echo 'something';

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? echo 'something';

? ? ? ? }

? ? }

}

[getTransaction.php]


Class Template

{

? ? public function __construct($template, $vars)

? ? {

? ? ? ? $this->template = $template;

? ? ? ? $this->vars = $vars;

? ? ? ? $transaction = new Transaction($vars); //instantiates your class

? ? ? ? $transaction->handleErrors(); //calls the method

? ? }

? ? public function __toString()

? ? {

? ? ? ? foreach ($this->vars as $name => $value)

? ? ? ? {

? ? ? ? ? ? $name = $value;

? ? ? ? }

? ? ? ? unset($name, $value);

? ? ? ? ob_start();

? ? ? ? require('templates/' . $this->template . '.php');

? ? ? ? return ob_get_clean();

? ? }

}

或者將 transaction.php 變成您在 index.php 中定義并調(diào)用的函數(shù): [index.php]


function checkTransaction()

{

? ? if(!empty($_POST['code']))

? ? {

? ? ? ? return true;

? ? }

? ? return [

? ? ? ? 'code' => false

? ? ];

}


function handleErrors($errors)

{

? ? if(is_array($errors))

? ? {

? ? ? ? echo 'something';

? ? }

? ? else

? ? {

? ? ? ? echo 'something';

? ? }

}


function renderTransactionResult($errors)

{

? ? $getTemplate = new Template('transaction', [

? ? ? ? 'errors' => $errors

? ? ]);


? ? echo $getTemplate;

}


$transactionid = htmlspecialchars($_POST['search']);

$transactionrows = $main->CheckNumRowsTransaction($transactionid);



if($transactionrows === 1)

{

? ? $errors = checkTransaction($_POST);


? ? renderTransactionResult($errors);

}

else

{

? ? $errors = [

? ? ? ? 'transaction' => false

? ? ];


? ? renderTransactionResult($errors);

}

請(qǐng)注意,我沒有審查您的功能、效率或安全性代碼,而只是制定了解決您的范圍問題的答案。

查看完整回答
反對(duì) 回復(fù) 2023-08-06
  • 1 回答
  • 0 關(guān)注
  • 132 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)