mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 23.04.2024 17:47 Benutzername: Passwort: Auto-Login

Thema: Account löschen-Funktion vom 25.05.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Account löschen-Funktion
Seite: 1, 2  Weiter
Autor Nachricht
Vampiresa
Threadersteller

Dabei seit: 22.05.2007
Ort: Hohenhameln
Alter: 38
Geschlecht: Weiblich
Verfasst Fr 25.05.2007 09:02
Titel

Account löschen-Funktion

Antworten mit Zitat Zum Seitenanfang

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&ouml;schen</span></a>

link im htmlcode


greetz vampi
  View user's profile Private Nachricht senden
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 25.05.2007 09:17
Titel

Re: Account löschen-Funktion

Antworten mit Zitat Zum Seitenanfang

Vampiresa hat geschrieben:
..., danach wird der User gekickt.

uuuuund .. das bedeutet was genau?
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Vampiresa
Threadersteller

Dabei seit: 22.05.2007
Ort: Hohenhameln
Alter: 38
Geschlecht: Weiblich
Verfasst Fr 25.05.2007 09:37
Titel

Antworten mit Zitat Zum Seitenanfang

das der User, nachdem er die nachfrage bestätigt hat, gebeten wird sich aufgrund eines übertragungsfehlers neu einzuloggen.
  View user's profile Private Nachricht senden
derSchmidi

Dabei seit: 07.03.2007
Ort: -
Alter: 34
Geschlecht: Männlich
Verfasst Fr 25.05.2007 09:44
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
Vampiresa
Threadersteller

Dabei seit: 22.05.2007
Ort: Hohenhameln
Alter: 38
Geschlecht: Weiblich
Verfasst Fr 25.05.2007 10:47
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
Flextone

Dabei seit: 29.06.2005
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Fr 25.05.2007 15:16
Titel

Antworten mit Zitat Zum Seitenanfang

Kein ECHO um die UID dort auszugeben? Normal müsste es doch gemacht werden oder?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Fr 25.05.2007 20:06
Titel

Antworten mit Zitat Zum Seitenanfang

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&ouml;schen</span></a>

Müßte heissen:
Code:
onclick="Abfrage('Wollen Sie diesen User wirklich löschen?','profil.php?&amp;action=delete&amp;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:
Code:
<?= $var ?>

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
  View user's profile Private Nachricht senden
derSchmidi

Dabei seit: 07.03.2007
Ort: -
Alter: 34
Geschlecht: Männlich
Verfasst So 27.05.2007 02:03
Titel

Antworten mit Zitat Zum Seitenanfang

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:
Code:
<?= $var ?>

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.
  View user's profile Private Nachricht senden
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.