Ik weet niet of ik aan het juiste adres ben maar ik probeer het toch maar.
Wij hebben op onze site een zoekformulier om te zoeken op naam. Dan krijg je een mooie tabel te zien met de gevonden overeenkomsten. Dat ziet er zo uit:
Naam - voornaam - geboortedatum - overlijdensdatum - downloaden - record nr. - type bestand.
Als iemand nu op downloaden klikt krijgt die het betreffende pdf of foto bestand te zien en kan die dat downloaden.
Maar nu willen we een stap verder gaan. Als je op downloaden of een andere uitdrukking zoals "meer info" zou klikken kom je op een pagina terecht waar aan de hand van het record nr. Meer relevante info uit de database getoond wordt.
Het komt erop neer dat ik het recordnr. als variabele moet doorgeven (wil doorgeven) naar een php pagina die dan het betreffende record uitleest.
Ik heb al het net afgezocht maar ik vind niet echt een oplossing. Alleen hoe je uit een formulier de variabelen kunt doorgeven met $Get of $Post.

Ik denk dat de oplossing ligt in zoiets:
<td style="text-align:center"><a href="https://fv-vl-ardennen.be/alijst/<?php echo $row["bestandsnaam"]; ?>">Downloaden</a> </td>

Dit is de code om naar een bepaald bestand te gaan maar dit zou iets moeten worden waardoor ik het recordnr. wil doorgeven naar een PHP pagina.
Iemand een tip hoe ik dit kan oplossen?
Je wilt dus niet direct iets downloaden?
Dan link je toch naar een script 'details.php?id=42', waar je de details op weergeeft en een downloadlink?
Ik wil geen aparte pagina's met details. Ik wil 1 (één) pagina waar ik aan de hand van het recordnummer dat record uitlees.

Kan je mij anders een code voorbeeld geven hoe je dit zou aanpakken. Ik snap het maar als ik code zie.

[size=xsmall]Toevoeging op 06/04/2021 10:40:59:[/size]

Ik heb iets te rap gereageerd denk ik. Verkeerd begrepen. Ik probeer het eens uit. Ben nog veel aan het leren.
Een PDF downloaden en een pagina om details uit de database ophalen, zijn twee aparte dingen.
Hm, je zult dan wel iets aan beveiliging moeten doen. Als iemand een link krijgt met id=42, dan is het natuurlijk niet heel moeilijk om te verzinnen dat id=41 ook wel werkt (en je dus de gegevens van heel iemand anders te zien krijgt).

Je zou bijvoorbeeld een controle hash toe kunnen voegen die je als volgt berekend:
<?php

$id = 42;
$salt = 'dit verzin je zelf';
$hash = md5($id . $salt);

$link = 'details.php?' . http_build_query(compact('id','hash'));

?>


Op de details.php pagina controleer je vervolgens of de meegegeven $_GET['hash'] wel klopt met het gegeven $_GET['id'], en alleen als dat het geval is toon je de gegevens. Op het moment dat iemand nu het id aanpast zal de hash niet kloppen (en hij weet het benodigde "salt" niet), en kan ie dus niet de gegevens van anderen inzien.
Daar kan ik iets me doen. Als is het niet belangrijk of ze de andere gegevens kunnen inzien. Ze foppen alleen zichzelf daarmee. De zoekers zijn mensen die bepaalde gegevens zoeken van bepaalde personen. Het zijn gegevens uit archief stukken.
Toch bedankt
Je kan bekijken hoe het werkt en waarover het gaat op

Maar in de toekomst wordt dit nog uitgebreid. Bijvoorbeeld naar huwelijksregisters. Daar spreken we dan van huwelijksdatum, plaats, naam echtgen(o)ote, getuigen enz. Dan kunnen ze zoeken, bijvoorbeeld, op alle namen.

Het komt erop neer dat we mensen willen laten documenten vinden zonder dat ze naar een archief moeten gaan.
Als je dat uit een database haalt, vergeet de escaping niet.
- Ariën - op 06/04/2021 12:12:11

Als je dat uit een database haalt, vergeet de escaping niet.


Dat ben ik ook nog aan het uitzoeken hoe ik dat moet aanpakken.
Daarom kunnen ze nu op het zoekformulier alleen maar zoeken op de 26 letters. Zonder tekens of zo. Dus geen aanhalingstekens, slash of backslash enz.
Gebruik je MySQLi (Procedureel of OO), of PDO?
- Ariën - op 06/04/2021 12:27:45

Gebruik je MySQLi (Procedureel of OO), of PDO?

Je moet PostgreSQL gebruiken, net als ik! :-)

Reageren