Probleem met CONSTANT in appl
Ik kan niet vinden wat ik fout doe. Als een constante een bepaalde waarde heeft wordt die toch vastgehouden en is benaderbaar in alle scripts van de applicatie?
Hieronder haal ik gegevens uit een tabel. (script 1.php)
Na de gegevens te hebben opgehaald maak ik er constanten van voor gebruik in de rest
van de applicatie.
Als ik de gegevens ECHO klopt alles en worden de CONSTANTEN correct weergegevens.
$host=$row_rs_school['host'];
$user=$row_rs_school['user'];
$dbf=$row_rs_school['dbf'];
$pw=$row_rs_school['pass'];
$school_id=$row_rs_school['school_id'];
define('HOST',$host);
define('DBF',$dbf);
define('PW',$pw);
define('USER',$user);
$verbinding = mysqli_connect(HOST, USER, PW, DBF) or trigger_error(mysqli_error($verbinding));
if(!$verbinding){trigger_error('Fout bij verbinden met database: '.mysqli_connect_error($verbinding));exit();}
echo HOST,DBF,USER,PW; (Hier klopt alles nog)
redirect nu naar script test_global.
————— einde
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?PHP
include("../include/session.php");
ini_set("display_errors", 1);
error_reporting(E_ALL);
//error_reporting(E_ALL & ~E_NOTICE);
?>
include("../include/session.php");
ini_set("display_errors", 1);
error_reporting(E_ALL);
//error_reporting(E_ALL & ~E_NOTICE);
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="../bootstrap-4.1.3/dist/css/bootstrap.min.css" >
<link rel="stylesheet" href="../menu/css/menu.css"> <!-- menu systeem -->
<link rel="stylesheet" href="../css/mygrid.css"> <!-- mijn layou grid systeem -->
<title>OV</title>
</head>
<body>
<h1>test</h1>
<div class="wrapper">
Code (php)
</div>
<!-- Optional JavaScript ONDERAAN DE PAGINA-->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="../js/jquery-3.3.1.slim.min.js"></script>
<script src="../js/popper.min.js"></script>
<script src="../js/bootstrap-4.1.3.min.js"></script>
<script src="../js/vendor/holder.min.js"></script>
<script src="../js/menu.js"></script><!-- voor de navbar-->
<script src="../ckeditor/ckeditor.js"></script> <!-- voor de editor-->
<script src="../js/main.js"></script>
</body>
</html>
Constanten van zijn geen sessie, dus na een redirect zijn die ook weer verloren. Maar ik snap niet waarom je redirect. Configuratie-settings, die includeer je toch altijd. Dan blijven ook de constanten werken.
Gewijzigd op 05/07/2019 10:27:42 door - Ariën -
Gebruik je ergens anders HOST, DBF, PW, USER?
Zo nee? Weg ermee.
Zo ja? Wellicht verstandig om ze ook te prefixen met DB_ ofzo, enkel "USER" of "PW" zegt veel te weinig over wat deze constante representeert...
Ik heb een applicatie gemaakt voor bedrijf A. Nu wil ook bedrijf B en C gebruik maken van de applicatie.
Mijn idee is nu om voor elk bedrijf een database aan te maken met dezelfde tabellen. In de tabel install komen dan de specifieke gegevens voor het betreffende bedrijf en ook de klanten komen in de eigen database.
Om dit te regelen is het idee dat het bedrijf inlogt met een code. Met de code wordt uit een tabel user,dbf en password van het bijbehorende bedrijf gehaald zodat daarmee de connectie tot de juiste database gemaakt kan worden.
In een tabel setup en elke database staan velden constant - en de waarde. Op die manier worden in de applicatie de constanten ‘gevuld’ met de specifieke gegevens van het betreffende bedrijf.
Op deze manier bijven de gegevens van elk bedrijf alleen toegankelijk voor dat bedrijf.
Is dit een logische redenering of kan dit simpeler?
In dit topic word ook het één en ander besproken hierover:
https://www.phphulp.nl/php/forum/topic/oplossing-hosten-meerdere-php-web-apps/102985/last/