Ik ben nu bezig met het scripten van een inbox.
Alleen nu wil ik berichten kunnen verwijderen.
Echter mag persoon A het bericht via de URL niet kunnen verwijderen van persoon B etc..
Heb zelf all dit;
<?php
if (isset($_GET['delete_id'])){
$mId = $_GET['delete_id'];
if($_SESSION['login-rank'] == 1) {
$query = "DELETE FROM inbox WHERE id = '$mId'";
$sql = mysql_query($query) or die(mysql_error());
echo 'Message is deleted from inbox.';
} elseif($_SESSION['login-rank'] != 1) {
echo 'You have no premission to delete!';
}
}
?>
De gebruiker is ingelogd onder; $_SESSION['login-name'];
Zo ja dan betekent het dat je ook een SELECT query uitvoert met de gegevens.
Dan kan je dus ook in die select query de gebruiker id die in de database opvragen en dan kan je toch gewoon zo checken?
<?PHP
/* Check. */
if($Rij['IDVANGERUIKERUITDB'] == $_SESSION['USERID'])
{
/* Hier die get en alles. */
}
else
{
/* GebruikerIDuitDB komt niet overeen met de SESESSIE ID
echo 'U kunt dit bericht niet deleten.';
}
?>
Kan zijn dat ik er helemaal naast zit, Maar als het goed is sla je ook het ID van de gebruiker op in de database bij inbox, Dus dan kan je in je DELETE query achter id = '".intval($mId)."' AND gebruikerID = '".intval($_SESSION['USERID'])."'
Misschien beetje onduidelijk maar ik hoop dat je het snapt.
Heb al 36 uur niet geslapen dus het denken en uitleggen begint wat moeilijker te worden.
@Ark: wordt toch eens tijd dan dat je je bed opzoekt? :-) Nachtelijk werk om een deadline te halen zorgt vaak voor meer problemen dan uitstel en fris aan het werk gaan.
<?php
$query = "DELETE FROM inbox WHERE id = '$mId' AND reciever = '" . $row_2['username'] . "'";
if(!$result = mysql_query($query)) {
echo 'Helaas er is een fout!';
if(DEBUG == true)
{
echo ': ' . mysql_errno() . ':' . mysql_error() . '(<pre>' . $sql . '</pre>)';
}
} else {
echo 'Succesful deleted.';
}
?>
Dit zou 't moeten doen, heb nu een bericht met het id 2 en de reciever is webmaster.
Maar als ik met Admin ben ingelogd krijg ik nog steeds gewoon de text; "Succesful deleted."