Datensatz löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datensatz löschen

    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-Code:
    <?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-Code:
    <?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-Code:
    <?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

  • #2
    Bitte lies und befolge unsere Regeln: Code umbrechen, mysql_error() einbauen, exakte Fehlerbeschreibung angeben.

    Kommentar

    Lädt...
    X