Hallo,

Op mijn site staat een delete knop (voor account), waar een niet werkend script achter zit. Ik krijg geen foutmelding alleen een wit scherm.

De velden in mijn database zijn:

id
naam
password
username
date

Ik ben nogal een noob dus snap nog niet echt hoe ik dat moet doen. De bedoeling is dus dat de ingelogde gebruiker door middel van een verificatie zijn account kan verwijderen.

<?php
$connect= mysql_connect("localhost", "name", "password");
mysql_select_db("db name");

$id = $_GET['id'];
$user_query = mysql_query("SELECT * FROM users WHERE id='" . $_COOKIE['user_id'] . "'");
$user = mysql_fetch_assoc($user_query);

if($user['id']==$id)
{
mysql_query("DELETE * FROM `users` WHERE id='$id'");
}
else
if($user['id']!=$id)
{
echo 'You are trying to delete some one elses account.<br /><a href="myaccount.php">Back</a>';
}
?>
Ik heb de code natuurlijk nog niet bekeken.. Heb je het script zelf geschreven of heb je het van ergens?
Deze code heb ik van internet. Van een vergelijkbare engelse site als dit. Zelf ben ik nog een beetje een noob. Kan zeg maar alleen een forum/login/logout bouwen door middel van youtube filmpjes.
Kan je de link anders even sturen dan zal ik dat eens bezien.
Bedoel je de link van de site waar ik hem vandaan heb. De code van deze site staat hier bovenaan he?
Bij het DELETE statement selecteer je ook geen velden, dus DELETE * FROM is niet correct. DELETE verwijdert 1 of meerdere rijen.
DELETE FROM tabel WHERE kolom='waarde'
Waarom een gebruiker direct deleten? Mocht je e.v.t JOINS gebruiken dan heb je kans dat er opeens hele berichten verwijderd zullen raken in je ofurm, priveberichtensysteem e.d.

Is het gewoon niet raadzamer om een veld te maken bij de gebruiker met de naam 'verwijderd', waarmee je daarin kan aangeven of een gebruiker verwijderd is. Op die manier kan je zijn profiel disablen, de inlog disablen en andere gebruikers-gerelateerde acties.
je krijgt een wit scherm omdat je niet aangeeft dat je script iets moet laten zien als de query lukt?

dus bij de delete query regel moet nog een echo bij van gebruiker succesvol verwijderd.

dan laat die wss wel wat zien.

Reageren