30. juli 2006 - 17:56Der er
19 kommentarer og 1 løsning
problemer med sletning af bruger
Har det her link på betalt.php: <a href=\"setup.php?do=slet&id=$row[id]\">Slet bruger</a>
og her er setup.php som sletter bruger: $do = $_REQUEST['do']; $id = $_REQUEST['id'];
IF ($do == "slet") { mysql_query("DELETE FROM tilmelding WHERE `id`='$id'") OR DIE (mysql_error()); $email = $row["email"]; mail("$email","sletning af $row[email]","du er slettet!", "From: no-reply@mail.dk"); $sletningkopi = "info@mail.dk"; mail("$sletningkopi","sletning af $row[email]","$row[navn]s (id: $row[id]) reservation er blevet slettet da betalingen er udeblevet efter de 5 dage var gået!", "From: no-reply@mail.dk"); HEADER("Location: betalt.php");
}
mit problem er så at den godt nok sletter den rigtige bruger og sender e-mails ud, men den sender også besked om at resten af brugerne er slettet (selvom de ikke er). Det virkede fint nok, men så lavede jeg et eller andet i "betalt.php" som gjorde den sendte emails ud til alle.. Har ingen anelse om hvad det var der gjorde det, men har nogen en idé om hvad der er galt?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
I og med det er noget brugerhallöj, er det så ikke, af sikkerhedshensyn, bedre at have id i en session? Som det er nu, kan jeg bare gå ind og vilkårligt pröve at skrive et id i adressefeltet.
michael, både betalt.php og setup.php er under admin.. ved ikke om ejg får brug for sessions fordi siden ikke er så stor at misbrug vil blive en betydelig faktor.
$query = mysql_query("SELECT * FROM `tilmelding` WHERE `godkendt`='yes' ORDER BY stoptid DESC") OR DIE (mysql_error()); WHILE ($row = mysql_fetch_array($query)) { echo "<tr> <td align=\"center\">$row[id]</td> <td align=\"center\">$row[navn]</td> <td align=\"center\">$row[email]</td> <td align=\"center\">$row[tlf]</td> <td align=\"center\">$row[antal]</td> <td align=\"center\">$row[ophentning]</td> <td align=\"center\"><a href=\"setup.php?do=fjern&id=$row[id]\">Fjern betaling</a> </td> <td align=\"center\"><a href=\"setup.php?do=godkend&id=$row[id]\">Godkend betaling</a> </td> <td align=\"center\"><a href=\"setup.php?do=slet&id=$row[id]\">Slet bruger</a></td> </tr>"; }
?>
det underlige er at jeg, som I nok kan se, har en "fjern betaling" (og en "godkend betaling") og de 2 virker helt fint. Der sender den e-mails til de rigtige og kun dem.
IF ($do == "fjern") { mysql_query("UPDATE `tilmelding` SET `godkendt`='no' WHERE `id`='$id'") OR DIE (mysql_error());
$email = $row["email"]; mail("$email","betaling annuleret","Hej $row[navn] (id: $row[id])!\nDu er blevet fjernet af listen over folk som har betalt for sin billet.","From: no-reply@mail.dk");
mysql_query("DELETE FROM ´tilmelding´ WHERE `id`='$id'") OR DIE (mysql_error()); $email = $row["email"]; mail("$email","sletning af $row[email]","Hej $row[navn]!\nDin reservation er blevet slettet enten fordi betaling er udeblevet efter de 5 dage var gået", "From: no-reply@mail.dk"); $sletningkopi = "info@mail.dk"; mail("$sletningkopi","sletning af $row[email]","$row[navn]s (id: $row[id]) reservation er blevet slettet da betalingen er udeblevet efter de 5
dage var gået!", "From: no-reply@mail.dk"); HEADER("Location: betalt.php");
den bliver ved med at give mig fejlen You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '´tilmelding´ WHERE `id`='19'' at line 1
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.