Verwijder account script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

M grootveld

M grootveld

12/06/2011 21:36:12
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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>';
}

?>
 
PHP hulp

PHP hulp

21/11/2024 12:55:47
 
Jasper DS

Jasper DS

12/06/2011 21:38:36
Quote Anchor link
- sql injectie mogelijk
- geen foutafhandeling
- niet onnodig $vars kopiëren
- gebruik geen wildcard (*) maar selecteer de velden die je wilt ophalen

wat loopt er mis?
Gewijzigd op 12/06/2011 21:39:52 door Jasper DS
 
M grootveld

M grootveld

12/06/2011 21:42:21
Quote Anchor link
Hij toont dus alleen die witte pagina. Verder doet hij niets, het account blijven gewoon bestaan..

Heb ook verbinding met database, dat had ik getest door middel van:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$connect
= mysql_connect("localhost", "name", "password") or die("no connection");
mysql_select_db("db name") or die("no db selected");
?>
 
Jasper DS

Jasper DS

12/06/2011 21:44:06
Quote Anchor link
Or die kan je beter niet begrijpen + ik snap de logica van je script niet goed. Bouw een foutafhandeling in bij je query's en zet de error reporting aan.
 
Tobias Tobias

Tobias Tobias

12/06/2011 21:46:04
Quote Anchor link
moet else en if op regel 13/14 niet als elseif geschreven worden?
 
Jasper DS

Jasper DS

12/06/2011 21:47:46
Quote Anchor link
ik zou lijn 14 gewoon helemaal weg doen want uit lijn 9 volgt lijn 14 => lijn 14 kan dus weg
 
M grootveld

M grootveld

12/06/2011 21:55:44
Quote Anchor link
Bij nader inzien denk ik niet dat dit script echt veel nut heeft.

Weet iemand misschien waar ik een goed werkend script vandaan kan halen - liefst 1 met uitleg van wat er gebeurd?
 
Jasper DS

Jasper DS

12/06/2011 21:56:43
Quote Anchor link
Als ik dit bekijk denk ik dat je member systeem ook niet echt goed (lees veilig) is.
 
M grootveld

M grootveld

12/06/2011 21:58:18
Quote Anchor link
PHP Jasper op 12/06/2011 21:56:43:
Als ik dit bekijk denk ik dat je member systeem ook niet echt goed (lees veilig) is.


Daar zit inderdaad nog sql injectie in. Ben ik een oplossing voor aan het zoeken/code aan het invoeren.
 
Jasper DS

Jasper DS

12/06/2011 22:00:10
Quote Anchor link
Ik zou ook niet rekenen op de cookie maar eerder voor een sessie gaan met eventueel neg een check of de sessie geldig is.
 
M grootveld

M grootveld

12/06/2011 22:12:26
Quote Anchor link
PHP Jasper op 12/06/2011 22:00:10:
Ik zou ook niet rekenen op de cookie maar eerder voor een sessie gaan met eventueel neg een check of de sessie geldig is.


Komt er dus eigenlijk een beetje op neer dat dit script nutteloos is? - niet alleen door bovenstaande, maar ook gezien de andere reacties.
 
Jasper DS

Jasper DS

12/06/2011 22:14:32
Quote Anchor link
Ik heb de code natuurlijk nog niet bekeken.. Heb je het script zelf geschreven of heb je het van ergens?
 
M grootveld

M grootveld

12/06/2011 22:17:49
Quote Anchor link
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.
 
Jasper DS

Jasper DS

12/06/2011 22:22:39
Quote Anchor link
Kan je de link anders even sturen dan zal ik dat eens bezien.
 
M grootveld

M grootveld

12/06/2011 22:24:33
Quote Anchor link
Bedoel je de link van de site waar ik hem vandaan heb. De code van deze site staat hier bovenaan he?
 
Erik van de Locht

Erik van de Locht

12/06/2011 22:25:58
Quote Anchor link
Bij het DELETE statement selecteer je ook geen velden, dus DELETE * FROM is niet correct. DELETE verwijdert 1 of meerdere rijen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
DELETE FROM tabel WHERE kolom='waarde'
 
- Ariën  -
Beheerder

- Ariën -

12/06/2011 22:55:33
Quote Anchor link
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.
 
Dennis meijer

dennis meijer

12/06/2011 22:59:05
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.