Call to undefined function base_url() - codeigniter

I get this error when I try to load base_url funcion. The problem is that I've already added base_url to autoload file but the issue still:
$autoload['helper'] = array('url');
views/home.php file has the following code:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div align="center">
<h1>Index</h1>
Link
</div>
</body>
</html>
Any ideas? Since base_url function is being loaded by autoload I don't know what else should I try to do to fix this.
Thank you!

It could be that your not echoing the base_url
Try this
<?php echo base_url();?>
Instead of
<?= base_url()?>
As you have shown you are all ready auto loading url helper
$autoload['helper'] = array('url');
Make sure in CI3 versions base_url is not empty in config.php
$config['base_url'] = 'http://localhost/project/';
Wamp
www > project >
www > project > application
www > project > system
www > project > index.php
Xampp
htdocs > project >
htdocs > project > application
htdocs > project > system
htdocs > project > index.php
Update: with the code you have provide in link
--
There were many bugs. I would start of will a fresh copy.
1: In your autoload.php you had two $autoload['helpers'] = array(); I removed the empty one and worked. Where line 85 and 93 remove that and you will see on line 42 there is same.
2: In your config.php this $config['index_page'] = 'home.php'; should be $config['index_page'] = 'index.php';
3: Your controller filesnames did not have there first letter uppercase.
Filename Home.php
<?php
class Home extends CI_Controller {
}

Change Link with Link. Do not add space when you are using short tags.

Related

Laravel Request cookie doesn't show JS created Cookies

I'm using JS-Cookie for setting a Cookie via the front-end.
Why can't I access it in my Laravel 5.8 application with:
dd(request()->cookies)? The Cookie is visible with the name, but the value is null. But when I do try to get the Value of the Cookie via the "normal" way, I do get the value: dd($_COOKIE['the-cookie-value-i-want']);.
How can I access the value of the Cookie via the "Laravel-way"? Which is more secure.
I know this is an old question, but you can disable encryption for specific cookies instead of disabling it for everything (which would break secure sessions).
Edit the \App\Http\Middleware\EncryptCookies class to include the following:
/**
* The names of the cookies that should not be encrypted.
*
* #var array
*/
protected $except = [
'my_frontend_cookie_name'
];
You can now access the cookie value via request()->cookie() or the Cookie::get() facade.
Only cookie created by laravel can handle by laravel.
Now here is the way you can achieve this
Go to : app > Http > Kernal.php : under $middlewareGroups array comment this
'web' => [
//\App\Http\Middleware\EncryptCookies::class,
And then try
Here is the demo
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
</head>
<body>
{{ Cookie::get('cookie1') }}
{{ request()->cookie('cookie1') }}
<script type="text/javascript">
document.cookie = 'cookie1=test; path=/'
</script>
</body>
</html>

How to view data retrieved in the controller in the view?

I'm trying to retrieve data in my controller using sqlsrv database connection and I want to view the result in my test.blade.php
public function index()
{
$cout_achat = DB::table('[DWH_SOVAC_PROD_KIT_LIFE_CYCLE]')
->select( DB::raw('SUM([MONTANT_LC]) as cout_achat'))
->get();
return view('test', ['test' => $cout_achat]);
}
and the code in the view
<html lang="{{ config('app.locale') }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600"
rel="stylesheet" type="text/css">
</head>
<body>
echo {{$cout_achat}};
</body>
</html>
but when I try to access myapp/test I get : ** Use of undefined constant test - assumed 'test' (this will throw an Error in a future version of PHP) (View: C:\wamp64\www\projetSovac\resources\views\test.blade.php) –**
About 404 the route you have provided is completely ok, can you please tell us how you are calling this route.
And please double check any typo in controller name.
Now I would like to talk about some improvement in your code
First of all is that when you return the view like this in your controller
return view('test', ['test' => $cout_achat]);
The $cout_achat will be available with name $test in your blade file. So you should try to use the same naming convention like
return view('test', ['cout_achat' => $cout_achat]);
Or simple you can use compact() laravels helper function like this
return view('test', compact(cout_achat));
It will automatically pass $cout_achat in blade.
Now for echoing the variable in balde you don't need to use echo explicitly like
echo {{$cout_achat}};
You can echo variables like
{{$cout_achat}}
Anything else will be handled automatically by blade compiler.
Hope this will help.

Recove data from xml file with ruby for manipulating

i have a problem. I must recover the data from a xml file inside my print machine becouse i want recove number of copy each day but i can see only total copy from start day of machine.
My script must recover from xml file the total copy day by day and with my manipulition the script subtracts the number each day.
I have alredy try use my little script like follow
require 'net/http'
require 'uri'
uri = URI.parse( "http://192.168.1.80/wcd/system_counter.xml" )
params = {'q'=>'cheese'}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.path)
request.set_form_data( params )
# instantiate a new Request object
request = Net::HTTP::Get.new( uri.path+ '?' + request.body )
response = http.request(request)
puts response.body
but when i try with other html page i have correctly response and i can see the code of page with my page i have this html page like response:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<HTML lang="en">
<HEAD>
<TITLE></TITLE>
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta content="text/javascript" http-equiv="Content-Script-Type">
<noscript>
<meta http-equiv="refresh" content="0; URL=/wcd/js_error.xml">
</noscript>
</HEAD>
<BODY BGCOLOR="#ffffff" LINK="#000000" ALINK="#ff0000" VLINK="#000000" onload="location.replace('/wcd/index.html?access=SYS_COU');" >
</BODY>
</HTML>
When i go from browser i can see correctly number of copy.
What for your experiece the correctly mode for bypass this restriction with ruby code?
Thanks for all help.

