以下错误:
Fatal error: Call to undefined function add() in E:\xampp\htdocs\paperblog\Admin\AddNewPost.php on line 18
第18行:
$msg=add($title,$subtitle,$details,$_FILES['_postImage']);
整个代码(HTML
,PHP
)如下所示。
我有4个档案:
AddNewPost.php
文件是主文件中包含HTML
代码。
PHP
代码:<?php include_once("..\DB.php"); include_once("..\Classes\post.php"); $title=""; $subtitle=""; $details=""; $msg=""; if(isset($_POST['_PostSubmit'])) { $title=$_POST['_PostTitle']; $subtitle=$_POST['_PostSubTtile']; $details=$_POST['_PostDetails']; if( !empty($title)||!empty($subtitle)||!empty($details) ) { $msg=add($title,$subtitle,$details,$_FILES['_postImage']); } else $msg=" The post is empty "; } include_once("Header.php"); ?>
HTML
:<form action="AddNewPost.php" method="post" id="cmntfrm" enctype= "multipart/form-data"> <P align="center" style="color:#F00"><?=$msg?></P> <p> </p> <table width="600" border="0" align="center"> <img src="../images/addNewPost.png"/> <br /> <br /> <tr> <td width="131">Post Title <h8 style="color:#F00">*</h8>:</td> <td width="443"><input name="_PostTitle" type="text" /></td> </tr> <tr> <td>Post Sub Title <h8 style="color:#F00">*</h8>:</td> <td><input name="_PostSubTtile" type="text" /></td> </tr> <tr> <td>Post Details :</td> <td><textarea name="_PostDetails" cols="32" rows="7"> </textarea></td> </tr> <tr> <td>Post Image :</td> <td><input name="_postImage" type="file"/></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td></td> <td><input name="_PostSubmit" type="submit" value="Save" id="submit" /></td> </tr> </table> <center> <img src="../Post_Imges/a.jpg" height="420" width="460" /> </center>
具有post表单功能的post.php
文件位于classes文件夹中。它有PHP
代码:
<?php include_once("../DB.php"); class post{ var $Post_ID; var $title,$subtitle,$postdetail,$Post_Imgs; var $pmonth ,$pyear ,$pday; function add($title,$subtitle,$postdetail,$file){ $query=" insert into post(Title,SubTitle,PostDetails,PDay,PMonth,PYear) values('$title,'$subtitle','$postdetail'".date("d").",".date("m").",".date("Y").")"; $this->Post_ID=$this->GetLastPostId(); $msg=test("Add",$query); $msg.="<br/>".$this->uploadImage($file); return $msg; } function GetLastPostId(){ $query="select Max(Post_ID) from Post"; $result=mysql_query($query); $row=mysql_fetch_row($result); return $row[0]; } function uploadImage($file){ uploadFile("Post_Imges\$Post_ID.jpg",$file); } } ?>
3. DB.php
文件,它具有DB的某些功能。它有:
<?php
include_once("functions.php");
mysql_connect("localhost","root","");
mysql_select_db("paperbloge");
function test($test ,$query){
mysql_query($query);
if(!empty(mysql_errno()))
return "Post ".$test." Successfully" ;
else
return "Error".mysql_errno().":".mysql_error();
}
?>
最终,functions.php
文件具有uploadfile功能。
function uploadFile($folderPathFileName,$file){
if (!empty($file['tmp_name'])){
move_uploaded_file($file['tmp_name'],$_SERVER['DOCUMENT_ROOT']."\paperblog\ ".$folderFileName);
$msg.="<br/> Image uploaded Successfully";
}
else
$msg= "Image File too large or No Image File";
return $msg;
}
?>
这就是我所有的代码。
有谁知道导致此问题的错误是什么?
谢谢
雅的工作,但又有一些错误。 谢谢你的帮助。
答案 0 :(得分:1)
add
是课程post
将您的行更改为;
$objPost = new post();
$msg = $objPost->add($title,$subtitle,$details,$_FILES['_postImage']);
答案 1 :(得分:1)
add()
不是一个函数。它是一个名为“post”的类的方法。这意味着您必须实例化该类,然后调用该方法:
$post = new Post();
$msg=$post->add($title,$subtitle,$details,$_FILES['_postImage']);