Welche Art einer Delete Funktion ist am nützlichsten?

Hannibal

Erfahrenes Mitglied
Ich frage nach Erfahrung und der Meinung von Profis, wenn jetzt einer schreibt: "ist userabhängig" dann hilft er mir nicht besonders.

Also ich habe News auf meiner Seite und User mit einer ID => 2 die dürfen News Posten und nun bald Deleten wie würdet ihr die Deltet funktion gestalten?

Habt ihr mir ein beispiel einer Deltete Funktion, weil ich hab im Moment bei meiner TestVersion Div Probleme wie ich das Lösen will.

Ich dachte erst, jeder berächtigte hat unter jedem News-Eintrag einen Text wie "News löschen" und kann dort draufklicken um zu "Deleten"

doch wie mache ich diese am besten?

Ich hab einfach noch nicht ganz verstandne wie ich Funktionen in nur 1File über index.php?hallo=nein aufrufen kann..

Ich bekomm dann immer ein Klammern Chaos

Gruss Hannibal
 
Ich hab einfach noch nicht ganz verstandne wie ich Funktionen in nur 1File über index.php?hallo=nein aufrufen kann..
Tja, das gehört aber leider zum Grundwissen!
Bitte such dazu mal, da wirst du genug finden. Ausserdem solltest du es in jedem einigermaßen guten Buch finden!

Nun zum Problem:

Nehmen wir an, du hast eine Schleife, in der die News ins Dokument geschieben werden:
PHP:
while ($row = mysql_fetch_array($mysql_result)) {
  echo $row["message"]." ... ";
}
Dort kannst du ganz einfach einen Link mit einfügen, der zu einem Script verweist, das den entsprechenden Eintrag löscht.
Ich nehm mal an, du arbeitest mit Sessions und hast z.B. ein _SESSION["userid"] die ID des Users gespeichert.

Nun kannst du entsprechend der Userid den Link unter jeder Message reinschreiben:
PHP:
while ($row = mysql_fetch_array($mysql_result)) {
  echo $row["message"]." ... ";

  if ($_SESSION["userid"] >= 2) echo "<a href=\"delnews.php?newsid=".$row["id"]."\">Message löschen</a>";
}


Die delnews.php müsste dann etwa so aussehen: (Hier muss allerdings erneut eine Abfrage der Userid erfolgen, da sonst auch die User mit einer ID < 2 (Wohl nur einer :) ), die das System durchschaut haben, News löschen.)
PHP:
session_start();

if (isset($_GET["newsid"])) {

//MySQL Verbindungsaufbau ...

if ($_SESSION["userid"] >= 2) {
  mysql_query("DELETE FROM `newstable` WHERE `id`='".$_GET["newsid"]."'");

  echo "News erfolgreich gelöscht... <br> <a href=\"index.php\">weiter</a>";
} else {
  echo "Sorry, du hast nicht genügend Rechte um News zu löschen... <br> <a href=\"index.php\">weiter</a>";

}

} else {
  echo "Fehler: Nicht genügend Angaben zum News-löschen... <br> <a href=\"index.php\">weiter</a>";
}
 
Zurück