インデックスページからカスタム作成された関数(他の質問と同様にmysql_ *は呼び出さない)を呼び出そうとしています。インデックスページは、3つのカスタム関数を呼び出しています。最初の二つは正常に動作しているが、第三の機能は投げとエラーさ:致命的なエラー:未知のエラー:未定義の関数を呼び出す
Fatal error: Uncaught Error: Call to undefined function display_index1() in F:\Apache24\htdocs\Site1\index.php:45 Stack trace: #0 {main} thrown in F:\Apache24\htdocs\Site1\index.php on line 45
この関数を呼び出している私のインデックスページです:
<!DOCTYPE html>
<?php
include("includes/connect.php");
include("includes/functions.php");
?>
<html>
<head>
<title>Ecommerce Website</title>
<link rel="stylesheet" type="text/css" href="styles/style.css">
<script src="js/style.js"></script>
<body>
<div class="container-fluid">
<header>
<div class="form">
<form method="get" target="" name="searchbar_form">
<input type="text" name="searchbar" id="searchbar">
<input type="submit" id="search_button" value="Search">
</form>
</div>
</header>
<div class="menubar">
<div class="dropdown">
<button onclick="dropdownToggle()" class="dropdown-button">Shop By Category</button>
<ul class="dropdown-content" id="dropdownContent">
Categories
<?php getcats(); ?>
Brands
<?php getbrands(); ?>
</ul>
</div>
<div class="menubar-div">
<ul class="menu-items">
<?php getcats(); ?>
</ul>
</div>
<div class="cart">
<a href="#">Cart</a>
</div>
</div>
<div class="content">
<div class="index_product_row">
<?php display_index1(); ?>
</div>
</div>
</div>
<div class="footer">
This is footer
</div>
</body>
</html>
これは持っているのfunctions.phpファイルであります
<?php
function getcats(){
global $con;
$get_cats="select * from categories";
$run_cats=mysqli_query($con, $get_cats);
while($row_cats=mysqli_fetch_array($run_cats)){
$cat_id = $row_cats['cat_id'];
$cat_title = $row_cats['cat_title'];
echo "<li><a href='#'>$cat_title</a></li>";
}
}
function getbrands(){
global $con;
$get_brands="select * from brands";
$run_brands=mysqli_query($con, $get_brands);
while($row_brands=mysqli_fetch_array($run_brands)){
$brand_id = $row_brands['brand_id'];
$brand_title = $row_brands['brand_title'];
echo "<li><a href='#'>$brand_title</a></li>";
}
}
function display_index1(){
global $con;
$display_query = "select(product_image, product_title) from products where product_cat='1'";
$display_result = mysqli_query($con, $display_query);
while($result_rows = mysqli_fetch_array($display_result)){
$product_image = $result_rows['product_image'];
$product_title = $result_rows['product_title'];
echo "<img src='/admin/product_images/".$product_image."' width='200' height='200' alt='".$product_title."'/>";
echo "<span id='index_product_title'>".$product_title."</span>";
}
}
?>
最初の2つの関数はデータを正常に返しています。 3番目を呼び出すと、エラーが返されます。
正しいファイルが含まれていますか?関数 'display_index1(){...}'の後に ';' '関数を定義します。そのメッセージは表示されますか? – deceze
または、コードをクリーンにする場合は、ブレークポイントを持つデバッガを使用します。 – Xenos
'functions.php'は重要なファイルであるようですので、ファイルが存在しない場合、アプリケーションは通知の代わりに' FATAL'を送り、ファイルなしで続行するよう 'require()'を使います。 ( 'include'はそれほど厳密ではありません)http://stackoverflow.com/questions/3633900/difference-between-include-and-require-in-php –