Reputation: 792
Problem Description in Brief:
PHP script seems to work on my local web server when I 'include' it from the footer tag of my index.html file, but does not work when I upload it to my website. Note that I have made sure that all paths are correct, and that the script file has its own php tags, etc.
Problem Description in Detail:
Yes, I am new to PHP scripting, and yes, variants of this question have probably been asked before. The answers to a few of the questions I have read have noted the path of the php script files to be incorrect. I have checked all paths and confirmed that they are indeed correct (including those on the web hosting server). Furthermore, I have been successful in getting the script to work on my local server running Apache2 with PHP5, but have not been successful when uploading it to my website.
Essentially, I am trying to implement a hit counter script which I have acquired from a Stack Overflow post labelled Visitors counter for simple web sites like Vinaora. The code that invokes the php script looks something like this....
<footer> <!-- Execute Hit Counter Script --> <?php include($_SERVER['DOCUMENT_ROOT'].'/php/hitcounter.php'); ?> </footer>
For the likes of me, I cannot figure out why it does not work on the web hosting server. I have tried other combinations of invoking the script like,
<footer> <!-- Execute Hit Counter Script --> <?php include('./php/hitcounter.php'); ?> </footer>
and,
<footer> <!-- Execute Hit Counter Script --> <?php include(dirname(__FILE__).'/php/hitcounter.php'); ?> </footer>
All combinations seem to work on my local web server, but not on the website! Also note that, I have no problem invoking other PHP scripts using other methods (even on the web hosting server), eg.
<form id="form-query" onsubmit="this.checkValidity();" action="./php/contact.php" method="post">
Any advice/suggestions would be appreciated.
Upvotes: 5
Views: 15632
Reputation: 132
sometimes it might be dues to casing. check if you you uppercase in naming. on some servers Index.php is not equal to index.php
Upvotes: 0
Reputation: 51
Maybe be you have used "\" in your include path
Wrong:
<?php include 'includes\header.php'; ?>
You should use "/" to work.
Current:
<?php include 'includes/header.php'; ?>
Upvotes: 1
Reputation: 7257
You are doing completely incorrect thing in the first place.
PHP script seems to work on my local web server when I 'include' it from the footer tag of my index.html
is just totally wrong
There is no such thing as embedding php file within html file (aside from mod_rewrite ...). For PHP script to be interpreted you must have it (in 99% of cases) with php suffix. This way you allow PHP to distinguish it from regular PHP and send to php interpreter.
Put simply - create this file (a.html):
<body>
abcd<?php echo 'efgh';?>
</body>
and see the result in your browser - use .../a.html
What do you see?
abcd
and not
abcdefgh
On top you always have to have php not the other way around. Solve this or update your question if incorrect.
Upvotes: -2
Reputation: 1
You might try pasting the "include" code directly into the calling code. Maybe it's the included code itself that's misbehaving...
Upvotes: -1
Reputation: 18923
Do you get any PHP error?
First of all, you need to activate error reporting.
Put this before including your file
ini_set('display_errors',1);
error_reporting(-1);
PHP should tell you what's happening.
If you don't see anything, change the filename index.html to index.php and try again.
Upvotes: 6