update,delete etc
Nu ben ik dus al zover, om maximaal 5 berichten te laten zien die binnen zijn gekomen.
Piet heeft vijf berichten in de database, als hij inlogt krijgt hij vijf berichten te zien,
rita heeft drie berichten in de database, als zij inlogt krijgt ze drie berichten te zien.
Nu wil ik iets maken dat als je klikt op verwijder alle berichten, dat hij de inhoud van meerdere rijen uit de datebase verwijdert. of vervangt met de tekst geen berichten.
Dan leegt hij van 'users' 'bericht1','bericht2','bericht3','bericht4','bericht5',
Nu heb ik vanalles al geprobeert, maar ik kom er niet aan.
kan iemand mij helpen?
Laat eens zien wat je hebt geprobeerd.
En je hebt verwijderen en verwijderen. Je kunt er ook voor kiezen om berichten niet meer te tonen aan gebruikers, dus je bewaart ze wel, ze zijn alleen niet meer zichtbaar voor deze users. Het zal ongetwijfeld een keer voorkomen dat iemand "PER ONGELUK" zijn/haar berichten heeft weggegooid, dat kun je dan eenvoudig herstellen.
Dan nog het volgende: gebruikers sturen elkaar berichten.
Persoon A stuurt dus een bericht aan persoon B. Dit bericht staat waarschijnlijk in een lijst van verzonden berichten van persoon A, en in een lijst van ontvangen berichten van persoon B. Je wilt waarschijnlijk niet dat als B een trits berichten weggooit, dat A deze dan ook niet meer ziet? Dat is net zoiets als dat ik jouw inbox/outbox kan legen (van de berichten van mij althans).
Denk nog eens goed na over hoe je PM-systeem moet werken vanuit de gebruikerskant.
klanten kunnen inloggen op een soort mijn klantenpaneel.
Ze hebben in de tabel user 5 velden, bericht1, bericht2 etc.
Wanneer ik een belangrijke mededeling voor een bepaalde klant heb, kan ik die dus toevoegen aan zijn profiel, zodat alleen hij dit binnenkrijgt. (het is een simpel klein systeem)
De berichten laat ik zien via:
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
<h1>Berichten</h1>
<p>Bericht(en): <?php echo $get_userdata['berichten']; ?> </p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel']; ?></p>
<p><?php echo $get_userdata['bericht']; ?></p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel2']; ?></p>
<p><?php echo $get_userdata['bericht2']; ?></p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel3']; ?></p>
<p><?php echo $get_userdata['bericht3']; ?></p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel4']; ?></p>
<p><?php echo $get_userdata['bericht4']; ?></p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel5']; ?></p>
<p><?php echo $get_userdata['bericht5']; ?></p>
<p>Bericht(en): <?php echo $get_userdata['berichten']; ?> </p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel']; ?></p>
<p><?php echo $get_userdata['bericht']; ?></p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel2']; ?></p>
<p><?php echo $get_userdata['bericht2']; ?></p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel3']; ?></p>
<p><?php echo $get_userdata['bericht3']; ?></p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel4']; ?></p>
<p><?php echo $get_userdata['bericht4']; ?></p>
<br>
<br>
<br>
<p><?php echo $get_userdata['titel5']; ?></p>
<p><?php echo $get_userdata['bericht5']; ?></p>
Als dit veld leeg is, dan staat er op de website ook niks.
Daarom moet ik een simpele link hebben met verwijder alle berichten om ze zo te verwijderen.
Ik weet dat er sql injectie mogelijk is dit is puur om te proberen en dingen uit te vinden.
Wat nu als je een 6e bericht wilt tonen? Ga je dan extra velden toevoegen? Hopelijk niet!
Geef elk bericht gewoon mee in een record, en koppel die aan de userID.
Gewijzigd op 03/07/2015 17:15:51 door - Ariën -
Ik wou het eerst automatiseren om het elke 7 dagen te verwijderen, daarom maar 5 velden.
Dus sla die berichten gewoon op met INSERT INTO, zodat ze elk een aparte record hebben, en sorteer ze met zo een query:
Code (php)
1
2
3
4
5
2
3
4
5
SELECT OntvangerUserID,AuteurUserID, bericht, titel, datumtijd
FROM berichten
WHERE OntvangerUserID = 42
ORDER BY datumtijd ASC
LIMIT 7
FROM berichten
WHERE OntvangerUserID = 42
ORDER BY datumtijd ASC
LIMIT 7
Want waarom zou je de oude weg willen gooien terwijl ze nog eens interessant kunnen zijn?
Gewijzigd op 03/07/2015 17:25:46 door - Ariën -
Bedankt voor jullie reacties!
Graag gedaan. Ik hoop dat je er uitkomt, en anders horen we het wel.
Jasper Schellekens op 03/07/2015 17:06:14:
Het is geen pm systeem.
klanten kunnen inloggen op een soort mijn klantenpaneel.
Ze hebben in de tabel user 5 velden, bericht1, bericht2 etc.
klanten kunnen inloggen op een soort mijn klantenpaneel.
Ze hebben in de tabel user 5 velden, bericht1, bericht2 etc.
Wait, what?
Jasper Schellekens op 03/07/2015 17:06:14:
Wanneer ik een belangrijke mededeling voor een bepaalde klant heb, kan ik die dus toevoegen aan zijn profiel, zodat alleen hij dit binnenkrijgt. (het is een simpel klein systeem)
Hoe is dat geen PM systeem?
Bonus ending: geen escaping in output?
Gewijzigd op 03/07/2015 20:33:32 door Thomas van den Heuvel
Verder kennen we je escapingverhaal al, Thomas. Maar misschien sanitized (waarom spreken we eigenlijk over escapen?) hij de data al bij invoer? Het is niet altijd gewenst, maar persoonlijk zou ik alles in de $get_userdata standaard sanitizen.
Gewijzigd op 03/07/2015 20:41:05 door - Ariën -