also bis schritt 5 hab ich alles schon durch.. die unstimmigkeit hab ich net ganz eingrenzen können, aber ich bleib da auf jeden fall dran und probier auch selber weiter...
das problem war bisher immer der abgleich von dem trash-array und dem folders-array
$key = array_search($value, $data);
werd ich auf jeden fall weiterhin im auge behalten und damit rumprobieren,
das scheint ja die funktion zu sein, die ich brauche
Beiträge von synaptic
-
-
06.05.2007, 23:05 wurd der thread gestartet...
ich glaube kaum, dass die vorlage noch existiert
aber da steht ja wie du das hinbekommen kannst...
ansonsten, für den fall dass du es nicht schaffst, gibt es hier das "job-forum" dort kannste dein anliegen genau vortragen und ne ggenleistung benennen, da findet sich bestimmt wer...!edit: aber ich hab dir mal nen pergament-hintergund gebastelt.. den kannste dann in word einbinden und deinen text draufschreiben..
http://home.arcor.de/synaptic/pergament.png
-
also irgendwas will da noch immer nich so ganz..
PHP
Alles anzeigenif(file_exists($path."folders.txt")){ $aktuelleOrdner = readFolders($path."folders.txt"); foreach($aktuelleOrdner as $ordner){ echo "<input type=\"checkbox\" name=\"delete[]\" value=\"".$ordner."\" />".$ordner."<br />"; } }else{ echo "Keine Ordnerliste vorhanden!"; } if(strip_tags($_GET['radio'])=== "auswahl"){ if (isset($_GET['delete'])){ $data = explode("\n", file_get_contents($path."folders.txt")); foreach ($_GET['delete'] as $value){ $key = array_search($value, $data); if ($key !== false) unset($data[$key]); } file_put_contents($path."folders.txt", implode("\n", $data)); } }ich weiß noch immer nich wo der fehler liegt.. grundlegend verstanden was da passieren soll hab ich, jedoch bring ich es einfach nich auf die kette -.-
wär toll wenn da nochmal jemand drübergucken könnte.
hab die funktionalität vorerst nur in der checker.php, damit ich erstma sichergehen kann, dass es fruchtet, bevor ich die funktion auslagere -
DANKE ihr beiden, werd ich mir gleich direkt mal reinschrauben

-
ööhm lordwaldi, dein enthusiasmus in allen ehren, aber der thread ist am 27.05.2007 um 00:16 gestartet worden.. ich glaub das is definitiv net mehr in time...

-
also so sieht des dann aus: http://badadmin.hopto.org/entwicklung/checker.php
das ding soll später ne ordnerliste als default haben und ne domainliste eingetippt bekommen, jede domain wird mit jedem ordner verknüpft und bildet ne url.
die url wird überprüft und der returncode ausgelesen, sobald nen anderer returncode kommt, als aus der 400er-reihe ist sozusagen das directory nicht sicher (bei returncode 200 wurde ein directorylisting komplett geladen und zeigt also ordnerinhalte an)
ich kann die komplette liste löschen, ich kann nen ordner dranhängen und damit die default-liste erweitern, aber ich bekomm es ums verrecken nicht hin ausgewählte ordner zu löschen

