database openen?
- waar hoort die true bij? bij parse_ini_file? of bij print_r?
- waar staat test.ini (wat is de locatie ten opzichte van de pagina van bovenstaande broncode)?
- hoe ziet test.ini er inhoudelijk uit?
- wat gebeurt er als je bovenaan je pagina het volgende toevoegt:
krijg je in dat geval foutmeldingen?
- waar staat test.ini (wat is de locatie ten opzichte van de pagina van bovenstaande broncode)?
- hoe ziet test.ini er inhoudelijk uit?
- wat gebeurt er als je bovenaan je pagina het volgende toevoegt:
krijg je in dat geval foutmeldingen?
Gewijzigd op 17/08/2017 01:09:25 door Thomas van den Heuvel
De true hoort bij parse_ini_file, want er staan secties in.
Het bestand staat daar waar hij eigenlijk niet moet staan volgens dit forum. Maar daar wil ik later aan werken. Het staat naast de index.php (In de root dus)
Na het toevoegen van die code, krijg ik deze melding:
De inhoud van Test.ini is:
Het bestand staat daar waar hij eigenlijk niet moet staan volgens dit forum. Maar daar wil ik later aan werken. Het staat naast de index.php (In de root dus)
Na het toevoegen van die code, krijg ik deze melding:
Quote:
Fatal error: Call to undefined function print_r() in /share/MD0_DATA/Web/test.nl/index.php on line 17
De inhoud van Test.ini is:
Quote:
[algemene instellingen]
programmanaam = Test
versie = 0.1.0.alpha.8
[connectie]
host = localhost
user = Test
pass = Test
database = db_test
programmanaam = Test
versie = 0.1.0.alpha.8
[connectie]
host = localhost
user = Test
pass = Test
database = db_test
Gewijzigd op 17/08/2017 16:10:37 door Frits van Leeuwen
Maar wat zegt print_r() op je parse_ini_file?
Die zou normaal gesproken een associatieve array moeten geven. omdat je sections ook in je array wilt verwerken.
Die zou normaal gesproken een associatieve array moeten geven. omdat je sections ook in je array wilt verwerken.
Sorry Ariën, ik was nog net niet helemaal klaar met het beantwoorden van de vraag van Thomas. Ik heb mijn antwoord nog even aangevuld.
Ik zou graag iets in beeld krijgen, waarmee ik de array kan bekijken. Dan weet ik daarna ook weer hoe ik weer verder moet.
Nu krijg ik dus met Thoms z'n aanvulling in de code de melding:
Ik zou graag iets in beeld krijgen, waarmee ik de array kan bekijken. Dan weet ik daarna ook weer hoe ik weer verder moet.
Nu krijg ik dus met Thoms z'n aanvulling in de code de melding:
Quote:
Fatal error: Call to undefined function print_r() in /share/MD0_DATA/Web/test.nl/index.php on line 17
Gewijzigd op 17/08/2017 16:16:25 door Frits van Leeuwen
Huh?
print_r() is gewoon een bestaande functie in PHP 4,5,6 en 7.
print_r() is gewoon een bestaande functie in PHP 4,5,6 en 7.
precies, dus ik dacht ook,... als ik het zo doe, dan moet het lukken. Maar helaas...Dus ik snap het niet.
Ik vind het ook vreemd. Of je hebt een vreemde PHP-versie waar iemand die functie er moedwillig uitgesloopt heeft. Want ik kan me niks anders indenken. Zelf op Google kom ik niks relevants tegen.
Misschien heeft de server het moeilijk met geheugen. Ik heb ooit een keer meegemaakt dat in een dergelijk geval ook vreemde foutmeldingen te zien waren.
Misschien heeft de server het moeilijk met geheugen. Ik heb ooit een keer meegemaakt dat in een dergelijk geval ook vreemde foutmeldingen te zien waren.
Gewijzigd op 17/08/2017 16:29:09 door - Ariën -
De server is mijn eigen NAS.
Welke PHP-versie heb je eigenlijk?
Ik zou ik eens kijken of een reboot helpt, en als dat niet helpt een klacht/vraag bij de helpdesk van de fabrikant van je NAS te openen. (welke heb je?)
print_r() is gewoon een vaste PHP-functie die er al heel lang in zit, en ik zie geen bepaalde voorwaarden waarom dit niet zou werken (soms zijn functies Windows/Linux only, om maar wat te noemen).
Is het niet een beter idee om een webserver op je PC te gebruiken? Denkend aan XAMPP? Dan heb je geen vreemde PHP-versie met rare fratsen... ;-)
Toevoeging op 17/08/2017 17:35:44:
Laat anders je code nog eens zien. Misschien heb je een vreemd spatie-achtig karakter voor je print_r staan.
Desnoods even die regel opnieuw typen.
Ik zou ik eens kijken of een reboot helpt, en als dat niet helpt een klacht/vraag bij de helpdesk van de fabrikant van je NAS te openen. (welke heb je?)
print_r() is gewoon een vaste PHP-functie die er al heel lang in zit, en ik zie geen bepaalde voorwaarden waarom dit niet zou werken (soms zijn functies Windows/Linux only, om maar wat te noemen).
Is het niet een beter idee om een webserver op je PC te gebruiken? Denkend aan XAMPP? Dan heb je geen vreemde PHP-versie met rare fratsen... ;-)
Toevoeging op 17/08/2017 17:35:44:
Laat anders je code nog eens zien. Misschien heb je een vreemd spatie-achtig karakter voor je print_r staan.
Desnoods even die regel opnieuw typen.
PHP Version 5.6.30
Ik gebruik de NAS als PHP server, want dan kan mijn vrouw er ook bij op verschillende delen in het huis.
Ik gebruik de NAS als PHP server, want dan kan mijn vrouw er ook bij op verschillende delen in het huis.
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
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
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>
<!DOCTYPE html>
<html>
<head>
<title>Basisbestand Test</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<header>
</header>
<content>
<?php
$b��=��print_r(parse_ini_file("test.ini",true),true);
echo $b;
//database openen
echo $b['algemeen']['programmanaam'];
?>
</content>
<footer>
</footer>
</body>
</html>
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>
<!DOCTYPE html>
<html>
<head>
<title>Basisbestand Test</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<header>
</header>
<content>
<?php
$b��=��print_r(parse_ini_file("test.ini",true),true);
echo $b;
//database openen
echo $b['algemeen']['programmanaam'];
?>
</content>
<footer>
</footer>
</body>
</html>
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 17/08/2017 20:35:15 door - Ariën -
Ik heb je bericht even tussen code-tags gezet. Dat is een stuk leesbaarder.
Zou je dat voortaan ook zelf willen doen?
Ik denk dat er toch iets mis is met de php-ondersteuning van de NAS, of je hebt een heel rare bug in PHP getriggerd. Laten we de code eens meer uit elkaar vlechten:
Geeft dit wel een mooie array-boom?
Zou je dat voortaan ook zelf willen doen?
Ik denk dat er toch iets mis is met de php-ondersteuning van de NAS, of je hebt een heel rare bug in PHP getriggerd. Laten we de code eens meer uit elkaar vlechten:
Code (php)
1
2
3
4
2
3
4
<?php
$parse = parse_ini_file("test.ini",true);
echo "<pre>".print_r($parse,true)."</pre>";
?>
$parse = parse_ini_file("test.ini",true);
echo "<pre>".print_r($parse,true)."</pre>";
?>
Geeft dit wel een mooie array-boom?
Gewijzigd op 17/08/2017 20:35:25 door - Ariën -
Geweldig Ariën,... <pre>..</pre> is de oplossing denk ik. Hiermee lukt het wel. Ik snap het nog niet helemaal, maar daar kom ik wel uit denk ik.
Dank voor je geduld en moeite. Wat mijbetreft kan kan deze topic gesloten worden.
Ik ben blij.
Dank voor je geduld en moeite. Wat mijbetreft kan kan deze topic gesloten worden.
Ik ben blij.
Fijn dat het nu lijkt te werken. Ik heb geen idee waarom de functie niet herkend werd, maar misschien hielp het wel met het uitelkaar trekken van de code. Die <pre> is bedoeld om het als preformatted tekst te tonen, zodat alle enters en spaties netjes zichtbaar zijn.
Over die foutmelding: ik zie 2 spaties staan voor de functienaam ipv de gebruikelijke 1. Is hier mogelijk iets misgegaan bij een copy/paste?
Ik heb zelf wel de indruk dat er het een en ander mis gaat doordat ik code kopieer. Dit bleek vooral bij de laatste assistentie die ik hier in de groep kreeg. Door het copy/paste werkte het niet. maar na opnieuw intikken werkte het wel. Ik dacht dit eerder ook al gemerkt te hebben, maar was er toen nog niet zo zeker van.
Voortaan maar overtikken i.p.v. copy/past.
Voortaan maar overtikken i.p.v. copy/past.
Welke editor gebruik je eigenlijk?
Misschien helpt het als je eerst copy/paste in kladblok en het dan vanuit daar weer copy/paste naar je editor.
Notepad++
idd... copy/paste naar kladblok is ook een goed en snelle optie
Bedankt.
Maar vervuilen we hier niet het forum? Of is deze vraagstellingen en antwoorden van belang tot de vraag die ik stelde aan het begin?
Toch nog eens allemaal bedankt voor de lieve snelle assistentie.
idd... copy/paste naar kladblok is ook een goed en snelle optie
Bedankt.
Maar vervuilen we hier niet het forum? Of is deze vraagstellingen en antwoorden van belang tot de vraag die ik stelde aan het begin?
Toch nog eens allemaal bedankt voor de lieve snelle assistentie.
Mocht je toch nog je config 'gewoon' als PHP op willen slaan (ivm alle genoemde voordelen), dan is dat niet zo heel moeilijk:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
file_put_contents('config.php',"<?php\n\nreturn " . var_export($config,true) . ';');
In je script doe je dan:
$config = require('config.php);
In je script doe je dan:
$config = require('config.php);
Gewijzigd op 18/08/2017 13:44:10 door Rob Doemaarwat




