kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Webspace komplett Leeren mit PHP

    geschrieben von campz

    Hallo

    damit ich Dateien und ganze Ordner vom Webspace mit einem Klick löschen kann
    habe ich mir ein kleines PHP Script gebaut bei dem man sich mit Passwort einloggt,
    und dann Ordner oder Dateien zum Löschen auswählen kann (click --> delete)

    ich hoffe das dieser Code-Schnipsel auch für andere nützlich ist. wenn man seinen Webspace einmal aufräumen will oder Quasi für einen RESET zum ganz Neu anfangen ohne Alt-Lasten oder Datenmüll zu haben für einen Neustart auf dem Webspace

    zur Info: der Start-Ordner (Pfad) setzt man über die Variable $ordner

    mit diesem Wert "." (Punkt)
    $ordner = ".";
    wird der aktuelle Ordner
    genommen (in dem sich dieses Script befindet) man kann auch Unter-Ordner angeben
    wie zum Beispiel
    $ordner = "cache";
    oder
    $ordner = "dein/verzeichnis/pfad";
    etc.

    Wichtig ...
    $admpwd = 'geheim';
    ... bitte vor Nutzung Passwort ändern.


    .... Quellcode auf Pastebin (php)


    <?php 
    // ---------------------------------------------------- 
    
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    
    session_start(); 
    
    
    // ---------------------------------------------------- 
    // ------ DIR ... Ordner / Verzeichnis / Pfad ----- 
    
    $ordner = "."; 
    
    
    // ---------------------------------------------------- 
    // ------ Passwort Login --- pls CHANGE this Value --- 
    
    $admpwd = 'geheim';
    
    
    
    // ---------------------------------------------------- 
    // ------ Hash Passwort (md5) ----- 
    
    $saltkey = 'L4r7uBc6i'; 
    
    $sec_apw = md5($admpwd.$saltkey); 
    
    
    
    // ---------------------------------------------------- 
    // ------ Diese Datei (filename) ----- 
    
    $runfile = $_SERVER['PHP_SELF']; 
    
    $runfile = trim($runfile ,'/'); 
    
    
    
    // ---------------------------------------------------- 
    // ------ User Eingabe ----- 
    
    if (!empty($_POST['lpw'])) { $go_lpw = $_POST['lpw']; } else { $go_lpw = ''; }
    
    if (!empty($_GET['a'])) { $goa = $_GET['a']; } else { $goa = ''; }
    
    if (!empty($_GET['delete'])) { $go_delete = trim(chop($_GET['delete'])); } else { $go_delete = ''; } 
    
    
    
    // ---------------------------------------------------- 
    // ------ Session User --- Login ----- 
    
    if (!empty($go_lpw)) { 
    
    	## $go_lpw = trim(chop($go_lpw)); 
    	$sec_upd = md5($go_lpw.$saltkey); 
    	
    	if ($sec_upd == $sec_apw) { $_SESSION['xpw'] = $sec_upd; }
    	else { session_unset(); session_destroy(); }
    	
    }
    
    
    // ---------------------------------------------------- 
    // ------ Session User --- Logout ----- 
    
    if ($goa == 'logout') { 
    	session_unset(); 
    	session_destroy(); 
    	header('Location: '.$runfile.''); 
    	exit; 
    	### print "\n".'<meta http-equiv="refresh" content="1; URL='.$runfile.'">'."\n"; 
    }
    
    
    
    // ---------------------------------------------------- 
    // ------ function ----- deldir ----- 
    
    function deldir($dir)  { 
    	
    	$dp = opendir($dir); 
    	
    	while($file = @readdir($dp)) { 
    		
    		$name = $dir . "/" . $file;
    		
    		if ($file != "." && $file != "..") { 
    			if (is_dir($name)) { 
    				deldir ($name); 
    			}
    			else { 
    				chmod($name,0755); 
    				unlink($name); 
    			}
    		} 
    	} 
    	
    	@closedir($dp); 
    	chmod($dir,0755); 
    	@rmdir($dir); 
    	
    	return true; 
    }  
    
    
    // --------------------------------------------------------------- 
    // ------ function ----- run_delete ----- 
    
    function run_delete ($fname='') { 
    	
    	if (is_file($fname)===TRUE) { chmod($fname,0755); unlink($fname); $out=2; } 
    	else { $out = (@deldir($fname)!==false)?1:0; }
    	
    	return $out; 
    }
    
    
    // ---------------------------------------------------- 
    
    
    print '<div style="margin:0 auto; padding:4px; width:820px; background:#DEDEDE;">'."\n"; 
    
    print '<h2 style="margin:6px 12px; padding:8px; background:#FFFFAA;"><a href="'.$runfile.'" style="text-decoration:none;">'.$ordner.'/'.$runfile.'</a></h2>'."\n"; 
    
    
    
    // ---------------------------------------------------------------------- 
    // ---------------------------------------------------------------------- 
    // ------ START ... Check Login Session ----- 
    
    if (isset($_SESSION['xpw']) && $_SESSION['xpw'] == $sec_apw) { 
    
    
    // ---------------------------------------------------- 
    // ------ Top-Navigation / Main-Menu  ----- 
    
    print "<hr />\n"; 
    print "<p>--- <a href=\"".$runfile."\">HOME</a> --- <a href=\"".$runfile."?a=alle\">ALLE</a> --- <a href=\"".$runfile."?a=logout\">LOGOUT</a> --- </p>\n"; 
    print "<hr />\n"; 
    print "<br />\n"; 
    
    
    // ---------------------------------------------------- 
    // ------ Run Delete Dir / File ----- 
    
    if (!empty($go_delete)) { 
    	$delx = run_delete($go_delete); 
    	print '<br> - DELETE: <span style="color:red;">'.htmlentities($go_delete).'</span>'."\n"; 
    	## print "\n".'<meta http-equiv="refresh" content="1; URL='.$runfile.'">'."\n"; 
    } 
    
    
    ## if ($goa == 'xall' || $goa == 'alle') { print "\n".'<meta http-equiv="refresh" content="1; URL='.$runfile.'">'."\n"; } 
    
    
    
    // --------------------------------------------------------------- 
    // ------ Open Dir  ----- 
    
    
    
    $ordner = trim($ordner.'/'); 
    
    
    $handle = opendir($ordner);
    
    $dxf_file = array(); 
    $dxf_path = array(); 
    
    
    
    // ---------------------------------------------------- 
    // ------ Loop --- Files in Dir  ----- 
    
    while ($file = readdir ($handle)) { 
    if($file != "." && $file != ".." && $file != $runfile) {
    	
    	if(is_dir($ordner."/".$file)) { 
    	
    	$dxf_path[] = $file; 
    	} 
    	else { 
    		$compl = $ordner."/".$file;
    		
    		if ($goa == 'xall') { 
    			$rdx = run_delete($file); 
    			print '<br> - DELETE: <span style="color:red;">'.htmlentities($file).'</span>'."\n"; 
    		} 
    		else {
    			$dxf_file[] = $file; 
    		}
    		
    	}
    	
    	if ($goa == 'alle') { 
    		$rdx = run_delete($file); 
    		print '<br> - DELETE: <span style="color:red;">'.htmlentities($file).'</span>'."\n"; 
    	} 
    
    }
    }
    
    
    // ---------------------------------------------------- 
    // ------ Close Dir  ----- 
    
    closedir($handle); 
    
    // ------------------------------------------------------------------------ 
    
    
    
    // ---------------------------------------------------- 
    // ---------------------------------------------------- 
    // ------ List Dirs  ----- 
    
    
    print '<p> DIRS </p>'."\n"; 
    print '<br />______________________'."\n"; 
    
    foreach($dxf_path as $pathitm) {
    	print '<br /> DELETE DIR &nbsp;&nbsp;&nbsp; - <a href="'.$runfile.'?delete='.urlencode($pathitm).'">'.$pathitm.'</a>'."\n"; 
    }
    
    print '<br />'."\n"; 
    print '<br />&nbsp;'."\n"; 
    
    // ---------------------------------------------------- 
    // ---------------------------------------------------- 
    // ------ List Files  ----- 
    
    
    print '<p> FILES </p>'."\n"; 
    
    if (!empty($dxf_file)) { 
    	print '<p> DELETE --- <a href="'.$runfile.'?a=xall">ALL FILES</a> --- (in this DIR)  </p>'."\n"; 
    } 
    
    
    print '<br />______________________'."\n"; 
    
    foreach($dxf_file as $fileitm) {
    	print '<br /> DELETE FILE &nbsp;&nbsp;&nbsp; - <a href="'.$runfile.'?delete='.urlencode($fileitm).'">'.$fileitm.'</a>'."\n"; 
    } 
    
    
    print '<br />'."\n"; 
    print '<br />&nbsp;'."\n"; 
    
    
    // ---------------------------------------------------- 
    // ---------------------------------------------------- 
    
    print '<br />'."\n"; 
    print '<br />&nbsp;'."\n"; 
    
    
    
    // ---------------------------------------------------------------------- 
    // ---------------------------------------------------------------------- 
    // ------ ELSE ... Check Login Session ----- 
    
    }
    else { 
    
    
    // ---------------------------------------------------- 
    // ------ Login Form ----- 
    
    $login_formular1 = '
    <form name="form1" method="post" action="'.$runfile.'">
      Password: <input type="text" name="lpw" size="24" maxlength="100">
      OK: <input type="submit" name="go" value="Login">
    </form>
    '; 
    
    
    // ---------------------------------------- 
    
    print "<br />\n"; 
    print "<br />\n"; 
    
    print $login_formular1; 
    
    print "<br />\n"; 
    print "<br />\n"; 
    
    
    // ---------------------------------------- 
    
    } 
    
    
    // ---------------------------------------------------------------------- 
    // ---------------------------------------------------------------------- 
    // ------ ENDE ... Check Login Session ----- 
    
    
    
    // ---------------------------------------------------- 
    
    
    print "<br />\n"; 
    print "<br />\n"; 
    
    print "</div>\n"; 
    
    
    // ---------------------------------------------------- 
    
    print "<br />\n"; 
    print "<br />\n"; 
    print "<br />\n"; 
    
    
    // ---------------------------------------------------- 
    ?>


    den Quell-Code kopieren und als neue Datei z.B: _delete_all.php speichern.

    .... Quellcode auf Pastebin (php)

    wenn man das Script / die Datei direkt in das Haupt-Verzeichnis "default-website" hochläd,
    dann kann man nach Login auch mit 1 Klick auf ALLE den kompletten Webspace leeren
    oder einzelne Dateien oder einzelne (direkte) Unter-Ordner per Klick löschen


    wie findet Ihr PHP Experten diesen kleinen Code zum Leeren von Webspace / Ordner ??? Gibt es Kritik und Meinungen oder habt Ihr evtl auch Verbesserungs-Vorschläge oder Ideen dazu was darin noch fehlt oder besser geht ???

  • in: GET Werte zwischen-speichern?

    geschrieben von campz

    alfr3d schrieb:
    Hast du dran gedacht
    session_start();
    zu Beginn auzurufen?


    ups .. ja das hatte ich vergessen
    Danke

    aber wie macht man Error Reporting (Display Errors) auf Lima-City an ?
  • in: SELECT zweier Felder mit gleicher Bedeutung

    geschrieben von campz

    meron schrieb:

    Ich habe folgendes versucht (hoffte, dass das funktioniert):
    SELECT aufgeber_email AS email, benutzer.email AS email FROM ticket LEFT JOIN benutzer ON ticket.benutzer = benutzer.id WHERE ticketid = XY



    also wenn du zweimal AS email verwendest, kann es nicht funktionieren

    das vorher mit zwei verschiedene Namen für das Ergebnis macht schon Sinn
    SELECT aufgeber_email AS aemail, benutzer.email AS bemail FROM ....

    sonst überschreibt die benutzer.email ja die vom aufgeber

    Du solltest vielleicht schon bei (vor) Anlegen des Tickets prüfen,
    ob jeweils auch eine eMail-Adresse vorhanden (und gültig) ist
    so, dass Du Dir sicher sein kannst, das immer Mail-Adressen vorhanden sind

    wenn nicht ... soooo schlimm ist doch ne if Abfrage ob aemail oder bemail einen Wert hat doch garnicht

    if (!empty(....)) { ... }

  • in: Mehrere Daten aus MySQL Tabelle abrufen und ausgeben

    geschrieben von campz

    carl-schoeneich schrieb:
    Danke!!!!
    Funktioniert Super!
    Nur kann ich auch die Daten alle in Variablen wie user[1], user [2] usw. speichern?



    nimm mysql_fetch_assoc() und baue Dir in der while() Schleife ein neues Array

    $abfrage = "SELECT vorname,nachname FROM user";
    $ergebnis = mysql_query($abfrage);
    
    $userdaten = array(); 
    
    while($row = mysql_fetch_assoc($ergebnis))  { 
       $userdaten[] = $row; 
    }
    
    foreach ($userdaten as $useritem) { 
     echo "<br />".$useritem['vorname']." ".$useritem['nachname']."\n"; 
    }



    wenn Du viele Daten hast,
    dann lohnt es sich immer nur 10 Daten auszugeben, also mit LIMIT

    BSP: (nicht getestet)

    <?php 
    // ----------------------------------------------------------- 
    
    $proseite = 10; 
    
    $runpage = $_SERVER['PHP_SELF']; 
    
    include ("db-verbindung.php");
    
    // ------- Aktuelle Seite -------- 
    if (!empty($_GET['page'])) { 
      $runpage = $_GET['page']; 
    }
    else { 
      $runpage = 1; 
    } 
    
    
    // ------- Anzahl der Zeilen -------- 
    $query1 = mysql_query("SELECT COUNT(*) FROM user");
    list($anzahl) = mysql_fetch_row($query1);
    
    // ------- Anzahl der Seiten -------- 
    $seiten = ceil($anzahl/$proseite); 
    
    
    // ------- Ausgabe Seiten Navigation -------- 
    echo "<p>Seiten --- "; 
    for ($p=1; $p<=$seiten; $p++) { 
      echo " <a href=\"$runpage."?page=".$p."\"><strong>".$p."</strong></a> --- "; 
    }
    echo "</p>"; 
    
    
    // ------- Start-Wert fuer LIMIT -------- 
    $start = (($runpage*$proseite) - $proseite); 
    
    
    // ------- MySQL Abfrage -------- 
    $abfrage = "SELECT vorname,nachname FROM user LIMIT $start,$proseite";
    $ergebnis = mysql_query($abfrage);
    
    
    // ------- MySQL Ergebnis in Array schreiben -------- 
    $userdaten = array(); 
    while($row = mysql_fetch_assoc($ergebnis))  { 
       $userdaten[] = $row; 
    }
    
    
    // ------- Ausgabe der Daten  -------- 
    echo "<br />\n"; 
    echo "<br />Aktuelle Seite: ".$runpage."\n"; 
    echo "<br />\n"; 
    echo "<br />\n"; 
    
    foreach ($userdaten as $useritem) { 
     echo "<br />".$useritem['vorname']." ".$useritem['nachname']."\n"; 
    }
    
    
    // ----------------------------------------------------------- 
    ?>


    ich hoffe das BSP funktioniert ... habs nicht getestet
    für bessere Übersicht bei sehr vielen Zeilen (Datensätzen)

    wenn Du bisher nur wenige Zeilen hast
    kannst Du es ja mal mit $proseite = 1; testen,
    dann solle es je User eine Seite geben

  • in: Mehrere Daten aus MySQL Tabelle abrufen und ausgeben

    geschrieben von campz

    carl-schoeneich schrieb:
    Die DB-Verbindung funktioniert und alles eigentlich.
    Nur gibt er mir immer nur den ersten User aus.
    Wie kriege ich es hin, dass er mir alle User nacheinander anzeigt?


    Du musst eine Schleife machen, die solage läuft, wie Datensätze vorhanden sind
    am einfachsten mit while()
    $abfrage = "SELECT vorname,nachname FROM user";
    $ergebnis = mysql_query($abfrage);
    
    while($row = mysql_fetch_object($ergebnis))  { 
       echo "<br />".$row->vorname." ".$row->nachname."\n"; 
    }


    so kommst Du an alle Datensätze

  • in: GET Werte zwischen-speichern?

    geschrieben von campz

    Hallo

    ich habe eine Seite, auf der man dich durch mehrer Ebenen klicken kann
    und auf jeder Ebene auch verschiedene Optionen auswählen kann

    dadurch wird der GET-String aber leider ziemlich lang und unübersichtlich

    jetzt meine Idee, die "alten" Werte in einer Session zwischen-speichern
    und nur neue Werte im GET-String übergeben
    dann (bei Änderung oder Neue Werte) die Session "anpassen"
    so dass nicht immer alle "alten" schon gesetzten Werte wieder im Query_String sind

    leider klappt es nicht so wie ich es versucht habe

    foreach ($_GET as $getkey => $getvalue) { 
    
      if (!isset($_SESSION[$getkey])) { 
            $_SESSION[$getkey] = $getvalue;  // ---- Neuer Wert 
      }
      elseif ($_SESSION[$getkey] != $getvalue) { 
            $_SESSION[$getkey] = $getvalue;   // ---- Update Wert 
      }
    
    }


    und dann zum Testen

    echo "<p>Test ... GET</p>\n"; 
    echo "<pre>\n";
    print_r($_GET); 
    echo "</pre>\n";
    
    echo "<p>Test ... SESSION</p>\n"; 
    echo "<pre>\n";
    print_r($_SESSION); 
    echo "</pre>\n";


    aber Ausgabe ist eine leere (weiße) Seite ... garnix ?!

    was könnte falsch sein ?

    PS:
    habe ganz oben im Script die Zeilen

    error_reporting(E_ALL);
    ini_set('display_errors','On');


    aber es kommt kein Error Reporting,
    auch wenn ich Fehler mit Ansicht rein mache, nur leere (weiße) Seite
    ist ini_set auf Lima-City gesperrt ? ... wie sonst ... php.ini Datei machen ?

  • in: Gesamte MySQL Tabelle auslesen

    geschrieben von campz

    lege die Ergebnisse am besten in ein assoziatives Array
    dann kannst Du es ausgeben / weiter verarbeiten


    $abfrage = "SELECT vorname,nachname FROM user";
    $ergebnis = mysql_query($abfrage);
    $daten = array(); 
    
    while($row = mysql_fetch_assoc($ergebnis))  { 
       $daten[] = $row; 
      }


    dann bekommst Du

    $daten = array( 
       [0] = array (
          [vorname] => Hans
          [nachname] => Dampf
      ) 
       [1] = array (
          [vorname] => Maria
          [nachname] => Dampf 
      ) 
    )


    Ausgabe in Schleife:

    $n=1; 
    foreach($daten as $item) { 
    echo "<br /> Nr:: " . $n . "\n"; 
    echo "<br /> Vorname: " . $item['vorname'] . "\n"; 
    echo "<br /> Nachname: " . $item['nachname'] . "\n"; 
    echo "<br />\n"; 
    $n++; 
    }


    oder als DEBUG Ausgabe
    echo "<pre>\n"; 
    print_r($daten); 
    echo "</pre>\n";


    Wenn Du die Usernamen in Komnination haben wisst,, dann etwa so

    $userdaten = array(); 
    $i=0; 
    foreach($daten as $item) { 
    $userdaten[$i] = $item['vorname'] . ' ' . $item['nachname']; 
    $i++; 
    } 
    
    echo "<pre>\n"; 
    print_r($userdaten); 
    echo "</pre>\n";


    dann bekommst Du

    $userdaten = array (
       [0] = Hans Dampf
       [1] = Maria Dampf 
    )


    beachte,die numerische Auszähling von Array-Elementen beginnt mit 0 (null)



Login zum Webhosting ohne Werbung!