bisher arbeite ich mit GET, weil ich die werte noch sehen will, bevor ich später nen POST draus mache.
das hier ist die checker.php:
PHP
Alles anzeigen<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de"> <head> <meta name="author" content="synaptic" /> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta name="pragma" content="no-cache" /> <title>DirectoryChecker</title> <script type="text/javascript"> function valueChange(){ var btn = document.getElementById("folder_submit"); var rlist = document.getElementById("radioliste"); var alist = document.getElementById("radioauswahl"); var fadd = document.getElementById("addfolder"); var input = document.getElementById("ordnername"); var boxes = document.getElementsByTagName("") if(rlist.checked==true){ btn.value="Ordnerliste löschen"; input.disabled=true; } if(alist.checked==true){ btn.value="Auswahl löschen"; input.disabled=true; } if(fadd.checked==true){ btn.value="Ordner hinzufügen"; input.disabled=false; } } </script> <style type="text/css"> .inputdiv{ width:300px; text-align:center; float:left; margin-right:40px; } .inputdiv input{ margin-top:10px; } .inputdiv p{ text-align:left; margin-left:40px; } #folder-output{ text-align:left; width:160px; } #showframe{ display:none; width:400px; height:400px; } #wrapper{ width:900px; margin:0 auto; } </style> </head> <body> <?php //funktionen der functions.php bereitstellen require_once("functions.php"); $prefix= "http://"; $slash = "/"; $input = strip_tags($_GET['domaininput']); $domainliste = split("\r", $input); $path = getBaseDir($_SERVER['SCRIPT_FILENAME']); $ordner = readFolders($path."folders.txt"); //liest die folders.txt ein und gibt ein array mit dem inhalt der datei zurück if(!empty($input)){ echo "<table>"; if(file_exists($path."folders.txt")){ for($i=0;$i<count($domainliste);$i++){ if(trim($domainliste[$i])!=""){ foreach($ordner as $value){ echo "<tr>"; $url = $prefix.trim($domainliste[$i]).$slash.trim($value).$slash; $request = new HttpRequest($url); try { $inhalt = $request->send()->getBody(); //responsecode ermitteln und ausgeben echo "<td><a href='".$url."' target='_blank' >".$url."</a></td><td><span style=\"background:".codeColor(getResponseCode($request))."\">Returncode: ".getResponseCode($request)."</span></td>"; if(trim($value) ==="admin" && getResponseCode($request) != 404 ){ $versionrequest = new HttpRequest($url."footer.jsp"); try { $versioninhalt = $versionrequest->send()->getBody(); echo "<td>".parseVersionNr(strip_tags($versioninhalt))."</td>"; }catch (HttpException $e) { print "foreach".$e; } }else{ echo "<td> </td>"; } //request-objekt erzeugen // HttpRequest::send() returns an HttpMessage object // of type HttpMessage::TYPE_RESPONSE or throws an exception }catch (HttpException $e) { print "forschleife".$e; } echo "</tr>"; } } echo "<tr colspan =\"3\"><td> </td></tr>"; } }else{ echo "<tr><td>Es ist keine Ordnerliste vorhanden</td></tr>"; } echo "</table>\n"; } if(isset($_GET['ordnername']) && !empty($_GET['ordnername'])){ addFolder(strip_tags($_GET['ordnername'])); unset($_GET['ordnername']); echo "<br /> "; }else if(isset($_GET['ordnername'])) { echo "kein Ordner hinzugefügt, weil keine Angabe gemacht wurde."; } if($_GET['radio']==="liste" && file_exists($path."folders.txt")){ unlink($path."folders.txt"); echo "Ordnerliste gelöscht! "; } if(isset($_GET['domaininput']) && empty($_GET['domaininput'])){ echo "Keine Domain angegeben! "; } ?> <hr /> <div id="wrapper"> <form method="get"> <div class="inputdiv" id="domain-input"> <fieldset> <legend>Domain-Eingabe</legend> <textarea name="domaininput" rows="10" cols ="30"></textarea><br /> <input type="submit" value="Directorycheck durchführen" /> </fieldset> </div> </form> <form method="get"> <div class="inputdiv" id="folder-input"> <fieldset> <legend>Default-Ordner hinzufügen</legend> <input type="text" name="ordnername" id="ordnername" value="" /> <p> <input type="radio" id="addfolder" name="radio" value="addfolder" onclick="valueChange();" /> Ordner hinzufügen </p> <p> <input type="radio" id="radioliste" name="radio" value="liste" onclick="valueChange();" /> Ordnerliste löschen </p> <p> <input type="radio" id="radioauswahl" name="radio" value= "auswahl" onclick="valueChange();" /> ausgewählte Ordner löschen </p> <input type="submit" id="folder_submit" value="Ordner hinzufügen" /> </fieldset> </div> <div class="inputdiv" id="folder-output"> <fieldset> <legend>Default-Ordner</legend> <?php if(file_exists($path."folders.txt")){ $aktuelleOrdner = readFolders($path."folders.txt"); foreach($aktuelleOrdner as $ordner){ echo "<input type=\"checkbox\" name=\"".$ordner."\" />".$ordner."<br />"; } }else{ echo "Keine Ordnerliste vorhanden!"; } if(strip_tags($_GET['radio'])=== "auswahl"){ $selectedFolders = array(); $keys = array_keys($_GET); $selection = array(); for($i = 0; $i < count($keys); $i++){ if($_GET[$keys[$i]] === "on"){ array_push($selection, $keys[$i]); } } deleteSelection($selection); for($i = 0; $i < count($keys); $i++){ unset($_GET[$keys[$i]]); } } ?> </fieldset> </div> </form> </div> </body> </html>das hier ist die functions.php:
PHP
Alles anzeigen<?php function parseVersionNr($string) { $echse ="/.*([0-9]+\.[0-9]+\.[0-9]+_[0-9]+).*/"; preg_match($echse,$string,$matches); return "Cira-Version: ".$matches[1]; } function getResponseCode($request){ $code = $request->getResponseCode(); return (int)$code; } function codeColor($code){ if($code==400 || $code==401 || $code==402 || $code==403 || $code==404){ $color= "#28B023;"; //dunkelgrün also OK }else if($code==301 || $code==302 || $code==500 || $code==503){ $color="#FFEA31;"; // gelb also odner gefunden, aber page nich successful geladen }else{ $color="#FF4726;"; // rot also nich OK } return $color; } function readFolders($datei){ $inhalte = array(); if(file_exists($datei)){ $dateizeiger=fopen($datei,"r"); while(!feof($dateizeiger)){ array_push($inhalte, fgets($dateizeiger)); } fclose($dateizeiger); return $inhalte; }else{ return "Datei nicht vorhanden!"; } } function addFolder($ordnername){ $path = getBaseDir($_SERVER['SCRIPT_FILENAME']); $datei = $path."folders.txt"; if(file_exists($datei)){ $dateizeiger=fopen($datei,"a+"); fwrite($dateizeiger, "\n".$ordnername); fclose($dateizeiger); } else{ $dateizeiger=fopen($datei,"a+"); fwrite($dateizeiger, $ordnername); fclose($dateizeiger); } echo "Ordner ".$ordnername." hinzugefügt"; } function getBaseDir($path){ $pathparts = explode("/", $path); array_pop($pathparts); $returnpath = implode("/", $pathparts); return $returnpath."/"; } function deleteSelection($selection){ $path = getBaseDir($_SERVER['SCRIPT_FILENAME']); if(file_exists($path."folders.txt")){ $data = explode("\n", file_get_contents('folders.txt')); foreach ($selection as $value){ $key = array_search($value, $data); if ($key !== false){ unset($data[$key]); } } file_put_contents('folders.txt', implode("\n", $data)); } }und hier die folders.txt:
-
mmh klappt leider auch net irgendwie..
deine funktion umgeschrieben, dass die bei mir reinpasst sieht so aus:PHP
Alles anzeigenfunction deleteSelection($selection){ $path = getBaseDir($_SERVER['SCRIPT_FILENAME']); if(file_exists($path."folders.txt")){ $data = explode("\n", file_get_contents('folders.txt')); foreach ($selection as $value){ $key = array_search($value, $data); if ($key !== false) unset($data[$key]); } file_put_contents('folders.txt', implode("\n", $data)); } }der aufruf der funktion ist folgender:
PHP
Alles anzeigenif(strip_tags($_GET['radio'])=== "auswahl"){ $selectedFolders = array(); $keys = array_keys($_GET); $selection = array(); for($i = 0; $i < count($keys); $i++){ if($_GET[$keys[$i]] === "on"){ array_push($selection, $keys[$i]); } } deleteSelection($selection); for($i = 0; $i < count($keys); $i++){ unset($_GET[$keys[$i]]); } }zur zeit bastel ich halt noch mit get, weil ich zuerst sehen will, was da so passiert und was in den variablen drinsteht
-
machste mit php..
echo, strip_tags und mysql_real_escape_string -
aaalso da ich ja nen vollhorst in sachen php bin, steh ich mal wieder vorm rätsel der eierlegenden wollmilchsau

nee spass beiseite!
also folgendes problem:
ich habe auf ner seite eine anzahl von namen mit ner checkbox davor, diese namen werden aus einer textdatei eingelesen und ausgegeben.
wenn man namen auswählt und dann auf den button drückt mit "auswahl entfernen" sollen entsprechend der auswahl die einträge entfernt werden.meine idee war in der funktion die des durchführt einfach ein array (die auswahl zu übergeben (klappt!)
dann die textdatei einzulesen und den inhalt komplett in einem array zu speichern (klappt!)
dann lösche ich die textdatei (klappt ebenfalls)
erzeuge ein leeres array was für die übernahme der verbleibenden werte dient. (klappt auch:) )was mir jetzt fehlt ist die logik, wie ich das array mit 1 bis x einträgen der zu löschenden werte gegenprüfe mit dem array mit den 1 bis x einträgen der alte liste.
die einträge wo die liste vom trash mit nem eintrag aus der liste der namen übereinstimmt sollen ignoriert werden und alle anderen werte, wo keine übereinstimmung vorhanden ist sollen in das "übernahme"-array geschrieben werden, damit ich die dann in eine neue txt-datei schreiben kann.leider haben meine versuche alle ihr ende darin gefunden, dass die komplette alte liste ins übernahme-array geschrieben wurde manchmal sogar mehrfach.
wenn ihr zwingend nen code sehen wollt, kann ich den gerne bereitstellen ich hab den jetzt vorerst absichtlich weggelassen, weil ich denke, dass es anhand der beschreibung einfacher ist nen code zu bauen, als sich von meiner digitalen verwurstung irritieren zu lassen.Danke für eure unterstützung
-
es gibt genügend leutz, die nicht so agieren wie du..
und wie gehabt, der ton wäre als normaler user nicht anders gewesen!
erzählst mir einen von meinem alter und bist selber nicht in der lage dazu ein erwachsenes und anständiges benehmen an den tag zu legen!du bist weder der mittelpunkt der welt noch in irgendeiner weise wichtig!
und einer sache kannste dir gewiss sein:
ich hab schon vielen menschen geholfen, die hilfe war angebracht, im richtigen ton und diese menschen waren dankbar.und meine meinung zu dem ding und dir hier als user und nicht als moderator ist auch ganz eindeutig: "wer nicht abwarten kann und alles 'schnell schnell' braucht ist hier fehl am platz!"
-
also es steht nirgendwo geschrieben in welcher frequenz man "pushen" darf, geschweige denn ab wann man es machen darf.
aber zu der von dir geforderten höflichkeit gehört es auch von deiner seite mal nen gewissen zeitraum abzuwarten!oder kommste auch im RL in ne gemeinschaft rein, stellst ne frage und wenn nich direkt alles springt fängste an zu "pushen" und dein anliegen zu wiederholen??
wat is pushen überhaupt fürn benehmen?
in deinem anderen thread haste ja auch hinbekommen nen vernünftigen satz zu schreiben!
außerdem wird sich schon jemand bei dir melden, wenn er nen beschissenen ts-server braucht.willste jetzt jeden tag hier nen push reindonnern bis das ding weg is?
und sei dir einer sache gewiss, auch wenn ich den posten hier nicht hätte, wär mein ton deinem auftreten entsprechend auch nicht anders! -
jaa so machste es richtig... erst fehlverhalten an den tag legen und dann noch grosse klappe haben!
das is die bester variante sich innerhalb kürzester zeit wahre freunde zu schaffen!
und so wirste natürlich auch am schnellsten den ts-server los... -
nen push in weniger als 24 stunden....
noch so´n ding und ich lösch den thread hier...
wennste keine geduld hast musste die konsequenzen tragen..! -
jup da hat driver recht.. ich muss nich rumposen mit der agentur in der ich arbeite, ich bin lediglich stolz drauf so eine tolle beschäftigung gefunden zu haben und hoffe, dass so auch andere user dieses forums oder auch gäste möglichkeiten für eine evtl. bewerbung finden.
es gibt genug schwarze schafe und ich finde da sollte man die wirklich guten firmen mal erwähnt haben!ich hoffe, dass noch andere zufriedene user und gäste hier etwas reinschreiben..
sowas kann ja nur hilfreich sein -
http://www.topjob.de/documents_topj…1BB4DF8B262ADF9
schaut es euch einfach mal an

also ich bin wirklich froh dort zu arbeiten, wer kann sonst noch von sich behaupten bei einem top-arbeitgeber angestellt zu sein ? -
evtl noch den menüpunkten nen font-weight: 600 verpassen, damit die schrift wat fetter is

-
coole sache
nice tool -
asche auf mein haupt...!
hab des beim ersten lesen so gar nich wahrgenommen.. habs geändert!!danke bambino!
-
also mit 2000 euronen is das budget recht klein bemessen... wenn du ne vernünftige gewerbliche page haben willst, lass profis da ran! die sind zwar wat teurer, als nen student, aber auch ihr geld wert!
so vorhaben wie deins zerstören nämlich arbeitsplätze, statt neue zu schaffen... -
ob du es glaubst oder nicht, ich habe während meiner studienzeit zwei leutz im kurs gehabt, die mit 65 und 67 noch angefangen haben russisch zu studieren...
und beide können es heute!und nur mal nebenbei bemerkt.. html ist kein hexenwerk, ebensowenig wie javascript...
wenn man diese sachen benutzen möchte sollte man sich schon die grundlagen aneignen, sonst wird das nix.
letztlich hat man nämlich keinen nutzen, wenn man sich jeden code zusammenschreiben lässt.. da kann man nämlich direkt hier im jobforum nen auftrag ausschreiben und ne gegenleistung vereinbaren!