I am so confused what's the difference between those links below:
<link rel="stylesheet" href="http://<?php echo $_SERVER['HTTP_HOST'] ?>/demo/assets/css/style.css"
and
<li> HOME </li>
First of all, the first link is working very well, but the second link is not working. As it is written The requested URL /demo/contents/test.php was not found on this server.
My directory files is public_html > demo > contents > test.php. Any ideas?
Its best to use
$_SERVER['DOCUMENT_ROOT']
Then access the folder from the root directory.
For example:
href="http://<?php echo $_SERVER['HTTP_HOST'] ?>/demo/assets/css/style.css"
href="http://<?php echo $_SERVER['HTTP_HOST'] ?>/demo/contents/test.php"
Hope this helps :)
This is used for directly loading into the Page onload:
<link rel="stylesheet" href="http://<?php echo $_SERVER['HTTP_HOST'] ?>/demo/assets/css/style.css"
And this:
<li> HOME </li>
Is for user-actions, so you link a destination the user should be able to reach when clicking on it.
Related
I want to load my home page(base_url) when I click on my logo.
Base url - (http://localhost:8888/adminpanel/)
When I use base_url() function inside the anchor tag like <a href="<?php echo base_url(); ?>" , It taking me to (http://localhost:8888/adminpanel/index.html).
Actually I couldn't find this index.html anywhere in my adminpanel folder.
So friends please help me to find a solution for this. Thanks in Advance. :)
okay i got it can you please try with
<a class="navbar-brand" href="<?php echo base_url();?>blog"><img src="<?php echo base_url()?>assets/img/ro.jpg" class="img-responsive" alt="" title=""></a>
dont write your url inside the function
just try with this
If you want to go to your homepage the you can use <?php echo site_url()?>
base_url in simple words used for getting base path necessary for css or images
if your hompage is http://www.example.com you can have <?php echo site_url()?>
and if you want to go to http://www.example.com/index.php/dashboard you can have <?php echo site_url('dashboard'); ?>
where in config.php
$config['base_url'] = '';
$config['index_page'] = 'index.php';
give a try to the above things.
More description regarding site_url and base_url can be found here
what is the difference between site_url() and base_url()?
In config.php set following:
$config['base_url'] = 'http://example.com/'; // Set your Home URL
If you are using mod_rewrite than change following..
$config['index_page'] = '';
My site is http:\www.xxx.com/xxx
I'm having problem to get the specific file inside a folder
The file is inside admin_pages folder under the root
The menus folder are under root too
In my i put
<a href="../admin_pages/adminAtividadesByMonthChart.php">
and it returns to http:\www.xxx.com
If i use
<a href="../../admin_pages/adminAtividadesByMonthChart.php">
Its the same...
This is my image project
any help?
You may use a constant for base url.
It may be BASE_URL
So ;
<?php
define('BASE_URL', 'http://www.example.com');
<a href="<?php echo BASE_URL;?>/admin_pages/adminAtividadesByMonthChart.php">
Good luck
The header for my website is the same across all of it so instead of rewrite the code and link the style sheets, i've decided to use the <?php include ;?> to put it at the top of every document.
My issue is that the logo that should come with the header isn't displaying.
File Structure
As you can see, the header file is where it is and the logo named "Picture2.png" is in the image folder.
PHP
<?php include('./_/includes/header.php'); ?>
HTML (In header.php)
<nav id="navigation">
<ul id="navList">
<li id="navLogo"><img src="/image/Picture2.png"/>Computing</li>
<li><a class="navItem" href="gallery.php">Gallery</a></li>
<li><a class="navItem" href="topics.php">Core Topics</a></li>
<li><a class="navItem" href="courseview.php">Courses</a></li>
<li><a class="navItem" href="index.php">Home </a></li>
</ul>
</nav>
Part of header that isnt' displaying correctly
NOTE** everything else in the header is correctly displayed, I'm using a local server, should that make a difference
You are using an absolute path for your image.
You should put and use a relative path :
<img src="_/includes/image/Picture2.png"/>
instead of
<img src="/image/Picture2.png"/>
Yep, hes using an absolute path for image, but the project isn't in server root folder then you need's to inform the name of the folder in path...
Use <img src="/finalprojectneat/image/Picture2.png"> then you have your logo display on every page. But is not the most indicated because when you send to production server, you didn't have the "finalprojectneat" folder then you have to remove all paths using "projectneat".
One solution is to define a constant in your "index.php", not necessary in "index.php" but required in root folder of project
define ('_IMAGES_', realpath(dirname(__FILE__) . '/image'));
if you put this constant in another file inside root folder, use "require" to import these constants to your views...
and in your views, use
<?php echo _IMAGES_ . '/Picture2.png'; ?>
Using PHP (XAMPP)
I have a simple folder layout as such:
For right now, my index.php file just contains "mainbar.php"
mainbar.php:
<?php
require(config.php);
include ("login/session.php");
global $session;
$logged=$session->CheckSession();
?>
<!DOCTYPE html>
<html>
<head>
<script src='scripts/jquery.js'></script>
<link rel='stylesheet' href='styles/mainbar.css'/>
</head>
<body>
<section class='topcontainer'>
<nav id='mainnav'>
<ul>
<li><a href='#' class='acti' id='homepage'>Home<span class='badge red'>3</span></a></li>
<li><a href='qms/qms.php' id='qmspage'>QMS<span class='badge yellow'>35</span></a></li>
<li><a href='#' id='modelpage'>Model Search</a></li>
<li><a href='#' id='partsdbpage'>Parts Database</a></li>
<li><a href='#' id='wddbpage'>WD Database</a></li>
<li><a href='#' id='toolspage'>Tools</a></li>
<li><img src='styles/img/profile.png' width='25px'/></li>
</ul>
</nav>
</section>
When the user clicks on the "QMS" button (href='qms/qms.php').
I get the following error (using chrome):
Failed to load resource (http://localhost/control/qms/scripts/jquery.js)
PHP is going to the directory "qms" and then trying to find the "scripts" folder which I do not want it to do.
Keep in mind I just can't make it say "../scripts/jquery.js" because that may not always be the case.
How do I set this up so that "jquery.js" will have a permanent reference back to the parent folder "control/scripts/"??
you can just do as :
<script src='http://localhost/control/scripts/jquery.js'></script>
or use some global variable for this purpose
Amit suggests using the absolute path, but this is inflexible. You'll have to change the paths of these when you deploy the site, and if you ever change the name of your localhost, you'll have to manually update everything.
I'm assuming that your site's configured to use the root directory of localhost/controls. If this is the case, you should be able to link to the script from anywhere in the controls folder using "/scripts/jquery.js".
To find your root directory, run this in a PHP script: echo $_SERVER['DOCUMENT_ROOT'].
My navigation bar images and links load fine in CHROME but when loading the same page in INTERNET EXPLORER the images don't load but displays the no image icon. The links in IE are like this
CodeIgniter/index.php/news/index.php/news/
instead of just
CodeIgniter/index.php/news
HOWEVER, IE manages to load the css successfully even though that is also using the base_url()... here is my code:
test.php
<head>
<base href="<?php echo base_url() ?>">
<link rel="stylesheet" type="text/css" href="public/css/main.css">
</head>
<nav>
<ul>
<li><a href="index.php/news">
<img src = "public/images/home.png" alt="Home" title="Home"/>
</a></li>
<li><a href="index.php/news/create">
<img src = "public/images/create.png" alt="Create new article" title="Create new article"/>
</a></li>
</ul>
</nav>
config.php
$config['base_url'] = 'http://localhost/CIgniter/CodeIgniter/';
Answer
Quote:Well Fabios suggestion was successful thanks <img src = "<?=base_url('public/images/home.png')?>" alt="Home" title="Home"/> works even though it is gonna be a pain in future. Thanks for all your help!
Well Fabios suggestion was successful thanks
<img src = "<?=base_url('public/images/home.png')?>" alt="Home" title="Home"/>
works even though it is gonna be a pain in future. Thanks for all your help!
The real problem is that you are using relative paths e.g public/images/home.png instead of /public/images/home.png, the slash at the start tells the browser that it should retrieve content based on the absolute path you've specified at $config['base_Url'] = ... instead of the current path it is (I mean you get to CodeIgniter/index.php/news and you've specified a relative path to it so that's why it appened to it producing a wrong path CodeIgniter/index.php/news + index.php/news/)
so when you add a slash at the start of your path it will be refering to the absolute path and it will get to you at CodeIgniter/index.php/news.