regex to scan html and return the URL from a meta refresh tag

I'm trying to scan html content to find if the source code includes a meta refresh tag in order to get the URL.
Here are some of the cases of meta http-equiv="refresh" tags I've seen
<META HTTP-EQUIV="refresh" CONTENT="0;URL=https://example.de/">
<META HTTP-EQUIV="refresh" CONTENT="0; URL=https://example.com/test">
<meta http-equiv="refresh" content='0;URL=/test' />
<meta http-equiv='refresh' content='0; URL=/test' />
Here is he what I have come up with
$url = response.body.scan(/(CONTENT="0;URL=)(.*?)(">)/)
/(CONTENT="0;URL=)(.*?)(">)/ will work fine for the first instance without the space between ; and URL not for anything else.
Can someone help me with a regex that will work on all 4 scenarios?
Try this out:
$url = response.body.scan(/(CONTENT|content)=["']0;\s?URL=(.*?)(["']\s*\/?>)/)

sending an url but staying on the same page ( php, codeigniter, javascript )

this is my situation. I'm writing an webinterface in codeigniter to send commands to a virtual server. these commands are passed through the browser in an url.
example : http://server.com/TgtSendIRCommand?id=UM-02&code=KEY_UP
this server then takes action and the web interface refreshes the screenshot.
i just want to have a bunch of links in html that send this command to the browser.
But if i click the links, the user has to stay on the same page. So the command is sended but there is no other interaction.
i am using codeigniter.
Any suggestions ?
Make a view and copy this in your view:
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js" type="text/javascript"></script>
</head>
<body>
Click here!
<script type="text/javascript">
$(document).ready(function(){
$("#myBtn").click(function(){
$.get("http://server.com/TgtSendIRCommand?id=UM-02&code=KEY_UP ");
});
});
</script>
</body>
</html>
Not tested but something as above should do the trick for you.
<?php
session_start();
$_SESSION['http://localhost/profile.php'] = $_SERVER['REQUEST_URI'];
$sess=$_SESSION["email"];
$servername = "localhost";
$username = "root";
$password = "";
$dbname ="reg";
if(!isset ($sess))
{
header("Location:login.php");
exit;
}

Resources