$_GET functie werkt niet zoals ik wil
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?
= 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.
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.
Maar dan geeft hij niks weer
Wat zit er volgens print_r() in $news?
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
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
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 -
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.
Dus ja ik heb == gebruikt en werkte niet en = ook gebruikt en ook die werkte niet.
Die moet je dus helemaal niet gebruiken. Post je huidige code eens.
Gewijzigd op 01/06/2022 23:39:13 door - Ariën -
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>";
}
?>
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.
Dat laatste moet je dus doen bij je $_GET[....]
Maar vooruit ...
if($_GET['menu'] = 'news'){
en
if($_GET['action'] = 'add') {
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