Hallo,

Is het mogelijk dat ik op enkele domeinnamen op een andere server gegevens uit de database daarvan haal, maar dat ik op de domeinnaam van de database bepaal welke gegevens en dat de mensen die de gegevens eruit halen NIET de inloggegevens van de database kunnen halen.

Ik dacht aan een API, maar hoe te werk?
Dat legt Bo ter Ham net uit ;-)
En waarom kan het neit gewoon met strings?
Je kan ook die json_decode/encode weglaten. Maar ik raad het aan, omdat het twee verschillende waarden zijn.
De andere persoon mag toch, neem ik aan, wel filteren op wat hij nou precies wilt zien?
Dat van Bo Ter Harmsel blijft een witte pagina.

Toevoeging op 09/09/2015 19:35:04:

Sorry! Mijn fout, en bedankt voor je code overigens Bo! Ik heb over je berichtje heen gekeken

Toevoeging op 09/09/2015 19:35:23:

@Aar Ja, dat klopt!

Toevoeging op 09/09/2015 19:36:28:

Oeps, het blijft wel wit..
Het lukt dus niet?
Wat heb je nu aan code?
Uhm, het beste is om op een of andere manier gestructureerde data aan te bieden (via XML, JSON, een of andere overeengekomen standaard) anders blijft het inderdaad één blok (ongestructureerde) tekst.

Daarnaast moet je duidelijk aangeven hoe je communiceert, en met welke encodering.

Het volgende lijkt mij dus beter:
<?php
header('Content-Type: application/json; charset=UTF-8');
echo json_encode(array(
    'your' => 1,
    'stuff' => 2,
   'here' => 3,
));
?>


En als je deze data getautomatiseerd wilt ophalen (via een anders script) zul je dit met file_get_contents() of equivalent moeten doen.
Inmiddels werkt het script van @Bo.

Hoe kan ik ervoor zorgen dat als je direct naar de link toe gaat waar de info vandaan gehaald wordt je geen toegang tot het bestand hebt, dit werkt niet:


if(strtolower(basename($_SERVER['PHP_SELF'])) == strtolower(basename(__FILE__))) {
	die('Geen toegang!');
}
Waarom wil je dit? Hoe moet een externe gebruiker de data dan ophalen?
Precies. Daar heb je $_GET['key'] toch voor? Die moet je ook gewoon controleren.
En eventueel direct een nieuwe genereren, die ook in je JSON meegeven zodat bij een bezoek (request) een nieuwe key nodig is.
Wel extra werk, maar sleutels kunnen niet 'gestolen' worden en zijn dus maar van eenmalig gebruik.

Reageren