不能在PHP中使用php vairable

时间:2017-08-25 16:06:52

标签: php html textbox

因此,出于某种原因,当我尝试将我的php变量放入html中我的文本框的值时会破坏它。以下是我的代码:

function inbox() {
        $error = imap_errors();
        $this->msg_cnt = imap_num_msg($this->conn);
        //echo $this->msg_cnt;
        if($this->msg_cnt === 0){
            exit;
        } else {
            $in = array();
            for($i = 1; $i <= $this->msg_cnt; $i++) {
                $in[$i] = array(
                    'index'     => $i,
                    'header'    => imap_headerinfo($this->conn, $i),
                    'body'      => imap_body($this->conn, $i),
                    'structure' => imap_fetchstructure($this->conn, $i)
                );

                if(property_exists($in[$i]['header'], 'subject')){
                    $header = $in[$i]['header'];
                    $subject = $header->subject;
                    $from = $header->senderaddress;

                    if($from === "blah@blah.com"){
                            $this->searchFormatTwelve($in[$i]['body']);
                            $this->move($this->conn, $in[$i]['index'], 'INBOX.Matched');                
                        }else if($subject === "it's a subject"){                            
                            $this->searchFormatTwo($in[$i]['body']);                                                                                
                            $this->move($this->conn, $in[$i]['index'], 'INBOX.Matched');                                
                         }else { $this->move($this->conn, $in[$i]['index'], 'INBOX.NoMatch');} // end if block for subject

              } // end if property exsist subject


            } // end for loop

            $this->inbox();
        } //end else block for seaches if msg_cnt > 0

    } // end inbox()

然后是我的HTML

<html>
<head>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Email Parser</title>
    <link rel="stylesheet" type="text/css" href="parserStyles.css" />
</head>
<body>
    <form class="form-horizontal">
        <fieldset>

        <!-- Form Name -->
        <legend style="padding-left:49%";>Parser</legend>

        <!-- Text input-->
        <div class="form-group">
            <label class="col-md-4 control-label" for="txtMsgCount">Inbox Message Count</label>  
            <div class="col-md-1">
                <input id="txtMsgCount" name="txtMsgCount" value="<?php echo $this->msg_cnt ?>" class="form-control input-md" type="text" readonly>             
            </div>
        </div>

那么为什么我不能将$ msg_cnt放入文本框?任何帮助,将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

在您的代码中,我无法看到inbox()函数曾被调用过。因此,如果它从未被执行过,你怎么能得到它的工作结果呢?

您使用<?php echo $this->msg_cnt ?>$this是一个上下文变量。你在什么情况下使用它?

您的代码无法正常工作,因为您正在尝试打印不存在的变量(至少我无法在给定的代码中看到它)。

我无法检查它是如何工作的,因为您没有向我们提供可以在本地计算机上执行的部分代码。但我建议你检查以下事项:

  1. 检查您的文档是否有.php分机号;
  2. 确保在尝试打印任何内容时包含所需的php函数;
  3. 检查你的php函数是否返回任何内容或影响任何外部数据(变量,对象,常量,数组......);
  4. 检查您的php功能是否以任何方式执行,或者在您想要打印任何内容时执行;
  5. 检查您是否尝试从正确的变量中打印正确的值。
  6. 最好的决定是在返回{(1}}函数时以某种方式重写inbox()函数(例如$this->msg_cnt)。之后,您可以尝试<?php echo inbox(); ?>