3

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

1
  • include("../functions/function.php"); Commented Dec 26, 2015 at 18:34

3 Answers 3

5

"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.

Sign up to request clarification or add additional context in comments.

9 Comments

"Create a .htaccess file at the root of your website and add this line: down vote accepted Create a .htaccess file at the root of your website and add this line: [Apache2 @ Ubuntu/Debian: use this directive] AddType application/x-httpd-php .html .htm If your are running PHP as CGI (probably not the case), you should write instead: AddHandler application/x-httpd-php .html .htm " Sir, I quite don't get this. Does creating a .htaccess file is the same as creating html and php? And also, What does he meant when he say : "Create a .htaccess file at the root of your website and add this line"
@user4932301 It's included in the link I added in my answer stackoverflow.com/questions/4687208/…
you create a text-based file .htaccess (with the dot like that) and place it in the root of your server. If you don't want to go through that trouble, then just rename your .html file extension to .php. Like I mentioned in my answer, a web browser won't parse PHP directives by default, a server does that.
It's working now! Thanks Fred -ii- ! You're a big help in stackoverflow :D
@user4932301 You're most welcome (and thanks), cheers glad I was of help. Happy coding/happy holidays/New Year ;-)
|
3

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

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

2 Comments

Thats the same as I just wrote 10 Minutes ago
there was internet problem, sorry from my side but i did not copied you.
1

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)

2 Comments

How do I configure it in my server?
you don't need to, but if you want to find a solution for your exact server, I can't help for that

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.