Session geef verkeerde informatie
Zie onder
Gewijzigd op 01/01/1970 01:00:00 door Lol lol
Zet dit bovenin je script.
Zie onder
Gewijzigd op 01/01/1970 01:00:00 door lol lol
gebruik om te checken of iets gepost is dmv:
if( $_SERVER['REQUEST_METHOD'] == "POST" ) {
//blurb
}
if( $_SERVER['REQUEST_METHOD'] == "POST" ) {
//blurb
}
Misschien heb ik wat over het hoofd gezien, maar "op de ene pagina lukken sessies wel, en de andere niet meer" lijkt mij gewoon dat je niet álle pagina's begint met
(Ook nog voor de error reporting, echt helemaal bovenaan)
(Ook nog voor de error reporting, echt helemaal bovenaan)
Zie onder
Gewijzigd op 01/01/1970 01:00:00 door lol lol
Zie onder
Gewijzigd op 01/01/1970 01:00:00 door lol lol
Je bent percies ook niet beveiligd tegen SQL injections??? is ook altijd goed he
'Matthias:
Je bent percies ook niet beveiligd tegen SQL injections??? is ook altijd goed he
Inderdaad, maar ik had wel wat beveiliging er in, alleen heb dit er even tijdelijk uitgehaald voor het debuggen.
*bump*
PS:
Mag een action leeg zijn?
Ik heb dit gedaan zodat ik op iedere pagina kan inloggen alleen weet ik niet zeker of dit mag..
PS:
Mag een action leeg zijn?
Ik heb dit gedaan zodat ik op iedere pagina kan inloggen alleen weet ik niet zeker of dit mag..
Een lege action stuurt je naar de url waarop het formulier wordt getoond.
Zie onder
Gewijzigd op 01/01/1970 01:00:00 door lol lol
Waarschijnlijk omdat je checkt ofdat $username en $password gepost zijn, deze zijn alleen gepost, na het verzenden van het formulier.
Er moet een IF statement vóór die if, dus eerst kijken of de sessie al bestaat, bijv. door een session_id o.i.d. of je checkt gewoon simpelweg of er al een sessie bestaat.
Er moet een IF statement vóór die if, dus eerst kijken of de sessie al bestaat, bijv. door een session_id o.i.d. of je checkt gewoon simpelweg of er al een sessie bestaat.
Zie hier onder
Gewijzigd op 01/01/1970 01:00:00 door lol lol
Hallo allemaal,
Aangezien dit probleem weer over sessions gaan, dacht ik dat het beter was om dit topic te gebruiken dan een nieuwe te starten.
(Als het beter was om een nieuwe te starten, mijn excuses.)
Ik ben bezig met een admin pagina waar ik mijn berichten kan zien die ik heb gepost op de voorpagina en daar bij wil ik dan ook gelijk de optie hebben om de berichten te kunnen bewerken en verwijderen.
Nu is het probleem dat ik, als ik op bewerken klik dan ga ik naar een andere pagina die mij dan instaat stelt om mijn bericht te bewerken.
Nu heb ik een beetje zitten na denken over hoe ik kan kijken welk bericht ik heb aan geklikt en kwam ik er op uit dat ik het met sessions moet doen.
Nu heb ik in de pagina waar ik mijn berichten kan zien een query opgesteld dat alle data weer geeft, tijdelijk voor het debuggen ook het ID, nu geef ik het ID, dat van het bericht is die in de database staat en doe ik dat in een session.
Op de pagina bewerken roep ik de session op, maar kom ik op het probleem dat dit continue de zelfde waarde geeft, in dit geval 12, en dat betekend dus dat ik de andere berichten niet kan bewerken.
Misschien allemaal een beetje omslachtig uitgelegd maar ik zal de codes er bij zetten.
PS:
Ik gebruik wel session_start, maar dit staat hier niet in, omdat mijn pagina's worden geincluded.
Pagina die de berichten weer geeft:
Momenteel heb ik voor het debuggen op de pagina bewerken alleen nog maar staan;
Maar deze blijft de waarde 12 hebben.
Mijn vraag is dan ook, hoe kan ik het ID meegeven die in de database staat, zodat ik het bericht dat ik heb geselecteerd kan bewerken.
Alvast bedankt!
Aangezien dit probleem weer over sessions gaan, dacht ik dat het beter was om dit topic te gebruiken dan een nieuwe te starten.
(Als het beter was om een nieuwe te starten, mijn excuses.)
Ik ben bezig met een admin pagina waar ik mijn berichten kan zien die ik heb gepost op de voorpagina en daar bij wil ik dan ook gelijk de optie hebben om de berichten te kunnen bewerken en verwijderen.
Nu is het probleem dat ik, als ik op bewerken klik dan ga ik naar een andere pagina die mij dan instaat stelt om mijn bericht te bewerken.
Nu heb ik een beetje zitten na denken over hoe ik kan kijken welk bericht ik heb aan geklikt en kwam ik er op uit dat ik het met sessions moet doen.
Nu heb ik in de pagina waar ik mijn berichten kan zien een query opgesteld dat alle data weer geeft, tijdelijk voor het debuggen ook het ID, nu geef ik het ID, dat van het bericht is die in de database staat en doe ik dat in een session.
Op de pagina bewerken roep ik de session op, maar kom ik op het probleem dat dit continue de zelfde waarde geeft, in dit geval 12, en dat betekend dus dat ik de andere berichten niet kan bewerken.
Misschien allemaal een beetje omslachtig uitgelegd maar ik zal de codes er bij zetten.
PS:
Ik gebruik wel session_start, maar dit staat hier niet in, omdat mijn pagina's worden geincluded.
Pagina die de berichten weer geeft:
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
52
53
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
52
53
<?php
include(inc/connect.php);
mysql_select_db("nieuws") or die("COULDNT SELECT DB :" . mysql_error());
$nieuwsquery = mysql_query("SELECT id, titel , bericht, datum, username FROM nieuws ORDER BY datum DESC")or die("COULDNT GET DATA FROM DB : " . mysql_error());
while($rij = mysql_fetch_assoc($nieuwsquery)){
$id = $rij['id'];
$titel = $rij['titel'];
$bericht = $rij['bericht'];
$datum = $rij['datum'];
$user = $rij['username'];
echo '
<table>
<tr>
<td>Titel:</td>
<td><strong>'. $titel . '</strong></td>
</tr>
<tr>
<td valign="top">Bericht:</td>
<td><strong> '. nl2br($bericht) . ' </strong></td>
</tr>
<tr>
<td>Datum:</td>
<td><strong> '. $datum .' </strong></td>
</tr>
<tr>
<td>Door:</td>
<td><strong> ' . $user . ' </strong></td>
</tr>
<tr>
<td> '.$id.'</td>
</tr>
<hr>
<br>
<tr>
<td><a href="?pagina=bewerken&onderdeel=admin">Bewerken</a></td>
<td><a href="">Verwijderen</a></td>
</tr>
</table>
<br>
<br>
';
$_SESSION['adminid'] = $id;
}
?>
include(inc/connect.php);
mysql_select_db("nieuws") or die("COULDNT SELECT DB :" . mysql_error());
$nieuwsquery = mysql_query("SELECT id, titel , bericht, datum, username FROM nieuws ORDER BY datum DESC")or die("COULDNT GET DATA FROM DB : " . mysql_error());
while($rij = mysql_fetch_assoc($nieuwsquery)){
$id = $rij['id'];
$titel = $rij['titel'];
$bericht = $rij['bericht'];
$datum = $rij['datum'];
$user = $rij['username'];
echo '
<table>
<tr>
<td>Titel:</td>
<td><strong>'. $titel . '</strong></td>
</tr>
<tr>
<td valign="top">Bericht:</td>
<td><strong> '. nl2br($bericht) . ' </strong></td>
</tr>
<tr>
<td>Datum:</td>
<td><strong> '. $datum .' </strong></td>
</tr>
<tr>
<td>Door:</td>
<td><strong> ' . $user . ' </strong></td>
</tr>
<tr>
<td> '.$id.'</td>
</tr>
<hr>
<br>
<tr>
<td><a href="?pagina=bewerken&onderdeel=admin">Bewerken</a></td>
<td><a href="">Verwijderen</a></td>
</tr>
</table>
<br>
<br>
';
$_SESSION['adminid'] = $id;
}
?>
Momenteel heb ik voor het debuggen op de pagina bewerken alleen nog maar staan;
Maar deze blijft de waarde 12 hebben.
Mijn vraag is dan ook, hoe kan ik het ID meegeven die in de database staat, zodat ik het bericht dat ik heb geselecteerd kan bewerken.
Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door lol lol
Je zal hierin <a href="?pagina=bewerkenonderdeel=admin" het id mee moeten geven.
Edit: En waarom staat er nu twee keer een = in?
Edit: En waarom staat er nu twee keer een = in?
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
'SanThe:
Je zal hierin <a href="?pagina=bewerkenonderdeel=admin" het id mee moeten geven.
Edit: En waarom staat er nu twee keer een = in?
Edit: En waarom staat er nu twee keer een = in?
Ik heb het geedit en waarschijnlijk wat te veel weggehaald, maar de correcte notatie is;
<a href="?pagina=bewerken&onderdeel=admin"></a>
Edit:
Ah, nu heb ik het door, ik heb een variabele aangemaakt voor het id in te zetten, nu heb ik het voor elkaar dat het, juiste, id er instaat.
Alleen nu heb ik het probleem nog, als ik de session echo, dat het nog steeds 12 weergeeft.
Ah, nu heb ik het door, ik heb een variabele aangemaakt voor het id in te zetten, nu heb ik het voor elkaar dat het, juiste, id er instaat.
Alleen nu heb ik het probleem nog, als ik de session echo, dat het nog steeds 12 weergeeft.
Gewijzigd op 01/01/1970 01:00:00 door lol lol
De session waarde wordt steeds overschreven in de loop. Dus dat ie steeds hetzelfde getal geeft is wel logisch.
'SanThe:
De session waarde wordt steeds overschreven in de loop. Dus dat ie steeds hetzelfde getal geeft is wel logisch.
Ik begrijp wat je bedoelt, maar kan het niet in praktijk brengen, naja, ik zal de code even meegeven.
Mijn berichten pagina;
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
52
53
54
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
52
53
54
<?php
include("inc/connect.php");
mysql_select_db("nieuws") or die("COULDNT SELECT DB :" . mysql_error());
$nieuwsquery = mysql_query("SELECT id, titel , bericht, datum, username FROM nieuws ORDER BY id DESC")or die("COULDNT GET DATA FROM DB : " . mysql_error());
while($rij = mysql_fetch_assoc($nieuwsquery)){
$id = $rij['id'];
$titel = $rij['titel'];
$bericht = $rij['bericht'];
$datum = $rij['datum'];
$user = $rij['username'];
$_SESSION['adminid'] = $id;
echo '
<table>
<tr>
<td>Titel:</td>
<td><strong>'. $titel . '</strong></td>
</tr>
<tr>
<td valign="top">Bericht:</td>
<td><strong> '. nl2br($bericht) . ' </strong></td>
</tr>
<tr>
<td>Datum:</td>
<td><strong> '. $datum .' </strong></td>
</tr>
<tr>
<td>Door:</td>
<td><strong> ' . $user . ' </strong></td>
</tr>
<tr>
<td> '.$id.'</td>
</tr>
<hr>
<br>
<tr>
<td><a href="?pagina=bewerken&adminid='. $_SESSION['adminid'] .'&onderdeel=admin">Bewerken</a></td>
<td><a href="">Verwijderen</a></td>
</tr>
</table>
<br>
<br>
';
}
?>
include("inc/connect.php");
mysql_select_db("nieuws") or die("COULDNT SELECT DB :" . mysql_error());
$nieuwsquery = mysql_query("SELECT id, titel , bericht, datum, username FROM nieuws ORDER BY id DESC")or die("COULDNT GET DATA FROM DB : " . mysql_error());
while($rij = mysql_fetch_assoc($nieuwsquery)){
$id = $rij['id'];
$titel = $rij['titel'];
$bericht = $rij['bericht'];
$datum = $rij['datum'];
$user = $rij['username'];
$_SESSION['adminid'] = $id;
echo '
<table>
<tr>
<td>Titel:</td>
<td><strong>'. $titel . '</strong></td>
</tr>
<tr>
<td valign="top">Bericht:</td>
<td><strong> '. nl2br($bericht) . ' </strong></td>
</tr>
<tr>
<td>Datum:</td>
<td><strong> '. $datum .' </strong></td>
</tr>
<tr>
<td>Door:</td>
<td><strong> ' . $user . ' </strong></td>
</tr>
<tr>
<td> '.$id.'</td>
</tr>
<hr>
<br>
<tr>
<td><a href="?pagina=bewerken&adminid='. $_SESSION['adminid'] .'&onderdeel=admin">Bewerken</a></td>
<td><a href="">Verwijderen</a></td>
</tr>
</table>
<br>
<br>
';
}
?>
Zoals je ziet heb ik toch weer die session in de loop gezet, dit komt omdat anders wordt de session niet gezet en het juiste id komt nu wel in de url te staan.
Mijn bewerk pagina: (waar het nu fout gaat)
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
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
<?php
include("inc/connect.php");
mysql_select_db("nieuws") or die("COULDNT SELECT DB :" . mysql_error());
$nieuwsquery = mysql_query("SELECT id, titel, bericht FROM nieuws WHERE id='".$_SESSION['adminid']."' ")or die("COULDNT GET DATA FROM DB : " . mysql_error());
while($rij = mysql_fetch_assoc($nieuwsquery)){
$id = $rij['id'];
$titel = $rij['titel'];
$bericht = $rij['bericht'];
}
$_SESSION['adminid'] = $id;
echo '
<table>
<tr>
<td><strong>De titel:</strong></td>
<td><input type="text" value="'.$titel.'"></td>
</tr>
<tr>
<td valign="top"><strong>Het bericht:</strong></td>
<td><textarea cols="50" rows="25">'.strip_tags(nl2br($bericht)).'</textarea></td>
</tr>
</table>
';
?>
include("inc/connect.php");
mysql_select_db("nieuws") or die("COULDNT SELECT DB :" . mysql_error());
$nieuwsquery = mysql_query("SELECT id, titel, bericht FROM nieuws WHERE id='".$_SESSION['adminid']."' ")or die("COULDNT GET DATA FROM DB : " . mysql_error());
while($rij = mysql_fetch_assoc($nieuwsquery)){
$id = $rij['id'];
$titel = $rij['titel'];
$bericht = $rij['bericht'];
}
$_SESSION['adminid'] = $id;
echo '
<table>
<tr>
<td><strong>De titel:</strong></td>
<td><input type="text" value="'.$titel.'"></td>
</tr>
<tr>
<td valign="top"><strong>Het bericht:</strong></td>
<td><textarea cols="50" rows="25">'.strip_tags(nl2br($bericht)).'</textarea></td>
</tr>
</table>
';
?>
Maar nu krijg ik nog steeds niet het juiste bericht te zien, continue krijg ik weer het bericht van ID 12 te zien. Nu ziet het er naar uit dat ik misschien niks heb gedaan, maar ik weet niet precies waar ik op moet zoeken, dus mijn excuses voor dat.
Gewijzigd op 01/01/1970 01:00:00 door lol lol
off-topic:
Serieus, waarom maak je al je posts leeg? Zo hebben mensen ook niets aan de zoekfunctie.
Serieus, waarom maak je al je posts leeg? Zo hebben mensen ook niets aan de zoekfunctie.
'roel:
off-topic:
Serieus, waarom maak je al je posts leeg? Zo hebben mensen ook niets aan de zoekfunctie.
Serieus, waarom maak je al je posts leeg? Zo hebben mensen ook niets aan de zoekfunctie.
OT:
Ik wou het wat overzichtelijker maken, maar nu je dit zegt heb je inderdaad gelijk, mijn excuses!




