因此,出于某种原因,当我尝试将我的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放入文本框?任何帮助,将不胜感激。提前谢谢。
答案 0 :(得分:0)
在您的代码中,我无法看到inbox()
函数曾被调用过。因此,如果它从未被执行过,你怎么能得到它的工作结果呢?
您使用<?php echo $this->msg_cnt ?>
。 $this
是一个上下文变量。你在什么情况下使用它?
您的代码无法正常工作,因为您正在尝试打印不存在的变量(至少我无法在给定的代码中看到它)。
我无法检查它是如何工作的,因为您没有向我们提供可以在本地计算机上执行的部分代码。但我建议你检查以下事项:
.php
分机号; 最好的决定是在返回{(1}}函数时以某种方式重写inbox()
函数(例如$this->msg_cnt
)。之后,您可以尝试<?php echo inbox(); ?>
。