Ok so I have a basic website and the links on the page for about, contact and services load through ajax content from about.php, contact.php and services.php into a main div on my page. All works well.
The way I have it coded is when someone clicks, say, #about I have the following code:
$.address.change(function(event) {
$('#main').load('../' + event.value + '.php');
});
$('a').click(function() {
$.address.value($(this).attr('href'));
});
and in about.php I have:
<?php
// render form
require("../templates/about_form.php");
?>
All works well, however lets say a crafty user types in domain.com/about.php then they just get served up the content of about_form.php without the rest of my page around it.
Can I determine if a user does this and if so redirect the page to domain.com#about ...
Any advice appreciated.
Wrap your existing pages with
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
/*page code goes here*/
}else
{
header('Location: http://www.domain.com/#yoursection');
}
What this does is check if the request is an ajax request if not redirects the user to the proper page.