Autor |
Nachricht |
Vampiresa
Threadersteller
Dabei seit: 22.05.2007
Ort: Hohenhameln
Alter: 38
Geschlecht:
|
Verfasst Fr 25.05.2007 09:02
Titel Account löschen-Funktion |
|
|
Guten Morgen.
Ich hbrauche etwas Hilfe bei meinem Script zur Account löschen-Funktion.
Der User soll die Möglichkeit haben, im Profil seinen Account zu löschen.
Das Script funktioniert bis zur Bestätigung des Pop up-Fensters, danach wird der User gekickt.
Könnt ihr mir da weiterhelfen?
Hier der Code:
Code: | if ($action == "delete") //Hier sollte der gelöschte User auch aus dem Merkstring entfernt werden
{
?>
<script type="text/javascript">
<!--
alert('User wurde erfolgreich gelöscht.');
-->
</script>
<?
mysql_query("DELETE FROM User WHERE UID = '$UID'");
mysql_query("DELETE FROM Gutscheine WHERE Owner = '$UID'");
include("account_geloescht.html");
exit;
} |
php-code
Code: | <script>
<!--
function pruefen(url)
{
check = confirm("Sind Sie sich sicher, dass Sie diesen Eintrag loeschen wollen?");
if(check == true) window.location.href=url;
}
function Abfrage(Objekt, Ziel)
{
Check = confirm(Objekt);
if (Check == true) { window.location.href = Ziel; }
if (Check == "true") { window.location.href = Ziel; }
}
//-->
</script> |
javascriptcode im head-bereich
Code: | <A HREF="#" onClick="Abfrage('Wollen Sie diesen User wirklich löschen?','profil.php?&action=delete&UID=<?=$UID?>'); return false;"><span class="red">Account
löschen</span></a> |
link im htmlcode
greetz vampi
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 25.05.2007 09:17
Titel Re: Account löschen-Funktion |
|
|
Vampiresa hat geschrieben: | ..., danach wird der User gekickt. |
uuuuund .. das bedeutet was genau?
|
|
|
|
|
Anzeige
|
|
|
Vampiresa
Threadersteller
Dabei seit: 22.05.2007
Ort: Hohenhameln
Alter: 38
Geschlecht:
|
Verfasst Fr 25.05.2007 09:37
Titel
|
|
|
das der User, nachdem er die nachfrage bestätigt hat, gebeten wird sich aufgrund eines übertragungsfehlers neu einzuloggen.
|
|
|
|
|
derSchmidi
Dabei seit: 07.03.2007
Ort: -
Alter: 34
Geschlecht:
|
Verfasst Fr 25.05.2007 09:44
Titel
|
|
|
Ich hab ja davon jetzt auch nicht soo die Ahnung und ich bin mir sicher dass dir das nicht weiterhelfen wird aber mich interessierts
UID=<?=$UID?>
wozu ist dieses = gut?
|
|
|
|
|
Vampiresa
Threadersteller
Dabei seit: 22.05.2007
Ort: Hohenhameln
Alter: 38
Geschlecht:
|
Verfasst Fr 25.05.2007 10:47
Titel
|
|
|
die uid ist in meiner datenbank der primärschlüssel, der automatisch vergeben wird, also die user id.
das script prüft beim löschen die uid, damit auch der richtige user gelöscht wird.
|
|
|
|
|
Flextone
Dabei seit: 29.06.2005
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Fr 25.05.2007 15:16
Titel
|
|
|
Kein ECHO um die UID dort auszugeben? Normal müsste es doch gemacht werden oder?
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Fr 25.05.2007 20:06
Titel
|
|
|
Das Script sieht aber nicht besonders gut aus. Ohne Javascript funktioniert da ja gar nichts...
Aber wie auch immer:
An welcher Stelle des Scriptes tritt denn der Fehler auf?
Bis wohin wird dein Code denn noch ausgeführt?
Pack da z.B. hinter jede Zeile PHP-Code eine Ausgabe, so daß du sehen kannst, wo der Fehler auftritt.
Code: | echo "1";
if ($action == "delete")
{
echo "2";
?>
<script type="text/javascript">
<!--
alert('User wurde erfolgreich gelöscht.');
-->
</script>
echo "3";
<?
mysql_query("DELETE FROM User WHERE UID = '$UID'");
echo "4";
mysql_query("DELETE FROM Gutscheine WHERE Owner = '$UID'");
echo "5";
} |
usw.
Außerdem könntest du den Rückgabewert von mysql_query() checken.
Für Testzwecke könntest du die Zeile auch ein wenig abändern:
Code: | mysql_query("DELETE FROM User WHERE UID = '$UID'") or die( mysql_error() ); |
Außerdem ist dein Script anfällig für SQL-Injections, da du Werte, die von außen kommen, einfach ungeprüft in deine Abfragen einbaust.
Wenn da jetzt jemand SQL-Code per GET übergibt, könnte man eventuell deine Datenbank killen, Passwörter auslesen oder anderes tun.
EDIT:
Noch was. Sonderzeichen, die in HTML eine besondere Bedeutung haben, müssen zwingend maskiert werden.
Code: | <A HREF="#" onClick="Abfrage('Wollen Sie diesen User wirklich löschen?','profil.php?&action=delete&UID=<?=$UID?>'); return false;"><span class="red">Account
löschen</span></a> |
Müßte heissen:
Code: | onclick="Abfrage('Wollen Sie diesen User wirklich löschen?','profil.php?&action=delete&UID=<?=$UID?>'); |
EDIT 2:
Zitat: | UID=<?=$UID?>
wozu ist dieses = gut? |
Das ist eine Kurzform, die man nutzen kann, wenn man den Inhalt von nur einer einzigen Variable ausgeben will.
Statt
Code: | <?php
echo $var;
?> |
kann man dann auch schreiben:
Das funktioniert allerdings nur dann, wenn PHP dementsprechen konfiguriert ist.
In der php.ini muß SHORT_OPEN_TAGS (ich glaube, so heißt es) auf TRUE gesetzt werden.
Von der Nutzung dieser Kurzform würde ich allerdings abraten, da man sich nicht sicher sein kann, daß dies auf jedem Server funktioniert.
Zuletzt bearbeitet von rob am Fr 25.05.2007 20:11, insgesamt 2-mal bearbeitet
|
|
|
|
|
derSchmidi
Dabei seit: 07.03.2007
Ort: -
Alter: 34
Geschlecht:
|
Verfasst So 27.05.2007 02:03
Titel
|
|
|
rob hat geschrieben: | EDIT 2:
Zitat: | UID=<?=$UID?>
wozu ist dieses = gut? |
Das ist eine Kurzform, die man nutzen kann, wenn man den Inhalt von nur einer einzigen Variable ausgeben will.
Statt
Code: | <?php
echo $var;
?> |
kann man dann auch schreiben:
Das funktioniert allerdings nur dann, wenn PHP dementsprechen konfiguriert ist.
In der php.ini muß SHORT_OPEN_TAGS (ich glaube, so heißt es) auf TRUE gesetzt werden.
Von der Nutzung dieser Kurzform würde ich allerdings abraten, da man sich nicht sicher sein kann, daß dies auf jedem Server funktioniert. |
Achso, genau das wollte ich wissen, habs nämlich noch nie zuvor gesehn/benutzt.
Dankeschön.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Online-Chat Funktion - mit On und Offline Funktion
Account??
2 Domains auf einem Account
Frage zu Account hinzufügen bei Mac OS X
CalDav-Account auf iPhone nutzen?
POP3-Account-Erstellung bei Registrierung
|
|