$_Get
Ik hoop van jullie te horen en goede uitleg te krijgen
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
Code (php)
1
2
3
2
3
<?php
$gezamelijkeparamters = $_GET['p1'] . $_GET['p2']; //opm: stom voorbeeldje :) Je doet natuurlijk iets interessanter
?>
$gezamelijkeparamters = $_GET['p1'] . $_GET['p2']; //opm: stom voorbeeldje :) Je doet natuurlijk iets interessanter
?>
Dit heeft niets te maken met ctrl-c /ctrl-v.
Jan
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.
Toevoeging op 12/11/2020 17:41:15:
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.
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
29
30
31
32
33
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
29
30
31
32
33
<?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>";
}
?>
// 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>";
}
?>
Gewijzigd op 12/11/2020 19:26:26 door - Ariën -
In de mysqli-functions komt eerst $conn en daarna de rest.
Dat soort vergissingen krijg je als je normaal enkel maar object-oriënted werkt.
Gewijzigd op 12/11/2020 19:27:20 door - Ariën -
beste heren. Bedankt voor de info. Ik heb de phpcontectie in een bestand staan met daar bij ook de lay-out.
Gewijzigd op 12/11/2020 22:54:28 door - Ariën -
Ik heb die code gebruikt.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?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>
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
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.
Gewijzigd op 13/11/2020 10:22:41 door - Ariën -
Nee Arien dat had ik niet door :P. Ik was even op bezoek vandaag. Zou er nu even na kijken
Als alles goed is, dan moet je uiteindelijk via bijv. /treinstellen/index.php?treinsoort=icm (of nog beter: /treinstellen/?treinsoort=icm) alle data van de ICM-soort zien.
De header van de template hoort bovenaan die code te staan:
Maar je moet er wel zelf zorg voor dragen dat de HTML-opbouw klopt.
Gewijzigd op 13/11/2020 15:54:35 door - Ariën -
Ik ga na het weekend weer verder ;-)
En is het nog gelukt?