SEO-Software von Suchmaschinenoptimierung.de

Löschen von Ordner per Get

(hier klicken, um zum Original Thread zu gelangen)
pixelnet24
Hallo zusammen,
ich habe da ein Problem mit dem Löschen von Ordnern aus meinem Script raus.
Ich habe ein Admin Panel. in dem ich User löschen kann, doch derzeit ist es mir nur möglich die Daten aus der Datenbank zu löschen.
Jetzt suche ich nach einer Lösung:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<?php if (isset($_GET['drop'])) {
rmdir("/web/1/000/027/012/70920/htdocs/estartseite/'.$row[pagename].'");
$query "DELETE FROM $g_db_user WHERE user_id='$_GET[drop]'";
$mysqli->query($query);
} // END IF

echo '
<form method="POST" action="?inc=sperren&open='.$row['user_id'].'">
<input class=green type="submit" value="Entsperren"></form>
<form method="POST" action="?inc=sperren&drop='.$row['user_id'].'">
<input class=green type="submit" value="l&ouml;schen"></form>
'?>
TrioxX
pixelnet24
Die Links sind sicherlich sehr interessant, doch in meinem speziellen Fall helfen sie mir nicht.
Ich weiß welche Befehle notwendig sind, um einen Ordner zu löschen. Wo ich nicht weiter weiß, ist wie ich diesen Befehl in meine GET Abfrage unterbringe.
TrioxX
Wir den Grund haben, dass das definierte Formular die Daten nicht mit GET, sondern mit POST sendet Augenzwinkern

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
<?php
if (!empty($_GET['drop']))
{
rmdir("/web/1/000/027/012/70920/htdocs/estartseite/'.$row[pagename].'");
$query "DELETE FROM $g_db_user WHERE user_id='.$_GET[drop].'";
$mysqli->query($query);
}

echo '
<form method="GET" action="?inc=sperren&open='.$row['user_id'].'">
<input class=green type="submit" value="Entsperren"></form>
<form method="GET" action="?inc=sperren&drop='.$row['user_id'].'">
<input class=green type="submit" value="l&ouml;schen"></form>
'?>


Was mich mehr irritiert ist diese ganze Datenbankabfrage. Wer weiß, ob $row[pagename] überhaupt einen Wert hat? Wonach richtet sich der Inhalt dieser Variable?

Ein wenig mehr Code wäre hilfreich, dann sparen wir uns nämlich das Rätselraten smile Im Übrigen kann es zu Owner-Problemen kommen, wenn du versuchst, eine durch einen FTP-User erstellte Datei mittels PHP zu löschen. Das klappt nicht immer.
pixelnet24
Kurze Erklärung zum Code:
Es handelt sich um ein Admin Menürpunkt.
Wenn sich ein User registriert, wird ein Ordner mit seinem Namen erstellt und eine index.php rein kopiert.
Doch ich möchte den User Sperren und aber auch komplett löschen können.
Dazu ist der Code gedacht.
Die Variablen stammen aus meiner Config, die beim laden der admin.php required werden.
d.h. .row[pagename]. ist der Name des Users und .$row['user_id']. ist die User-ID.
Wie schon geschriebn, das Sperren bekomme ich hin. Es hapert einfach an dem Löschvorgang des Ordner.
TrioxX
Die Erklärung des Codes bringt mir nichts Augenzwinkern Ich brauche mehr vom Code, damit ich weiß, wie er arbeitet smile
pixelnet24
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
<?php

if (isset($_GET['do'])) {
$query "UPDATE $g_db_fav SET permition='5' WHERE user_id='$_GET[do]'";
$mysqli->query($query);
} // END IF

if (isset($_GET['do'])) {
$query "UPDATE $g_db_user SET permition='5' WHERE user_id='$_GET[do]'";
$mysqli->query($query);
} // END IF

if (isset($_GET['open'])) {
$query "UPDATE $g_db_user SET permition='1' WHERE user_id='$_GET[open]'";
$mysqli->query($query);
} // END IF

if (isset($_GET['open'])) {
$query "UPDATE $g_db_fav SET permition='1' WHERE user_id='$_GET[open]'";
$mysqli->query($query);
} // END IF

if (isset($_GET['drop'])) {
$query "DELETE FROM $g_db_user WHERE user_id='$_GET[drop]'";
$mysqli->query($query);
} // END IF


if (mysqli_connect_errno()) { die('Fehler ' mysqli_connect_error()); }
$sql "SELECT * FROM $g_db_user ORDER BY user_id DESC";
if (!$mysqli_result $mysqli->query($sql)) { die('Fehler ' $mysqli->errno ': ' $mysqli->error); }
while ($row $mysqli_result->fetch_assoc()) {

echo '
<table border="0" cellpadding="0" cellspacing="6" width="600">
<tr>
<td width=30 style="border-right:1px solid #CCCCCC;padding:4px;">
<p align="center">'.$row[user_id].'</td>
<td width=180 style="border-right:1px solid #CCCCCC;padding:4px;">
<p align="left">'.$row[email].'<br><a href="?inc=details&id='.$row[user_id].'">&rarr; Details</a></td>
<td width=180 style="border-right:1px solid #CCCCCC;padding:4px;">
<p align="left">&rarr; <a title="Seitenname" href="'.$g_pagename.''.$row[pagename].'">'.$row[pagename].'</a></td>
<td style="padding:4px;">';

if ($row[permition]=='1') {

echo '
<form method="POST" action="?inc=sperren&do='.$row['user_id'].'">
<input class=red type="submit" value="Sperren">
</form>
';

} else {

echo '
<form method="POST" action="?inc=sperren&open='.$row['user_id'].'">
<input class=green type="submit" value="Entsperren">
</form>
<form method="POST" action="?inc=sperren&drop='.$row['user_id'].'">
<input class=green type="submit" value="l&ouml;schen">
</form>
';
}


echo '
</td></tr></table>

';

} // ENDWHILE

?>
brainnrg
Ich misch mich mal ein

Ich glaube bei drop wird dein user gelöscht.

Dort packst du einfach dann auch das löschen mir rmdir rein, vorher muss der ordner natürlich leer sein, ggf. mit verzeichnis auslesen und unlink den ordner leeren.

Das ist der grundsatz.

Zu den ganzen unsicheren Query Abfragen brauch ich jetz eh nix sagen, wissen wir wahrscheinlich eh das hier etwas aufholbedarf herscht.

MFG Brain
pixelnet24
Wie könnte da ein Besipiel für "Dort packst du einfach dann auch das löschen mir rmdir rein," aussehen??
brainnrg
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
<?php
//... Code von oben

if (isset($_GET['drop'])) {
    $query "DELETE FROM $g_db_user WHERE user_id='$_GET[drop]'";
    $mysqli->query($query);
    
    //Hier Verzeichnis löschen inkl. darin enthaltener dateien
    $directory "ordnername";
    $dir opendir($directory);
    while ($file readdir($dir)){
        if($file!="." && $file!=".."){
            unlink("$directory/$file");
        }
    }
    closedir($dir);
    rmdir($directory);

} // END IF

//weiterführender Code...
?>


Nur ein Denkanstoß ohne Überprüfung obs funktioniert.

MFG Brain
(hier klicken, um zum Original Thread zu gelangen)



Tipp: Ranking-Konzept.de - Das SEO-Forum (Forum rund um die Suchmaschinenoptimierung) der artaxo AG.
Das große Versicherungs ABC von Versicherung.de - mit allen Aspekten der Computerversicherungen!
Fan-Foren.de, die große Community mit Musikforum ist ab sofort online.