Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Datensatz löschen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Datensatz löschen


 
Genesys
15-10-2006, 10:38 
 
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
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
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

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

 
onemorenerd
15-10-2006, 12:57 
 
Bitte lies und befolge unsere Regeln: Code umbrechen, mysql_error() einbauen, exakte Fehlerbeschreibung angeben.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:53 Uhr.