Hallo zou iemand kunnen uitleggen hoe ik $_GET moet toevoegen aan de site? Ik hoorde namelijk dat dat makkelijker is dan hoef je niet steeds de script de CTRL + C en CTRL + V te gebruiken
Ik hoop van jullie te horen en goede uitleg te krijgen
$_GET is gewoon een globale array variable waarin de parameters zitten van de url welke is megegeevn in de adresbar;
vb: www.domain.tld/pagina.php?p1=x&p2=b
dus www.domain.tld is jouw website.
pagina.php is het lopende script
vanaf het vraagteken beginnen de meegegeven parameters deze worden gescheiden door &
in het voorbeeld heb je dus parameter p1 en p2 met respectievelijke waarden a en b
in jouw script roep je deze dan aan als
<?php
$gezamelijkeparamters = $_GET['p1'] . $_GET['p2']; //opm: stom voorbeeldje :) Je doet natuurlijk iets interessanter
?>
Ik had van Thijs (die ik ken) begrepen dat hij een script had om verschillende treinsoorten op te halen.
Dit script kopieerde hij voor elke treinsoort naar een eigen directory. Nu wil hij dit blijkbaar terugbrengen naar één script om elke treinsoort op te halen via $_GET.
[size=xsmall]Toevoeging op 12/11/2020 17:41:15:[/size]
Even een stukje voorbeeld wat je wilt bereiken.
In dit geval gebruik ik de procedurele notatie van MySQLi, en geen PDO.
De connectie bevindt zich in $conn, en die moet je zelf even aanmaken.
<?php
// controleer of de GET-waarde (dus: ?treinsoort=...) bestaat.
if(isset($_GET['treinsoort'])) {
// er is een waarde via $_GET ingevoerd.
// Dit is de plek waar je dit gaat afhandelen voor de meegestuurde GET-waarde....
// we gaan aan de database vragen of hij de treintype kan ophalen.
$result = mysqli_query($conn,"SELECT * FROM treintypes WHERE type = '".mysqli_real_escape_string($conn,$_GET['treinsoort'])."'");
// en kijken of die in de database bestaat.
if(mysqli_num_rows($result)>0) {
// We hebben het treintype gevonden in de database ('meer dan 0' vergelijking)
$data = mysqli_fetch_assoc($result);
// We maken er een array van, zodat we dit in PHP kunnen gebruiken.
echo "Dit is de treintype van: ".$data['naam'].", met als beschrijving: ".$data['beschrijving'];
} else {
// Uh oh, dit treintype is niet gevonden in de database.
echo "Dit treintype bestaat niet!";
}
} else {
// er is geen waarde meegegeven. Hier kan je bijvoorbeeld een lijst genereren met alle bestaande treintypes.
// We halen alle treintypes op...
$result = mysqli_query($conn,"SELECT * FROM treintypes");
// voor het gemak maken we een lijstje, met while() lopen we alle items door....
echo "<ul>";
while ($data = mysqli_fetch_assoc($result)) {
echo "<li>".$data['naam']."</li>";
}
echo "</ul>";
}
?>
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include 'functions.php';
// controleer of de GET-waarde (dus: ?treinsoort=...) bestaat.
if(isset($_GET['treinsoort'])) {
// er is een waarde via $_GET ingevoerd.
// Dit is de plek waar je dit gaat afhandelen voor de meegestuurde GET-waarde....
// we gaan aan de database vragen of hij de treintype kan ophalen.
$result = mysqli_query($conn,"SELECT * FROM treinsoort WHERE type = '".mysqli_real_escape_string($conn,$_GET['treinsoort'])."ddar");
// en kijken of die in de database bestaat.
if(mysqli_num_rows($result)>0) {
// We hebben het treintype gevonden in de database ('meer dan 0' vergelijking)
$data = mysqli_fetch_assoc($result);
// We maken er een array van, zodat we dit in PHP kunnen gebruiken.
echo "Dit is de treintype van: ".$data['ddar'].", met als beschrijving: ".$data['beschrijving'];
} else {
// Uh oh, dit treintype is niet gevonden in de database.
echo "Dit treintype bestaat niet!";
}
} else {
// er is geen waarde meegegeven. Hier kan je bijvoorbeeld een lijst genereren met alle bestaande treintypes.
// We halen alle treintypes op...
$result = mysqli_query($conn,"SELECT * FROM treinsoort");
// voor het gemak maken we een lijstje, met while() lopen we alle items door....
echo "<ul>";
while ($data = mysqli_fetch_assoc($result)) {
echo "<li>".$data['naam']."</li>";
}
echo "</ul>";
}
?>
<?=template_header('transport-Forum')?>
<?=template_footer()?>
<script>
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
</script>
Script is voor het menu
En krijg deze melding
Notice: Undefined variable: conn in /var/www/vhosts/transport-forum.com/nl.transport-forum.com/ns/treinstellen/ddar/index.php on line 29
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /var/www/vhosts/transport-forum.com/nl.transport-forum.com/ns/treinstellen/ddar/index.php on line 29
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /var/www/vhosts/transport-forum.com/nl.transport-forum.com/ns/treinstellen/ddar/index.php on line 32
En ik weet niet of je het al door hebt, maar je plaatst het nog steeds in een aparte directory. Dat is juist niet meer nodig! ;-)
Dit zou prima in /treinstellen/index.php passen.
Daarnaast zou je jouw output, en dus je HTML, IN je script moeten verwerken. Het is dus niet de bedoeling om dit script erboven te plaatsen.
Lees de gele commentaren anders nog eens om je wegwijs te maken.