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>';
}
?>
- 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?
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:

<?php
$connect= mysql_connect("localhost", "name", "password") or die("no connection");
mysql_select_db("db name") or die("no db selected");
?>
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.
moet else en if op regel 13/14 niet als elseif geschreven worden?
ik zou lijn 14 gewoon helemaal weg doen want uit lijn 9 volgt lijn 14 => lijn 14 kan dus weg
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?
Als ik dit bekijk denk ik dat je member systeem ook niet echt goed (lees veilig) is.
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.
Ik zou ook niet rekenen op de cookie maar eerder voor een sessie gaan met eventueel neg een check of de sessie geldig is.
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.

Reageren