juju17
juju17

Reputation: 269

Cannot include PHP file to my HTML

I'm trying to access my function.php file so I'll be able to use the functions inside it. But I can't connect it. I tried running the PHP alone and there's no problem encountered. But when I include it on my HTML, nothings happening.

HTML CODE:

 <!DOCTYPE html>
<?php 
include("functions/function.php");
?>
<html>
    <head>
    <title>Online Shop</title>
    <link rel='stylesheet' href='../CSS/style.css' media="all"/>
    </head>
<body>  
            <!--Main Wrapper starts here!-->
    <div class="main_wrapper"> 

            <!--Header Wrapper starts here!-->
        <div class="header_wrapper" >
        <img id="logo" src="../Pictures/logo.png"/>
        <img id="banner" src="../Pictures/green-banner.jpg"/>
        </div>
            <!--Header ends here!-->

            <!--Menu Bar starts here!-->
        <div class="menubar">
        <ul id="menu">
            <li><a href="#"> Home </a></li> 
            <li><a href="#"> All Products </a></li>
            <li><a href="#"> My Account </a></li>
            <li><a href="#"> Sign Up </a></li>
            <li><a href="#"> Shopping Cart </a></li>
            <li><a href="#"> Contact Us  </a></li>
        </ul>
        <div id="form">
            <form method="get" action="results.php" enctype="multipart/form-data">
                <input type="text" name="user_query"  placeholder="Search Product"/>
                <input type="submit" name="search" value="search"/>
            </form> 
        </div>
        </div><!--Menubar ends here!-->

            <!--Content Wrapper here!-->
        <div class="content_wrapper">
            <div id="sidebar"> 
                <div id="sidebar_title"> Categories</div>
                <ul id="cats">
                    <?php getCats(); ?>             
                </ul>   
            </div>
            <div id="content_area">THis is asa content</div>
        </div><!--Content Wrapper ends here!-->
        <div id="footer">  </div>
    </div><!--Wrapper-->
</body>
</html>

PHP CODE:

<?php

$con = mysqli_connect("localhost","root","","ecommerce");
//Getting Categories
function getCats(){

global $con;
$get_cats = "Select * from categories";

$run_cat = mysqli_query($con, $get_cats);

while ($row_cats=mysqli_fetch_array($run_cat)){

    $cat_id = $row_cats['cat_id'];
    $cat_title = $row_cats['cat_title'];
echo"<li><a href='#'>$cat_title</a></li>";
}
} //getCats() ENDS HERE
?>

additional information:

My HTML Path: C:/xampp/htdocs/ProjectWebDev/HTML/index.html

My PHP Path: C:/xampp/htdocs/ProjectWebDev/functions/function.php

Upvotes: 3

Views: 6364

Answers (3)

Muhammad Haseeb
Muhammad Haseeb

Reputation: 1341

Try this, And also change your HTML file format to .php. I hope it will work.

<?php 
include("../functions/function.php");
?>

Upvotes: 3

Funk Forty Niner
Funk Forty Niner

Reputation: 74232

"But when I include it on my HTML, nothings happening."

You need to instruct Apache to treat .html files as PHP.

If you haven't, then do. .html files do not parse PHP directives by default.

Consult: Using .htaccess to make all .html pages to run as .php files?

and create a file called .htaccess and placed inside the root of your server with the following content:

AddHandler application/x-httpd-php .html

If and when you do decide to use the .htaccess method, remember to restart your server/services/Apache/PHP. Those changes won't take effect until you do.

Plus, make sure that you do have a webserver/PHP installed and is properly configured.

If you're trying to access your files in a web browser such as:

c://file.html or c://file.php, then that won't work.

It must be used like this, e.g.:

  • http://localhost|example.com/file.html

  • http://localhost|example.com/file.php

Also make sure the path to your include is correct.

Add error reporting to the top of your file(s) which will help find errors.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Sidenote: Displaying errors should only be done in staging, and never production.

Upvotes: 5

CoderPi
CoderPi

Reputation: 13221

Looks like the path is wrong, you should use include("../functions/function.php");.

Also you need to rename the .html file to .php (if not diffrently configured in your server)

Upvotes: 1

Related Questions