$_GET functie werkt niet zoals ik wil
Bij deze code doet hij niet het gewenste wat ik wil
Zodra je op add klikt, krijg ik niet de gewenste output
news.php
Wat doe ik nu weer fout?
Zodra je op add klikt, krijg ik niet de gewenste output
news.php
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
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
<?php
$sql = 'SELECT * FROM News';
$result = mysqli_query($connect, $sql);
$news = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
mysqli_close($connect);
foreach($news as $new) {
if($_GET['menu'] = 'news'){
echo "
</tr></td>
<tr>
<td class='news_title_edit' colspan='1'>Title</td>
<td class='news_title_edit' colspan='1'><a href='index.php?action=add'>Add</a></td>
<td class='news_title_edit' colspan='1'>Edit</td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
</tr>
<tr>
<td class='news_title_edit' colspan='2'>".htmlspecialchars($new['Title'])."</td>
<td class='news_title_edit' colspan='1'>Edit</td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
</tr>";
}
}
if($_GET['action'] = 'add') {
echo "<tr><td colspan='6'>Adding no news</td></tr>";
}else{
echo "<tr><td colspan='6'>Adding news</td></tr>";
}
?>
$sql = 'SELECT * FROM News';
$result = mysqli_query($connect, $sql);
$news = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
mysqli_close($connect);
foreach($news as $new) {
if($_GET['menu'] = 'news'){
echo "
</tr></td>
<tr>
<td class='news_title_edit' colspan='1'>Title</td>
<td class='news_title_edit' colspan='1'><a href='index.php?action=add'>Add</a></td>
<td class='news_title_edit' colspan='1'>Edit</td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
</tr>
<tr>
<td class='news_title_edit' colspan='2'>".htmlspecialchars($new['Title'])."</td>
<td class='news_title_edit' colspan='1'>Edit</td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
</tr>";
}
}
if($_GET['action'] = 'add') {
echo "<tr><td colspan='6'>Adding no news</td></tr>";
}else{
echo "<tr><td colspan='6'>Adding news</td></tr>";
}
?>
Wat doe ik nu weer fout?
Gebruik ==
= is: toekennen van waarde aan variabele
== is: vergelijken van waardes.
Je wilt dus kijken of $_GET['action'] gelijk is aan add, news etc....
= is: toekennen van waarde aan variabele
== is: vergelijken van waardes.
Je wilt dus kijken of $_GET['action'] gelijk is aan add, news etc....
- Ariën - op 01/06/2022 23:00:29:
Gebruik ==
= is: toekennen van waarde aan variabele
== is: vergelijken van waardes.
Je wilt dus kijken of $_GET['action'] gelijk is aan add, news etc....
= is: toekennen van waarde aan variabele
== is: vergelijken van waardes.
Je wilt dus kijken of $_GET['action'] gelijk is aan add, news etc....
Ik wil dus eigenlijk dat ik news kan toevoegen door middel van een action add
maar nu doet hij dus niet wat ik wil.
Heb je mijn opmerking toegepast?
Wat gebeurt er nu dan?
Hoe ziet je URL eruit?
Komt hij wel in de foreach loop?
Wees zo specifiek mogelijk. Aan een reactie met: 'hij doet het niet', hebben we erg weinig.
Wat gebeurt er nu dan?
Hoe ziet je URL eruit?
Komt hij wel in de foreach loop?
Wees zo specifiek mogelijk. Aan een reactie met: 'hij doet het niet', hebben we erg weinig.
de url wordt dan bij add : index.php?action=add
Maar dan geeft hij niks weer
Maar dan geeft hij niks weer
Als hij niks weergeeft, dan kan het misschien aan je query liggen.
Wat zit er volgens print_r() in $news?
Wat zit er volgens print_r() in $news?
Dat geeft ie wel weer
De query haalt hij gewoon op, hij laad mij alles zien wat ik wil.
Zodra ik op add klik, geeft hij de output niet weer die ik in de echo heb staan
De query haalt hij gewoon op, hij laad mij alles zien wat ik wil.
Zodra ik op add klik, geeft hij de output niet weer die ik in de echo heb staan
Gebruik je wel de vergelijks-operator ==, zoals ik al heb gezegd?
Dan zou het moeten werken. Ik zie dat deze inderdaad buiten je foreach valt, dus naar die loop hoef je niet te kijken.
Dan zou het moeten werken. Ik zie dat deze inderdaad buiten je foreach valt, dus naar die loop hoef je niet te kijken.
ook al gebruik ik == of =, het doet niet wat het zou moeten doen
Haal die code daarboven eens weg. Het probleem isoleren helpt vaak.
Zorg dat je uiteindelijk een kleine compacte code hebt.
gewoon enkel dit:
Zoiets moet gewoon werken, of je URL klopt niet.
Zorg dat je uiteindelijk een kleine compacte code hebt.
gewoon enkel dit:
Code (php)
Zoiets moet gewoon werken, of je URL klopt niet.
Gewijzigd op 01/06/2022 23:36:49 door - Ariën -
>> ook al gebruik ik == of =, het doet niet wat het zou moeten doen
Programmeren is niet een soort gokken of zo. Ariën vraagt of je zijn advies hebt opgevolgd. Een antwoord daarop luidt: 'ja' of 'nee'. Maar niet "ook al gebruik ik ..."
Zo kunnen we je uiteraard niet helpen. Wees duidelijk.
Programmeren is niet een soort gokken of zo. Ariën vraagt of je zijn advies hebt opgevolgd. Een antwoord daarop luidt: 'ja' of 'nee'. Maar niet "ook al gebruik ik ..."
Zo kunnen we je uiteraard niet helpen. Wees duidelijk.
Ik heb beide opties geprobeerd, maar geen van beide werken.
Dus ja ik heb == gebruikt en werkte niet en = ook gebruikt en ook die werkte niet.
Dus ja ik heb == gebruikt en werkte niet en = ook gebruikt en ook die werkte niet.
>> ... en = ook gebruikt en ook die werkte niet.
Die moet je dus helemaal niet gebruiken. Post je huidige code eens.
Die moet je dus helemaal niet gebruiken. Post je huidige code eens.
Programmeren draait om WETEN wat je doet, en WETEN wat er gebeurt.
Gewijzigd op 01/06/2022 23:39:13 door - Ariën -
dit is de hele code zover
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
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
<?php
$sql = 'SELECT * FROM News ORDER BY ID DESC';
$result = mysqli_query($connect, $sql);
$news = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
mysqli_close($connect);
foreach($news as $new) {
if($_GET['menu'] = 'news'){
echo "
</tr></td>
<tr>
<td colspan='6' class='news_title_edit'><a href='index.php?action=add'>Add news</a></td>
</tr>
<tr>
<td class='news_title_edit' colspan='1'>Title</td>
<td class='news_title_edit' colspan='4'>Action</td>
<td class='news_title_edit' colspan='1'>Writer</td>
</tr>
<tr>
<td class='news_title_edit' colspan='1'>".htmlspecialchars($new['Title'])."</td>
<td class='news_title_edit' colspan='1'><a href='index.php?action=edit'>Edit</a></td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
<td class='news_title_edit' colspan='1'>".htmlspecialchars($new['Writer'])."</td>
</tr>";
}
}
if($_GET['action'] = 'add') {
include('./addnews.php');
}else{
echo "<tr><td colspan='6'>Adding news</td></tr>";
}
?>
$sql = 'SELECT * FROM News ORDER BY ID DESC';
$result = mysqli_query($connect, $sql);
$news = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
mysqli_close($connect);
foreach($news as $new) {
if($_GET['menu'] = 'news'){
echo "
</tr></td>
<tr>
<td colspan='6' class='news_title_edit'><a href='index.php?action=add'>Add news</a></td>
</tr>
<tr>
<td class='news_title_edit' colspan='1'>Title</td>
<td class='news_title_edit' colspan='4'>Action</td>
<td class='news_title_edit' colspan='1'>Writer</td>
</tr>
<tr>
<td class='news_title_edit' colspan='1'>".htmlspecialchars($new['Title'])."</td>
<td class='news_title_edit' colspan='1'><a href='index.php?action=edit'>Edit</a></td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
<td class='news_title_edit' colspan='1'>".htmlspecialchars($new['Writer'])."</td>
</tr>";
}
}
if($_GET['action'] = 'add') {
include('./addnews.php');
}else{
echo "<tr><td colspan='6'>Adding news</td></tr>";
}
?>
Tja.... = helpt natuurlijk niet.
Isoleer het probleem eens met compacte code, zoals ik al zei. Ik gaf net nog een voorbeeld.
Isoleer het probleem eens met compacte code, zoals ik al zei. Ik gaf net nog een voorbeeld.
Gewijzigd op 01/06/2022 23:40:47 door - Ariën -
Arno van Zanten op 01/06/2022 23:39:35:
dit is de hele code zover
En je laat gewoon de fouten waarop Ariën je heeft gewezen erin staan? Dat gaat natuurlijk nooit werken.
Geef aan welke dan A.U.B.
Ik blijf nog steeds de = zien, de == operator is voor vergelijken.
Dat laatste moet je dus doen bij je $_GET[....]
Dat laatste moet je dus doen bij je $_GET[....]
Of je leest zelf even de allereerste reactie die Ariën je gegeven heeft?
Maar vooruit ...
if($_GET['menu'] = 'news'){
en
if($_GET['action'] = 'add') {
Maar vooruit ...
if($_GET['menu'] = 'news'){
en
if($_GET['action'] = 'add') {
Nu doe ik dus dit
Ook dat werkt niet
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
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
<?php
$sql = 'SELECT * FROM News ORDER BY ID DESC';
$result = mysqli_query($connect, $sql);
$news = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
mysqli_close($connect);
foreach($news as $new) {
if($_GET['menu'] == 'news'){
echo "
</tr></td>
<tr>
<td colspan='6' class='news_title_edit'><a href='index.php?action=add'>Add news</a></td>
</tr>
<tr>
<td class='news_title_edit' colspan='1'>Title</td>
<td class='news_title_edit' colspan='4'>Action</td>
<td class='news_title_edit' colspan='1'>Writer</td>
</tr>
<tr>
<td class='news_title_edit' colspan='1'>".htmlspecialchars($new['Title'])."</td>
<td class='news_title_edit' colspan='1'><a href='index.php?action=edit'>Edit</a></td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
<td class='news_title_edit' colspan='1'>".htmlspecialchars($new['Writer'])."</td>
</tr>";
}
}
if($_GET['action'] == 'add') {
include('./addnews.php');
}else{
echo "<tr><td colspan='6'>Adding news</td></tr>";
}
?>
$sql = 'SELECT * FROM News ORDER BY ID DESC';
$result = mysqli_query($connect, $sql);
$news = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
mysqli_close($connect);
foreach($news as $new) {
if($_GET['menu'] == 'news'){
echo "
</tr></td>
<tr>
<td colspan='6' class='news_title_edit'><a href='index.php?action=add'>Add news</a></td>
</tr>
<tr>
<td class='news_title_edit' colspan='1'>Title</td>
<td class='news_title_edit' colspan='4'>Action</td>
<td class='news_title_edit' colspan='1'>Writer</td>
</tr>
<tr>
<td class='news_title_edit' colspan='1'>".htmlspecialchars($new['Title'])."</td>
<td class='news_title_edit' colspan='1'><a href='index.php?action=edit'>Edit</a></td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
<td class='news_title_edit' colspan='1'>".htmlspecialchars($new['Writer'])."</td>
</tr>";
}
}
if($_GET['action'] == 'add') {
include('./addnews.php');
}else{
echo "<tr><td colspan='6'>Adding news</td></tr>";
}
?>
Ook dat werkt niet




