11. september 2007 - 13:50
Der er
3 kommentarer
include databaseoplysninger
Hej eksperter
Er det muligt at inkludere forbindelsesoplysningerne til ens database således at man ikke skal indtaste databaseoplysningerne på hver enkel side?
Mener jeg har set noget men en function for lang tid siden men det er ikke noget jeg husker.
11. september 2007 - 13:56
#1
Jo da - bare lav en PHP-fil der definerer nogle variable med de nødvendige oplysninger og evt. kalder mysql_connect+mysql_select_db, og brug include() når du så skal have oprettet din forbindelse.
11. september 2007 - 15:40
#2
Jeg bruger følgende funktion(er), som jeg gemmer i en fil jeg kalder connection.php
<?php
function sqlconnect() {
$server = 'server';
$bruger = 'bruger';
$kodeord = 'kodeord';
$database = 'database';
if (@!mysql_connect($server,$bruger,$kodeord)) {
die('Couldn\'t connect to "'.$server.'" as "'.$bruger.'" using password "**********"');
} elseif (!mysql_select_db($database)) {
die('Database "'.$database.'" doesn\'t exist!');
}
}
function sqlclose() {
mysql_close();
}
?>
------
Min typiske opbygning af index.php ser således ud
<?php
include('connection.php');
sqlconnect();
$menu = array(
'Forside' => 'forside.php',
'Om' => 'om.php',
'Hjælp' =>'hjaelp.php'
);
if (isset($_GET['page']) && array_key_exists($_GET['page'],$menu)) {
$page = $_GET['page'];
require($menu[$page]);
}
sqlclose();
?>
------
Med denne metode har du databaseadgang på alle sider du smider i arrayet $menu og du kan tilmed smide en "session_start();" på, hvis du vil bruge sessions på dine sider.
Siderne kalder du ved at bruge enten
/index.php?page=Forside
eller
/?page=Forside
sidstnævnte er min foretrukne
"sqlclose();" behøver du ikke, men jeg plejer nu at bruge den da det ikke kan skade.