Datensatz löschen

Genesyst

Mitglied
Guten morgen zusammen,

ich habe ein kleines Problem. (Oh Wunder) Wir haben auf unserer Seite ein bestehendes System übernommen, bei dem User Informationen über sogenannte Gilden hinterlassen können. Leider funktioniert das Löschen dieser nicht, und wir wissen leider nicht warum. Ich poste hier einmal den Code, vllt erkennt ja hier jemand den Fehler, ich mit meinen minderen Kenntnissen stehe da vor einer Wand.

Zu dieser Datei werden wir geleitet wenn wir auf Löschen klicken, wobei wir mit unserem Benutzernamen alle Einträge aufgeschlüsselt bekommen, während normale User nur ihren eigenen Eintrag bekommen.

PHP:
<?php
include("start.php");
include("var.inc.php");
include("gh_menu.php");
$da="0";
$verbindung=@mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname);
$lesen="SELECT id,gildenname,level FROM gh WHERE gildenname='$loginname' LIMIT 1";
$query=mysql_query($lesen);
$row=mysql_fetch_object($query);
IF($row->level=="1")
 {
  IF($loginname==$row->gildenname)
  {
   $da="1";
  }
 }
$lesen="SELECT id, gildenname, level FROM gh ORDER by gildenname";
$query=mysql_query($lesen);
WHILE($row=mysql_fetch_object($query))
{
 IF($da=="1")
 {
  print"$row->gildenname [<a href=\"content.php?inc=gildenhalle.gh_del2.php&gilde_id=$row->id\"><font color=\"red\">l&ouml;schen</font></a>]<br>";
 }
 ELSEIF($da=="0")
 {
  IF($loginname==$row->gildenname)
  {
   print"$row->gildenname [<a href=\"content.php?inc=gildenhalle.gh_del2.php&gilde_id=$row->id\"><font color=\"red\">l&ouml;schen</font></a>]<br>";
  }
 }
}
mysql_close($verbindung);
print"<br><br><br>";
?>
Die Links sind übrigens so "komisch", weil das Ganze in ein CMS eingebunden ist (Apexx).

Die gh_del2.php sieht dann so aus:

PHP:
<?php
include("start.php");
include("var.inc.php");
include("gh_menu.php");
$da="0";
$verbindung=@mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname);
$lesen="SELECT id,gildenname,level FROM gh WHERE gildenname='$loginname' LIMIT 1";
$query=mysql_query($lesen);
$row=mysql_fetch_object($query);
IF($row->level=="1")
 {
  IF($loginname==$row->gildenname)
  {
   $da="1";
  }
 }
$lesen="SELECT id, gildenname, level FROM gh ORDER by gildenname";
$query=mysql_query($lesen);
WHILE($row=mysql_fetch_object($query))
{
 IF($da=="1")
 {
  $del="DELETE FROM gh WHERE id='$gilde_id'";
  $query=mysql_query($del);
  print"Gilde wurde erfolgreich gel&ouml;scht!";
 }
 ELSEIF($da=="0")
 {
  IF($loginname==$row->gildenname)
  {
   $del="DELETE FROM gh WHERE id='$gilde_id'";
   $query2=mysql_query($del);
   print"Gilde wurde erfolgreich gel&ouml;scht!";
  }
 }
}
IF(session_is_registered('loginname'))
{
 session_destroy();
}
mysql_close($verbindung);
print"<br><br><br>";
?>
Es gibt noch eine dritte datei, die glaube ich der del2 ähnelt, und als Alternative gedacht ist, es funktioniert aber bei beiden nicht. Diese gh_del3 sieht so aus:

PHP:
<?php

 error_reporting(E_ALL);
 
 include("start.php");
 include("var.inc.php");
 include("gh_menu.php");
 
 echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td>";
 
 $da="0";
 
 if (isset ($_REQUEST['gilde_id'])) {
     echo "Gilde ist " . $_REQUEST['gilde_id'] . "<br />";
     echo "Mein Login: " . $loginname . "<br />";
     $delgilde = $_REQUEST['gilde_id']; 
     
     $lesen="SELECT id,gildenname,level FROM gh WHERE gildenname = '$loginname' LIMIT 1";
    $query = mysql_query($lesen);
     
     while ($row = mysql_fetch_object($query)) {
        if ($row->level == "1") {
            if ($loginname == $row->gildenname) {
                   $da="1";
                   $del="DELETE FROM gh WHERE id='$gilde_id' LIMIT 1";
                   if (mysql_query($del)) {              
                       print"Gilde wurde erfolgreich gel&ouml;scht!";
                   } else {
                       echo "Fehler beim Löschen ... ";
                   }    
                   
              } else {
                  echo "Unauthorized Access ... Go away !";
              }
         }
     }
 } else {
     echo "Keine Gilde gewählt ...";
 }
 
 echo "</td></tr></table>";
 
?>
Wenn wir nun auf Löschen klicken werden wir zwar weiter geleitet, aber es kommt keine Meldung, weder die eine, noch die Andere.

Kann jemand vllt erkennen warum die etwaige Gilde nicht gelöscht wird?

Ich danke euch vielmals für die Hilfe!

Einen schönen Sonntag noch,

Genesys
 
Mal aus allen mysql_query()s
PHP:
mysql_query($sql) or die(mysql_error());
machen.
Wenn es MySQL-Fehler gibt siehst du die dann, ansonsten sind PHP die "Fehler" nämlich egal.
 
Grüsse dich newX,

ich habe deine Anweisung verfolgt, allerdings kommen keinerlei Fehlermeldungen. soabld ich auf löschen klicke springt das Ganze zB zu dieser URL
Code:
dieurl/content.php?inc=gildenhalle.gh_del2.php&gilde_id=30

Aber es kommt keine Meldung, weder eine Fehlermeldung, noch das irgendetwas gemacht wurde. Wenn ich dann in die Übersicht zurück gehe steht die Gilde immer noch da.:|

Ich habe schon in der Datenbank geguckt ob die Angaben auch alle stimmen, aber da ist nichts falsch. :|

Danke erneut!
 
Zurück