config-variabele
Ik wil een typ variabele hebben in mijn website waarbij het niet elke keer nodig is om deze bij elke reload te herinitialiseren en die een array kan bevatten.
Deze zal gebruikt worden om bij de eerste pageload mijn volledige configuratie in te laten uit een file. Als ik dit niet elke keer moet doen, dan win ik volgens mij tijd, of is dit onzin?
Kunnen jullie me dan ook helpen bij het volgende probleem?
Hoe kan ik bepalen of een gebruiker voor het eerst die dag (bv) op de site komt? Dan wil ik namelijk dat de configuratie wordt ingeladen en zorgen dat die een tijd beschikbaar blijft.
Alvast bedankt!
Lees een tutorial over sessions. Dat is precies wat je nodig hebt.
Heb je geen database?
cookie voor het onthouden op langer termijn.
Per sessie volstaat ;-)
Jawel, ik heb een database, maar is het op zich niet logisch de config op te slaan in een file? (Al de rest is wel database-driven)
Als je de beschikking over een database hebt, zou ik daar de config in opslaan (per user). Hoe vaak iemand per dag op je site komt is een probleem op zich. Je zou het ip-adres kunnen opslaan, maar dat werkt alleen in de gevallen waarin users een vast ip-adres hebben. Je zou ook kunnen werken met een inlogsysteem.
Ik heb het bij configuratie over enkele standaard dingen zoals het database-password, de titel van de site, plugin-configuratie, .... Allemaal waarden die voor iedereen tzelfde zijn.
Kan ik niet controleren of de sessie-var nog bestaat? Zo ja, dan is t in orde, zo nee, dan inladen
waarom wil je dat in een sessie gooien ?
ni per-se in een sessie (hoewel dat hier een zeer geschikte oplossing lijkt) ma eerder in een configuratiefile.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
//config
$page_title = $_GET['title'];
$db = 'Sab Kriksdeegir';
$pass = 'notforyou';
$host = 'windhoos';
?>
//config
$page_title = $_GET['title'];
$db = 'Sab Kriksdeegir';
$pass = 'notforyou';
$host = 'windhoos';
?>
header.php
Edit:
Typo
Typo
Gewijzigd op 01/01/1970 01:00:00 door Sab Kriksdeegir
Gewoon steeds dat bestandje lezen. Zal vast geen duizenden regels hebben.
$db = array
$dbhost='....';
$dbuser='....';
$dbpass='....';
$db='.....';
};if(!mysql_connect($db['...',], $db[ '...'], $db[ '...']))
{
trigger_error('error with connection: '.mysql_error());
}
elseif(!mysql_select_db($db['$....']))
{
trigger_error('Error con selected db: '.mysql_error());
}
else
{
$sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'";
if(!mysql_query($sql))
{
trigger_error('MySQL in ANSI not possible');
}
}
?>
heb deze code geplaats maar krijg steed een fout melding (syntax error, unexpected T_STRING in line 2)
heb al verschillende zaken veranderd en geupload, met steeds dezelfde fout melding. wat doe ik fout?
Je sluit $db = array niet af met ;.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
// Config.php
$host = "host";
$user = "user";
$pass = "pass";
$datb = "db";
// Verbinding maken
mysql_connect($host, $user, $pass) or die ("Er is een fout bij het connectie maken met de DataBase");
mysql_select_db($datb) or die ("Er is een fout bij het selecteren van de DataBase");
?>
// Config.php
$host = "host";
$user = "user";
$pass = "pass";
$datb = "db";
// Verbinding maken
mysql_connect($host, $user, $pass) or die ("Er is een fout bij het connectie maken met de DataBase");
mysql_select_db($datb) or die ("Er is een fout bij het selecteren van de DataBase");
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
{
$db = 'array' ;
$dbhost='....';
$dbuser='....';
$dbpass='....';
$db='.....';
};if(!mysql_connect($db['...',], $db[ '...'], $db[ '...']))
{
trigger_error('error with connection: '.mysql_error());
}
elseif(!mysql_select_db($db['$....']))
{
trigger_error('Error con selected db: '.mysql_error());
}
else
{
$sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'";
if(!mysql_query($sql))
{
trigger_error('MySQL in ANSI not possible');
}
}
?>
{
$db = 'array' ;
$dbhost='....';
$dbuser='....';
$dbpass='....';
$db='.....';
};if(!mysql_connect($db['...',], $db[ '...'], $db[ '...']))
{
trigger_error('error with connection: '.mysql_error());
}
elseif(!mysql_select_db($db['$....']))
{
trigger_error('Error con selected db: '.mysql_error());
}
else
{
$sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'";
if(!mysql_query($sql))
{
trigger_error('MySQL in ANSI not possible');
}
}
?>
het bovenste gedeelte van de code werkt maar nu krijg ik de fout melding op lijn 17 beginnende met "elseif(!mysql_select_db($db['$....']))" wat is hier fout aan?
Wat is de bedoeling van dit:
{
$db = 'array' ;
$dbhost='....';
$dbuser='....';
$dbpass='....';
$db='.....';
};if(!mysql_connect($db['...',], $db[ '...'], $db[ '...']))
Waarom die openingsaccolade?
Waarom is $db de tekst 'array'?
Dan maak je nog een paar aparte $vars en bij de mysql_connect gebruik je een array().
Toevoeging op 13/11/2010 21:44:42:
Peter druyts op 13/11/2010 21:32:36:
het bovenste gedeelte van de code werkt
Zoals ik reeds aangaf, lijkt mij stug.
hoe zou jij dan het samen stellen? met het script dat je ziet en wat is er mis met die lijn dat ik beschreef beginnende met elsif....?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$db = array('host' => '....',
'user' => '....',
'pass' => '....',
'db' => '.....');
if(!mysql_connect($db['host'], $db['user'], $db['pass']))
{
trigger_error('error with connection: '.mysql_error());
}
elseif(!mysql_select_db($db['db']))
{
trigger_error('Error con selected db: '.mysql_error());
}
else
{
$sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'";
if(!mysql_query($sql))
{
trigger_error('MySQL in ANSI not possible');
}
}
?>
$db = array('host' => '....',
'user' => '....',
'pass' => '....',
'db' => '.....');
if(!mysql_connect($db['host'], $db['user'], $db['pass']))
{
trigger_error('error with connection: '.mysql_error());
}
elseif(!mysql_select_db($db['db']))
{
trigger_error('Error con selected db: '.mysql_error());
}
else
{
$sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'";
if(!mysql_query($sql))
{
trigger_error('MySQL in ANSI not possible');
}
}
?>
Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) /config.php on line 7
Notice: error with connection: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) in config.php on line 9 wat nu?
Zo te zien draait mysql niet op dezelfde server.
heb alles geupload met dreamweaver met de gegevens die ik heb van mijn server