kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: RTL, Sat1 und co Filmdownload legal

    geschrieben von fabo

    Was hier auf jeden Fall nicht erlaubt ist, ist das Umgehen von Schutzmaßnahmen.
  • in: Icons von Microsoft-Programmen werden nicht mehr angezeigt

    geschrieben von fabo

    Vielleicht hilft dir ja dieses Tool: http://www.thewindowsclub.com/rebuild-corrupt-icon-cache-with-icon-cache-rebuilder

    Wobei es eigentlich auch nichts anderes tut, als den Iconcache zu leeren.

    CCleaner könnte da vielleicht auch helfen.

    Ansonsten könntest du die Programme auch "von der Taskleiste lösen" und dann die einzelnen Anwendungen wieder "an Taskleiste anheften". Wobei das maximal die Anzeigeprobleme in der Taskleiste lösen würde. Logischerweise.
  • in: php: msgbox (?)

    geschrieben von fabo

    Mit PHP geht das nicht. Was du benötigst, ist Javascript.

    Wann soll das Fenster angezeigt werden? Direkt beim Klick, oder erst auf der PHP-Seite, die den Neustart auslöst?

    <script type="text/javascript">
    alert('Der Server wird nun neu gestartet.');
    </script>


    Fügst du das z.B. am Seitenende der PHP-Seite ein, öffnet sich ein Meldungsfenster mit dem entsprechenden Hinweis.

    Wobei das wirklich das Simpelste vom Simpelsten ist.

    Aber aus deinem Text lese ich, dass du das Fenster direkt beim Klick anzeigen lassen möchtest, richtig?

    Das könntest du dann z.B. via onclick lösen:

    <a href="file.php" onclick="alert('Der Server wird nun neu gestartet.');">Neu starten</a>


    So eine Alert-Box ist zwar nicht sonderlich schön, erfüllt jedoch erst einmal seinen Zweck.
  • in: Mit PHP Quellcode suchen und einfügen?

    geschrieben von fabo

    Grundsätzlich geht das natürlich, aber das kann z.B. aufgrund von Script-Timeouts auch schief gehen.
  • in: MySQL Klasse will nicht so recht

    geschrieben von fabo

    Du könntest Alternativ mit try/catch arbeiten um die genaue Ursache zu finden.
  • in: Mehrere MySQL-Abfragen (mehrere Tabellen) gleichzeitig

    geschrieben von fabo

    Wenn die Tabellen nicht in Bezug zueinander stehen, würde ich mir mal eingehende Gedanken über Sinn und Unsinn machen. Denn wenn es nötig ist, aus beiden Tabellen abzufragen, besteht auch irgendein Bezug zueinander.
  • in: preg_match() Absätze

    geschrieben von fabo

    \s steht für \r\n\t\f

    Logischerweise musst du \s+ verwenden. Dies steht für "kein oder unendlich viele Zeilenumbrüche". Ohne das + steht \s für "Ein Umbruch".
  • in: .htaccess Weiterleitung

    geschrieben von fabo

    Nicht wegen mangelnder Informationen, sondern wegen der Art und Weise, wie auf einfache Fragen geantwortet wird. Zu blöd, dass ich aber noch gar nicht bewerten kann...

    @chemiegoetter

    Dafür gibt es mehrere Möglichkeiten. htaccess ist eine davon. Wenn du deine Frage etwas präzisierst und uns ein paar Informationen zur derzeitigen Beschaffenheit gibst, kann man dir u.U. eine Alternative vorschlagen.
  • in: preg_match() Absätze

    geschrieben von fabo

    Das mit dem Absätzen geht via \s
  • in: preg_match() Absätze

    geschrieben von fabo

    Versuchs damit...

    else if(isset($_POST['step2'])) { //TODO
    	if (!isset($_POST['cachename']) || !isset($_POST['cachename']) || !isset($_POST['cachename']) || !isset($_POST['cachename']) || !isset($_POST['cachename']) || !isset($_POST['cachename']) || !isset($_POST['cachename'])) {
    		die('Ein unbekannter Fehler ist aufgetreten');
    	}
    
    	$cachename= $_POST['cachename'];
    	$cachetyp = $_POST['cachetyp'];
    	$kurzbeschreibung = trim($_POST['kurzbeschreibung']);
    	$cachebeschreibung = trim($_POST['cachebeschreibung']);
    	$logtext = trim($_POST['logtext']);
    	$stationstext = trim($_POST['stationstext']);
    	$stationscounter = intval($_POST['stationscounter']);
    	$fehler = false;
    
    	if (!preg_match('~^[^\sa-zA-ZäüößÄÜÖ0-9!?^/()+\-*:.,]+$~', utf8_encode($kurzbeschreibung)) || str_word_count($kurzbeschreibung) < 50 && str_word_count($kurzbeschreibung) > 200) {
    		$fehler = true;
    		$pkurzbeschreibung = "<textarea class ='eingabefehler' name='kurzbeschreibung'>" . $kurzbeschreibung . "</textarea><b1>Die Kurzbeschreibung darf nur Buchstaben, Zahlen, Leerzeichen sowie ! ? ^ / ( ) + - * : . , enthalten und muss 50 bis 200 W&ouml;rter enthalten. Es sind " . str_word_count($kurzbeschreibung) . " W&ouml;rter enthalten.</b1>";
    	}
    	else {
    		$pkurzbeschreibung = "<textarea class ='ok' name='kurzbeschreibung'>" . $kurzbeschreibung . "</textarea>";
    	}
    
    	if (!preg_match('~^[^\sa-zA-ZäüößÄÜÖ0-9!?^/()+\-*:.,]+$~', utf8_encode($cachebeschreibung))) {
    		$fehler = true;
    		$pcachebeschreibung = "<textarea class ='eingabefehler' name='cachebeschreibung'>$cachebeschreibung</textarea><b1>Die Cachebeschreibung darf nur Buchstaben, Zahlen, Leerzeichen sowie ! ? ^ / ( ) + - * : . , enthalten.</b1>";
    	}
    	else {
    		$pcachebeschreibung = "<textarea class ='ok' name='cachebeschreibung'>" . $cachebeschreibung . "</textarea>";
    	}
    
    	if($cachetyp == 'Traditionalcache') {
    		if (!preg_match('~^[^\sa-zA-ZäüößÄÜÖ0-9!?^/()+\-*:.,]+$~', utf8_encode($logtext))) {
    			$fehler = true;
    			$plogtext = "<textarea class ='eingabefehler' name='logtext'>" . $logtext . "</textarea><b1>Der Logtext darf nur Buchstaben, Zahlen, Leerzeichen sowie ! ? ^ / ( ) + - * : . , enthalten.</b1>";
    		}
    		else {
    			$plogtext = "<textarea class ='ok' name='logtext'>" . $logtext . "</textarea>";
    		}
    
    	}
    	else {
    		if (!preg_match('~^[^\sa-zA-ZäüößÄÜÖ0-9!?^/()+\-*:.,]+$~', utf8_encode($stationstext))) {
    			$fehler = true;
    			$pstationstext = "<textarea class ='eingabefehler' name='stationstext'>" . $stationstext . "</textarea><b1>Der Stationstext darf nur Buchstaben, Zahlen, Leerzeichen sowie !?^°/()+*:., enthalten.</b1>";
    		}
    		else {
    			$pstationstext = "<textarea class ='ok' name='stationstext'>" . $stationstext . "</textarea>";
    		}
    
    	}
    
    	if ($fehler) {
    		echo "<form action='" . $url . "' method='post'>
    		<input type='hidden' value='" . $cachename . "' name='cachename'>
    		<input type='hidden' value='" . $cachecode . "' name='cachecode'>
    		<input type='hidden' value='" . $cachetyp . "' name='cachetyp'>
    
    		Kurzbeschreibung:<br />" . $pkurzbeschreibung . "<br /><br />
    		Cachebeschreibung:<br />" . $pcachebeschreibung . "<br /><br />";
    
    		if ($cachetyp == "Traditionalcache") {
    			echo "Logtext:<br />" . $plogtext . "<br /><br />";
    
    		}
    		else {
    			echo "Station " . $stationscounter . ":<br />" . $pstationstext . "<br /><br />";
    		}
    
    		echo '<input type="submit" value="Weiter" name="step2"></form>';
    	}
    	else { //TODO
    		$kurzbeschreibung = nl2br($kurzbeschreibung);
    		$cachebeschreibung = nl2br( $cachebeschreibung);
    		$logtext = nl2br($logtext);
    		$stationstext = nl2br($stationstext);
    
    		echo "<form action='" . $url . "' method='post'>
    		<input type='hidden' value='" . $cachename . "' name='cachename'>
    		<input type='hidden' value='" . $cachetyp . "' name='cachetyp'>
    
    		<input type='hidden' value='" . $kurzbeschreibung . "' name='kurzbeschreibung'>
    		<input type='hidden' value='" . $cachebeschreibung . "' name='cachebeschreibung'>
    		Cachecode (sofern bereits vorhanden):<br /><input type='text' name='cachecode'><br /><br />";
    
    		if ($cachetyp == 'Traditionalcache') {
    			$stationscounter = 1;
    			echo 'Stationscode (falts gew&uuml;ntscht):<br /><input type="text" name="stationscode"><br /><br />';
    
    			code();
    
    			echo "<input type='hidden' value='" . $logtext . "' name='logtext'>
    			<input type='hidden' value='" . $stationscounter . "' name='stationscounter'><br /><br />
    			<input type='submit' name='erstellen' value='Erstellen'>";
    		}
    		else {
    			echo 'Stationscode (falts gew&uuml;ntscht):<br /><input type="text" name="stationscode"><br /><br />';
    
    			code();
    
    			echo "<input type='hidden' value='" . $stationscounter . "' name='stationscounter'>
    			<input type='hidden' value='" . $stationstext . "' name='stationstext'><br /><br />
    			<input type='submit' name='erstellen' value='Erstellen'>";
    		}
    
    	}
    }
  • in: preg_match() Absätze

    geschrieben von fabo

    Code wäre an dieser Stelle interessant. Denn aktuell lässt sich das Problem nur erraten.
  • in: mysql: SQL-Befehl dauert dauert zu lange; Warum ?

    geschrieben von fabo

    Das Problem ist nicht der Query, sondern mit hoher Wahrscheinlichkeit der Aufbau der einzelnen Tabellen.
  • in: preg_match() Absätze

    geschrieben von fabo

    Die Kurzbeschreibung darf nur Buchstaben, Zahlen, Lehrzeichen sowie ! ? ^ / ( ) + - * : . , enthalten und muss 50 bis 200 Wörter enthalten. Es sind 2 Wörter enthalten.

    Cachebeschreibung:
    Die Cachebeschreibung darf nur Buchstaben, Zahlen, Lehrzeichen sowie ! ? ^ / ( ) + - * : . , enthalten.

    Logtext:
    Der Logtext darf nur Buchstaben, Zahlen, Lehrzeichen sowie ! ? ^ / ( ) + - * : . , enthalten.
  • in: preg_match() Absätze

    geschrieben von fabo

    Kann ich nicht reproduzieren. Erlaubt sind lediglich

    \r\n\t\fa-zA-z0-9äüößÄÜÖ!?^/()+-*:.,
  • in: preg_match() Absätze

    geschrieben von fabo

    Das \p{ und } gehören da nicht hin:

    ~[\sa-zA-ZäüößÄÜÖ0-9!?^/()+\-*:.,]+~
  • in: preg_match() Absätze

    geschrieben von fabo

    Entferne das \w. Sollte ausreichen und war auch eigentlich unnötig.

    Bei deinem obigen Regex können Umlaute gar nicht möglich gewesen sein.

    Sonderzeichen sind in dem Sinne nicht erlaubt. Lediglich Buchstaben aus sämtlichen Sprachen. Sollte dies nicht gewünscht sein, ersetze das \p{L} durch a-zA-Z0-9öÖäÄüÜß oder a-z0-9öäüß mit dem i-Modifier.
  • in: preg_match() Absätze

    geschrieben von fabo

    Unterstriche zufällig auch? Und was ist mit Umlauten und Sonderzeichen wie etwa à?

    ~[\w\p{L}\s!?^/()+\-*:.,]+~g


    Erlaubt

    a-zA-Z0-9_\r\n\t\f!?^/()+-*:., sowie Umlaute und sämtliche Buchstaben aus allen Sprachen.

    Dies
    ist ein Test
    Enthält auch Sonderzeichen in Wörtern, z.B. Smørrebrød
    Matcht <hier> auch nur das Nötigste.
  • in: preg_match() Absätze

    geschrieben von fabo

    Magst du erklären, welche Zeichen genau erlaubt sein sollen? Das macht die Sache einfacher ;)
  • in: Ich und mein Debugger finden den Fehler nicht!

    geschrieben von fabo

    ... deshalb aus § einfach $ machen.
  • in: Return bestimmten text mit JQuery

    geschrieben von fabo

    Bitte Link zum Chat... Und bitte achte bei PHP-Funktionen auf die korrekte Schreibweise (u.A. isset anstatt isSet).

    EDIT:

    1. Du hast JQuery 2x eingebunden
    2. Pack das Farbzeug in der .js mal in

    $(document).ready(function () {
  • in: Return bestimmten text mit JQuery

    geschrieben von fabo

    Du hast mich falsch verstanden...

    http://jsfiddle.net/2aFP8/1/
  • in: sql felder anzeigen wo etwas bestimmtes nicht drin steht

    geschrieben von fabo

    tvrecklinghausen schrieb:
    SELECT * FROM tabelle WHERE nummer IS NOT 1 OR nummer IS NOT'2 OR nummer is NOT 3


    Zunächsteinmal ist es von der Logik her nicht richtig: Aufgrund der ORs würde der WHERE Teil immer TRUE ergeben:
    Nicht 1 oder nicht 2. Eines von diesen beiden trifft doch immer zu ;)

    Außerdem glaube ich, darf man IS NOT nicht mit Zahlen verwenden. IS NOT benutzt man zum Beispiel bei NULL:
    WHERE Nummer IS NOT NULL


    ... was heißen soll:

    SELECT * FROM tabelle WHERE nummer != 1 && nummer != 2 && nummer != 3


    Anstatt != kann auch <> verwendet werden.

    Wenn du das aber wirklich so verwendest, geht's auch so:

    SELECT * FROM tabelle WHERE nummer > 3
  • in: Return bestimmten text mit JQuery

    geschrieben von fabo

    Ohne mir das jetzt genau durchzulesen...

    .css("backgroundColor")


    Was das? Ich meine... Da gehört CSS-Code rein. Wenn du jedoch einem Element eine CSS-Klasse zuweisen willst, dann geht das mit

    .addClass('klassenname')


    Davon abgesehen... Du musst die gewählte Farbe auch in der DB speichern, da sonst nur der Chatter selbst diese sehen kann.
  • in: Return bestimmten text mit JQuery

    geschrieben von fabo

    Das mit dem alert war ein Beispiel. Du selbst bist der Einzige, der weiß, wie der Text in den Chat kommt.

    $('#chat_reload').load("index.php #chat_reload");


    Die Zeile müsstest du mir aber erklären ^^
  • in: Return bestimmten text mit JQuery

    geschrieben von fabo

    http://jsfiddle.net/j7QN6/5/
  • in: Suchen & ersetzen mittels PHP JS-Dateien online bearbeiten

    geschrieben von fabo

    shorten schrieb:
    Warum das denn!? Wenn du nicht helfen willst dann helf nicht aber bitte nicht sowas :( und es wird eigentlich nicht ein 500er herbeigeführt sondern sollte es einen Parse Error geben.


    Da bei Lima-City das Error-Reporting standardmäßig deaktiviert ist, gibt es einen 500er Fehler und keinen Parse-Error.

    Wenn du nicht helfen willst dann helf nicht aber bitte nicht sowas :(


    Das habe ich getan ;)
  • in: Suchen & ersetzen mittels PHP JS-Dateien online bearbeiten

    geschrieben von fabo

    Den 500er wirst du deswegen bekommen:

    $file = "quiz.js", FILE_USE_INCLUDE_PATH;
    $content = file_get_contents($file);


    Das ist syntaktisch völliger Käse.

    <?php
    $search = $_POST['original'];
    $replace = $_POST['neu'];
    
    $file = file_get_contents('quiz.js', FILE_USE_INCLUDE_PATH);
    
    $content = str_replace($search, $replace, $file);
    
    $fh = fopen($file, 'w');
    $content = fputs($fh, $content);
    fclose($fh);
    
    $lines = explode('\n', $content);
    
    foreach($lines as $key => $line) {
    	if(strlen(trim($line)) < 1) {
    		unset($lines[$key]);
    	}
    }
    
    $content = join("\n", $lines);


    Den Rest des Textes habe ich bewusst nicht gelesen ;)
  • in: Gibst es JSON und cURL?

    geschrieben von fabo

    Nachrüsten nein - Vorhanden ja.

    Siehe http://system.lima-city.de/info.php
  • in: MySQL Statistiken generieren

    geschrieben von fabo

    Das mit den Tabs hat schon seinen Sinn :p Aber danke, das mit AS hatte ich vergessen :)
  • in: MySQL Statistiken generieren

    geschrieben von fabo

    Also ich bin eigentlich so weit, dass ich mein Vorhaben nun problemlos durchführen kann:

    SELECT	DATE_FORMAT(FROM_UNIXTIME(row), '%d-%b-%y') AS day, COUNT(*) AS total 
    FROM	table
    WHERE	DATE_FORMAT(FROM_UNIXTIME(row), '%b-%y') = DATE_FORMAT(CURDATE() , '%b-%y')
    GROUP BY	day


    Dadurch erhalte ich zeilenweise eine Auflistung aller Ergebnisse aller Tage innerhalb des aktuellen Monats. Ich befürchte nur, dass das in der Form ein Overkill ist.
  • in: MySQL Statistiken generieren

    geschrieben von fabo

    Moin,

    ich stehe vor einem Problem und finde einfach keine Lösung dafür.

    Es geht darum, dass ich Daten aus einer MySQL-Tabelle in dieses Format bringen muss:

    [['23-Jun-13', 121], ['24-Jun-13', 578], ['25-Jun-13', 871], ['26-Jun-13', 2], ['27-Jun-13', 52], ['28-Jun-13', 98], ['29-Jun-13', 144], ['30-Jun-13', 261]];


    Nun habe ich eine Tabelle mit Daten. Jede Zeile enthält einen Unix-Timestamp.

    Was ich nun versuche ist, für jeden einzelnen Tag der vergangegen 28 Tage zu ermitteln, wie viele Einträge erstellt wurden. Also nicht, wie viele Einträge in 28 Tagen erstellt wurden, sondern für jeden Tag einzeln.

    Diese Information muss ich dann in dieses Format umwandeln

    ['tag-monat-jahr', anzahl]


    Mir stehen für diese "Aufgabe" MySQL, PHP und JS zur Verfügung. Aber ich bekomme es partout nicht hin. Daher bin ich für jede Hilfe dankbar.

    EDIT:

    Oh... Die Erleuchtung kam früher, als erwartet :)

    SELECT 
       DATE_FORMAT(FROM_UNIXTIME(row), '%d-%b-%y') AS day, 
       COUNT(*) AS total 
    FROM 
       table
    GROUP BY 
       day


    Bleibt eigentlich nur eine Frage: Wie limitiere ich das nun auf die letzten 28 Tage?

    EDIT:

    Okay, ich habe eine logisch gesehen bessere Lösung. Lediglich die Syntax könnte u.U. eine kleine Optimierung vertragen:

    SELECT	DATE_FORMAT(FROM_UNIXTIME(row), '%d-%b-%y') AS day, COUNT(*) AS total 
    FROM	table
    WHERE	DATE_FORMAT(FROM_UNIXTIME(row), '%b-%y') = DATE_FORMAT(CURDATE() , '%b-%y')
    GROUP BY	day
  • in: Alter Email /URL erkennen, geht das?

    geschrieben von fabo

    Wahrscheinlich zum Schutz vor Wegwerfadressen.
  • in: Chat: kein Login möglich

    geschrieben von fabo

    Adblock installiert, aber nicht aktiviert auf LC. Daran liegt es also nicht.

    Getestet in mit http und https, dem Opera, Chrome, Firefox und IE10, jeweils mit dem selben Ergebnis.
  • in: Chat: kein Login möglich

    geschrieben von fabo

    Siehe Topic.

    Der Community Chat zeigt ohne ersichtlichen Grund nur die Meldung "kein Login möglich" - Bin ich gebannt? Ist das Teil kaputt?
  • in: Auf lima-city mit GET-Parametern weiterleiten

    geschrieben von fabo

    htaccess in Verbindung mit mod_rewrite eignet sich dazu relativ gut.
  • in: Sinnlose Spam-Einträge

    geschrieben von fabo

    Es geht nur um Werbung, mehr nicht.
  • in: Text innerhalb eines BBCodes nicht matchen

    geschrieben von fabo

    Das sieht zwar nach Overkill aus, tut aber zumindest bei URL-BBCodes, was es soll. Schade, dass lookaheads und lookbehinds eine feste länge besitzen müssen :/

    Ich habe es jetzt testweise mal so:

    (?<!(\[\/))


    Vielleicht reicht das schon :) Danke auf jeden Fall.

    EDIT:

    Okay, das geht leider nicht. Also müsste ich die BBCodes, in denen die Ersetzung nicht durchgeführt werden soll, manuell hinzufügen. Aber selbst dafür scheine ich zu blöd:

    lookbehind assertion is not fixed length


    -->

    (?<!(\[\/url\]|\[\/quote\]|\[\/url=))
  • in: Text innerhalb eines BBCodes nicht matchen

    geschrieben von fabo

    Das wäre in meinem Falle etwas schlecht. Grundlegend geht es nämlich darum, die gefundenen Ergebnisse mit einem anderen BBCode einzuschließen, so soll aus

    [tagx='http://www.dailymotion.com/video/test1']http://www.dailymotion.com/video/test2[/tagx] | [tagy]Hello http://www.dailymotion.com/video/test3 World[/tagy] | [tagz]Hello World[/tagz] http://www.dailymotion.com/video/test4


    das werden:

    [tagx='http://www.dailymotion.com/video/test1']http://www.dailymotion.com/video/test2[/tagx] | [tagy]Hello http://www.dailymotion.com/video/test3 World[/tagy] | [tagz]Hello World[/tagz] [xxx]http://www.dailymotion.com/video/test4[/xxx]


    Da es sich hier im Forenbeiträge handelt, kann ich die bestehenden Tags nicht entfernen. Aber ich darf die Ersetzungen auch nur bei "freistehenden" URLs durchführen.
  • in: Datensätze der letzten 24 Stunden ausgeben PHP

    geschrieben von fabo

    $query1 = "SELECT * FROM `db_xxxxxx_1` WHERE `time` <= '".time()-(24*60*60)."'";
    $query2 = "SELECT * FROM `db_xxxxxx_1` WHERE `time` <= '".time()-(7*24*60*60)."'";
    $query3 = "SELECT * FROM `db_xxxxxx_1` WHERE `time` <= '".time()-(30*24*60*60)."'";


    Und davy... Es gibt einen Unterschied zwischen Unix-Timestamps und SQL-Timestamps :D
  • in: Text innerhalb eines BBCodes nicht matchen

    geschrieben von fabo

    Moin,

    ich stehe mal wieder vor einem Regex-Problem. Generell geht es darum, eine URL in einem String zu matchen:

    https?://(?:.+?\.)?dailymotion\.com/video/[A-Za-z0-9]+


    Das funktioniert auch. Das funktioniert aber auch dann, wenn sich diese URL innerhalb eines BBCodes befindet, was es wiederum nicht soll.

    Ich möchte aus folgendem Beispiel die URL http://www.dailymotion.com/video/test4 matchen, alle Anderen jedoch nicht:

    [tagx='http://www.dailymotion.com/video/test1']http://www.dailymotion.com/video/test2[/tagx] | [tagy]Hello http://www.dailymotion.com/video/test3 World[/tagy] | [tagz]Hello World[/tagz] http://www.dailymotion.com/video/test4


    Wie stelle ich das an? Ich habe es bereits mit einer Kombination aus lookbehind und lookahead probiert, jedoch erfolglos.
  • in: Variablen aus anderer PHP Datei ohne include

    geschrieben von fabo

    Da das ohne Include nicht wirklich geht, wirst du die Texte und Bilder wohl auslagern müssen.
  • in: Defragmentieren WinXp

    geschrieben von fabo

    Ich nutze zum Defragmentieren defragmentierbarer Datenträger "Ashampoo Magical Defrag". Vorteil: Die Festplatte wird durchgehend defragmentiert. Dies geschieht immer dann, wenn am PC gerade nicht gearbeitet wird :)
  • in: Tabellen mit Präfix löschen

    geschrieben von fabo

    $sql = "SHOW tables FROM $db LIKE '%wcf1_%'";
    $result = mysql_query($sql);
    
    while ($row = mysql_fetch_row($result)) {
        mysql_query("DROP TABLE {$row[0]}");
    }


    Du könntest SHOW tables FROM $db LIKE '%wcf1_%' auch via phpMyAdmin ausführen und einfach die Ergebnisse löschen ;)
  • in: substr rechtsbündig ausgeben

    geschrieben von fabo

    Und die Anzeige soll nun so aussehen?

    123
     12
      1
    ---
    321
     21
      1


    Schau dir mal die PHP-Funktion str_pad an. Die sollte in etwa das gewünschte Ergebnis liefern.

    EDIT:

    <?php
    $dex = array(
    	123,
    	456,
    	'',
    	789,
    	999,
    	0,
    	12,
    	34,
    	'',
    	5,
    	678,
    	90
    );
    
    echo '<pre>';
    foreach($dex as $num) {
    	if(intval($num) > 1) {
    		echo str_pad($num, 3, ' ', STR_PAD_LEFT) . '<br />';
    	} else {
    		echo '---<br />';
    	}
    }
    echo '</pre>';
    
    ?>


    Nur mal so als Beispiel.
  • in: substr rechtsbündig ausgeben

    geschrieben von fabo

    Okay, bei manchen steht Dex 0, bei manchen gar nichts und bei anderen steht ein Wert. Was soll nun tatsächlich dort stehen?
  • in: substr rechtsbündig ausgeben

    geschrieben von fabo

    limabone schrieb:
    Stichwort strrev().
    $wert .= strrev(substr($row['date'], 0, 11));
    wenn das nicht klappt, liegts an deiner Datenbank.

    PS: mit
    SELECT REVERSE(SUBSTR('date',0,11)) FROM ...
    sparst du ein bisschen Zeit beim Laden deiner Seite. Denk dran: Wenn möglich immer über SQL arbeiten, ist viel schneller als PHP.


    strrev kannst du dafür so nicht verwenden, da aus Wert678901 dann 109876treW würde.

    @TE

    Kannst du noch einmal bitte ein anderes Beispiel posten? Einfach als Referenz, denn 100%ig habe ich den Sinn nicht verstanden und kann deshalb auch noch nicht mit einer Lösung dienen.
  • in: SPAM Bot vs. Wordpress

    geschrieben von fabo

    kaerntenblicke schrieb:
    Würdest du für Laien wie mich bitte erklären, was das ist und wie ich es anwende/installiere?


    http://wordpress.org/extend/plugins/stop-spammer-registrations-plugin/
    http://www.bot-trap.de/wiki/wikka.php?wakka=EinbauWordpress
  • in: Fehler seit neuer PHP-Version

    geschrieben von fabo

    Würde mich wundern, wenn es unter anderen PHP-Versionen funktioniert, da du htmlspecialchars falsch anwendest. So sollte es klappen:

    <?php
    session_start();
    
    function html($str) {
        return htmlspecialchars($str, ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
    }
    
    $login        = $_SESSION['login'];
    $nachricht    = html(mysql_real_escape_string($_POST['nachricht']));
    $ereignis     = html(mysql_real_escape_string($_POST['ereignis']));
    $dattag       = mysql_real_escape_string($_POST['dattag']);
    $datmon       = mysql_real_escape_string($_POST['datmon']);
    $datjahr      = mysql_real_escape_string($_POST['datjahr']);
    $stunde       = mysql_real_escape_string($_POST['stunde']);
    $minute       = mysql_real_escape_string($_POST['minute']);
    $ort          = html(mysql_real_escape_string($_POST['ort']));
    $beschreibung = html(mysql_real_escape_string($_POST['beschreibung']));
    
    $timestampereig = mktime($stunde, $minute, 0, $datmon, $dattag, $datjahr);
    
    if (isset($login)) {
        if (empty($nachricht) AND empty($ereignis)) {
            /* Hier zwei Formulare, welche die Eingabewerte an das gleiche Dokument via POST übergeben */
        }
        if (isset($nachricht) AND !empty($nachricht)) {
            /* Wenn man das erste Formular abgeschickt hat, 'sollte' ein Eintrag in die Datenbank folgen */
        }
        if (!empty($ereignis) AND !empty($dattag) AND !empty($datmon) AND !empty($datjahr) AND !empty($ort) AND !empty($beschreibung)) {
            /* Und hier die Auwertung für das zweite Formular */
        }
    } else {
        echo '<p><b>Bitte logge dich ein!</b></p>';
    }
    ?>
  • in: SPAM Bot vs. Wordpress

    geschrieben von fabo

    Ich empfehle Stopforumspam + Bot-Trap. Danach ist Ruhe :)
  • in: DSL-SpeedTest Tester gesucht

    geschrieben von fabo

    Allein mit der Endung ist's auch nicht getan :p Das müssen schon richtige JSON-Dateien sein.

    Aber das gesamte Projekt bei Google zu hosten macht sicherlich den meisten Sinn. Die Frage jedoch ist, ob du zwingend PHP brauchst. Denn das lässt sich bei Google (AppEngine) nur via Java nutzen.
  • in: DSL-SpeedTest Tester gesucht

    geschrieben von fabo

    Die Fritzen geben halt nur einen groben Durchschnittswert an.


    Grob ist gut. Ich habe eine 16k Leitung und 6k sind weniger als die Hälfte. Aber machste nix....

    @philip1

    Nicht ohne Weiteres. XMLHttpRequest kann standardmäßig aus sicherheitsgründen nicht auf externe Hosts zugreifen, wenn diese den Zugriff nicht durch spezielle Header explizit erlauben.

    An Stelle einer Textdatei könntest du es mit JSON versuchen. Das geht auch über externe Hosts.

    Ansonsten kannst du aber das gesamte Projekt auf Google auslagern. Dann musst du dich nicht kreuz und quer über die Welt verbinden.
  • in: Beste Methode zum Auslesen lokaler Dateien

    geschrieben von fabo

    shopeau schrieb:
    http://php.net/manual/de/book.curl.php


    Danke, aber ich werde unter Garantie zum Auslesen LOKALER Dateien kein Curl verwenden ;)
  • in: str_replace ersetzt nichts

    geschrieben von fabo

    <?php
    $word = 'Heizölrückstoßabdämpfung';
    $word = utf8_decode(preg_replace('#[^\pL]#u', '', $word));
    
    $search = array(
        'ä',
        'ö',
        'ü',
        'ß',
        'Ä',
        'Ö',
        'Ü'
    );
    
    $replace = array(
        'ae',
        'oe',
        'ue',
        'ss',
        'Ae',
        'Oe',
        'Ue'
    );
    
    echo str_replace($search, $replace, $word);
  • in: DSL-SpeedTest Tester gesucht

    geschrieben von fabo

    philip1 schrieb:
    Danke für die vielen schnellen Rückmeldungen!!! :thumb:

    An dem Problem mit Mozilla Firefox arbeite ich bereits, aus irgendeinem Grund gibt FF den XMLHttpRequest nicht wieder frei...

    Dass der Lima-city-server vielleicht zu langsam ist, hatte ich mir fast schon gedacht. Kennt jemand einen kostenlosen, schnellen free-Hoster? PHP muss dieser nicht haben, nur die Testdaten (ca. 10 MB) müssen abgespeichert werden können.


    Google Code wäre eine Möglichkeit. Bei mir stimmen die Ergebnisse jedoch. Und ich bin mal wieder über die Tatsache erschrocken, dass Fritzbox 13,4 MBit/s Downstream anzeigt und die Speedtests alle nicht über die 7M hinaus gehen.
  • in: JavaScript encode URL

    geschrieben von fabo

    shorten schrieb:
    Nächstes mal googelst du bevor du frägst, einverstanden? Ich wollte mich jetzt nicht unbeliebt machen, jedoch lassen sich einfache Fragen am besten mit Google oder einer anderen Suchmaschiene beantworten.

    Hier ein Link der dir weiterhelfen wird:
    http://de.selfhtml.org/javascript/objekte/unabhaengig.htm


    Sinn eines Forums nicht verstanden. Setzen, 6. Diesen dämlichen Kommentar hättest du dir sparen können, denn die Frage hat durchaus Daseinsberechtigung.

    @TE

    encodeURIComponent ist die gängiste Methode. Alles Andere hat dir hackyourlife ja schon gesagt :)
  • in: Beliebtester Browser

    geschrieben von fabo

    Ich verwende Comodo Dragon (ein weiteres Chromium Derivat). Chrome ist klasse. Firefox nutze ich eigentlich nur noch als Javascript Debugger :p
  • in: Beste Methode zum Auslesen lokaler Dateien

    geschrieben von fabo

    Hiho,

    bin derzeit dabei, ein Script von mir zu optimieren. Dabei bin ich auf die Frage gestoßen, was wohl die am kompatibelsten und zugleich performanteste Möglichkeit ist, eine Datei auszulesen.

    Zur Zeit verwende ich file_get_contents und bin damit bisher immer gut gefahren. Ich weiß, dass es Alternativen gibt. Aber welche ist die Beste?

    EDIT:

    In meinem Falle geht es übrigens um eine normale Textdatei, die ein Json-Array beinhaltet.
  • in: Filezilla - Virus!

    geschrieben von fabo

    software-brosch schrieb:
    iFrames sollte man auf Websites nicht mehr verwenden. Es gibt auch einen Sandbox-Modus für iFrames der etwas schützt: http://t3n.de/news/html5-sandbox-modus-iframes-357278/


    Das ist jetzt aber eher eine Info an den Hacker :p
  • in: Filezilla - Virus!

    geschrieben von fabo

    Das Problem wird weniger Filezilla sein, sondern viel mehr dein FTP selbst. Entweder eine Sicherheitslücke im verwendeten Script oder ein schlecht gewähltes Passwort. Wenn es wirklich durch Filezilla kommt, hast du dir an einer anderen Stelle einen Trojaner eingefangen, der mitunter deinen Filezilla mißbrauchen. Vorstellen kann ich mir dies jedoch nicht. Es ist allgemein bekannt, dass FZ die Kennwörter nicht sicher auf der Festplatte hinterlegt. Die Wahrscheinlichkeit, dass die Kennwortliste durch einen Trojaner auf deinem PC an den Hacker gegangen ist, ist meiner Ansicht nach weitaus höher. Aber im Normalfall stellen die Burschen mehr an, als eine Webseite mit Iframes zu pflastern.
  • in: htaccess Meldung ausgeben?

    geschrieben von fabo

    hackyourlife schrieb:
    fabo schrieb:
    ErrorDocument 404 "Fehler 404.
    Das funktioniert schon. Auch mit anderen Fehlercodes.
    Es ging aber nicht um Fehler sondern um Weiterleitungen, die direkt in einem String enden sollten (ohne Fehler), also hilft deine Aussage nicht weiter ;-)


    Falsch verstanden :D
  • in: htaccess Meldung ausgeben?

    geschrieben von fabo

    ErrorDocument 404 "Fehler 404.


    Das funktioniert schon. Auch mit anderen Fehlercodes.
  • in: GTX 285 - Suche Alternative

    geschrieben von fabo

    Moin,

    in meinem PC ist noch eine GTX 285 verbaut. Grundsätzlich bin ich zufrieden mit der Karte, jedoch kommt sie scheinbar etwas in die Jahre:

    1. Lüfter werden bei gewissen Anwendungen/Spielen extrem laut
    2. Bei Spielen wie z.B. Path of Exile oder Archeblade, aber auch wenn ich den Loginscreen von WoW länger laufen habe, empfängt der Bildschirm kein Signal mehr und der PC muss komplett neu gestartet (resetted) werden

    Daher bin ich auf der Suche nach einer neuen Grafikkarte. Wichtig ist, dass die neue Karte keine Unsummen kostet. Ich möchte nicht unbedingt mehr als 100€ ausgeben, aber auch nicht auf Qualität verzichten müssen.

    Hat wer Tips?
  • in: Windows 7 macht selbstständig, grundlos Reboots

    geschrieben von fabo

    Du wirst mehr Infos zu deiner Hardware ausspucken müssen.

    Du könntest aber mal ein BIOS-Update versuchen.
  • in: Android-Root Rechte

    geschrieben von fabo

    haser schrieb:
    Ich habe gelesen, dass bei Geräten mit geringem Speicher Rootrechte eigentlich "Pflicht" sind, da man dur dann Apps auf externen Speicher auslagern kann.

    Ist das so? Bisher habe ich es noch nicht gemacht, nötig wäre es aber schon; denn so geht nichts mehr.


    Ab einer gewissen Android Version (glaub 4.2) funktioniert das nicht mehr. Da wird der Speicher vom System selbst irgendwie veraltet. Angeblich - Denn bei mir funktioniert das nicht. Interner Speicher voll - SD Karte leer.

    @stefanmastaller

    Die Garantie erlischt aber nur in Bezug auf Softwaredefekte. Mal davon abgesehen, dass man die sog. "Stock-Rom" einspielen kann und das Gerät somit in den Werkszustand bekommt. Bei Samsung Geräten muss man noch den Update-Counter zurücksetzen (dafür gibt es im Playstore eine App namens "Triangle Away").
  • in: Android-Root Rechte

    geschrieben von fabo

    thecity schrieb:
    fabo schrieb:


    Mir fallen auf Anhieb nur drei Nachteile ein:

    1. Wurde das Gerät gerooted, erhält man keine Firmware-Updates mehr durch den Hersteller (zumindest ist das in den meisten Fällen so)

    2. Wenn man selbst volle Kontrolle über das Gerät hat, können u.A. auch Diebe volle Kontrolle erlangen. Mit Root-Rechten lässt sich beispielsweise die Bildschirmsperre knacken. Das ist weniger cool.

    3. Apps können Vollzugriff auf ein System bekommen. Man stelle sich mal vor, Whatsapp würde Root-Rechte benötigen...



    zu 1: bei den beisten geräten ist es meines wissens so, dass man immernoch OTA-Updates bekommt, da der Updater ja nicht weiß ob das handy gerootet ist oder nicht. Allerdings muss man das gerät in den meisten fällen dann neu rooten.

    2. das stimmt, aber wenn das handy geklaut ist können auch diebe das handy rooten also macht das auch kein unterschied, außer das zum Beispiel antidiebstalsoftware einen normalen hardreset des gerätes überlebt.

    3. Bei SuperSu bekommt man immer wenn eine app root-rechte haben will eine Benachrichtigung ob man, dies erlauben will. Das sollte man natürlich nicht Programmen erlauben die man nicht kennt.


    1. Ich kriege auf meinem Samsung Tab nach Root KEINE OTA-Updates oder dergleichen mehr. Mein Tab weiß (ohne Triangle Away), dass es verändert wurde.

    2. Im Prinzip hast du Recht. Aber nicht jeder Dieb weiß, wie man ein gesperrtes Gerät rooted :p

    3. Bekommst du bei allen Superuser-Apps. Aber sowas fragt nicht ;)
  • in: Zwischenablage leeren bei Event

    geschrieben von fabo

    Um es kurz zu machen: Mit Javascript geht das Gott-Sei-Dank nicht.
  • in: Android-Root Rechte

    geschrieben von fabo

    hpage schrieb:
    Android Root rechte lohnen sich nicht mehr, da es Apps die ohne Root Rechte nicht funktionieren jetzt schon veraltet sind.
    Es gibt neuere Methoden um die Root Rechte zu umgehen.
    Z.B. Ad block plus macht das gleiche wie die anderen Werbeblocker, der einzige unterschied ist, dass man keine Root Rechte braucht.

    Und das ist nicht nur bei den Werbeblockern auch bei anderen Apps.
    Solche Alternativen funktionieren aber leider oft erst ab Android 4.0, darum lohnt sich das Rooten von Geräten einer früheren Android Version.


    Ein großer Vorteil, der sich ohne Root-Rechte nicht bietet ist z.B. die Sicherung von Apps (z.B. Titanium Backup). Auch Diebstahl-Systeme (u.A. Kaspersky und AVG) benötigen Root. Die Aussage, dass Apps, die Root-Rechte verlangen, veraltet sind, ist schlicht und ergreifend unwahr. Alles, was tiefer im System arbeitet, benötigt Root. Das gilt auch für aktuelle Software.

    diemaen-warz schrieb:
    Das Problem beim Rooten ist auch dass man Roms installieren muss, sprich eine bearbeitete Version der Android Software [...]


    Was erzählst du denn da?! Das ist Schwachsinn. Wenn überhaupt, muss einzig der Bootloader ersetzt werden. Eine neue Android Version ist nicht von Nöten.

    Mir fallen auf Anhieb nur drei Nachteile ein:

    1. Wurde das Gerät gerooted, erhält man keine Firmware-Updates mehr durch den Hersteller (zumindest ist das in den meisten Fällen so)

    2. Wenn man selbst volle Kontrolle über das Gerät hat, können u.A. auch Diebe volle Kontrolle erlangen. Mit Root-Rechten lässt sich beispielsweise die Bildschirmsperre knacken. Das ist weniger cool.

    3. Apps können Vollzugriff auf ein System bekommen. Man stelle sich mal vor, Whatsapp würde Root-Rechte benötigen...
  • in: xampp update

    geschrieben von fabo

    Das liegt an PHP 5.4, das ist etwas strenger voreingestellt in Bezug auf Fehlermeldungen. Zur Behebung:

    $eintrag = (isset($_POST['eintrag']) ? $_POST['eintrag'] : '');


    Der Fehler entsteht, weil die Post-Variable nicht existiert.
  • in: Retromusik komponieren

    geschrieben von fabo

    http://www.unfungames.com/mariopaint/

    Beste.
  • in: komische Werbung auf Homepage

    geschrieben von fabo

    Und wenn ihr dann mal fertig seid mit dem Kindergarten, könnten wir uns ja noch einmal überlegen, was das Problem des TE sein könnte. Wobei ich nach wie vor zu einem BHO tendiere.
  • in: Benachrichtigung bei leerem Download Server

    geschrieben von fabo

    Gehen tut das, wenn man seine Downloads tracked d.h. beispielsweise ein PHP-Script alà download.php?file=blabla.ext

    Das Script erzeugt dann den Download.

    In einer DB oder von mir aus auch Textdatei steht dein Gesamtvolumen. Dort ziehst du dann die Dateigröße bei jedem Download ab.

    Rest dürfte selbsterklärend sein.

    Ansonsten auf die Umsetzung seitens LC warten.
  • in: Verzeichnis-Struktur in Array ablegen ?

    geschrieben von fabo

    <?php
    function dirTree($pattern = '*', $flags = 0, $path = false, $depth = 0, $level = 0) {
        $tree = array();
        
        $files = glob($path . $pattern, $flags);
        $paths = glob($path . '*', GLOB_ONLYDIR|GLOB_NOSORT);
        
        if (!empty($paths) && ($level < $depth || $depth == -1)) {
            $level++;
            
            foreach ($paths as $sub_path) {
                $tree[] = dirTree($pattern, $flags, $sub_path . DIRECTORY_SEPARATOR, $depth, $level);
            }
        }
    
        $tree = array_merge($tree, $files);
    
        return $tree;
    }
    
    $tree = dirTree('*.*', 0, '.', -1);
    
    echo '<pre>';
    print_r($tree);
    echo '</pre>';
    ?>
  • in: Fehlermeldung: [] operator not supported ...

    geschrieben von fabo

    Fehler in Zeile 27, bei einem 25-zeiligen Script? Okay... Fakt ist, dass eine deiner Variablen als Array aufgerufen/verwendet wird, diese zuvor jedoch als String initialisiert wurde.

    Beispiel:

    <?php
    $foo = 'Test';
    $foo[] = 'bar';
    
    var_dump($foo);
    ?>
  • in: komische Werbung auf Homepage

    geschrieben von fabo

    http://marvinkleinmusic.de/design/


    Immer diese Korinthenkackerei.
  • in: Note 10.1 - Display kaputt?

    geschrieben von fabo

    menschle schrieb:
    hpage schrieb:
    php-test1 schrieb:
    ... und die gesetzlich vorgeschriebene Grantie von 2 jahren noch lange nicht abgelaufen ist.
    Gehe demnächst einfach in Media Markt, in dem du das Gerät gekauft hast, und gegen vorlage des Kassenzettels musst du auf jeden fall ein neues Gerät bekommen.
    Das Grät muss bei einen kaputt innerhalb von 14 Tagen ausgetauscht werden.
    Wenn ein Gerät innerhalb von 2 Jahren kaputt ist muss es nur Repariert werden .
    Beides nett gemeint, jedoch trotzdem falsch.
    Der Unterschied liegt in der Garantie und der Gewährleistung begründet.

    Der verkaufende Shop ist keineswegs verpflichtet, ein Gerät umzutauschen - es sei denn, er bietet das an. Es besteht kein Umtausch- oder Rückgaberecht, es sei denn, es wurde über einen Online-Shop bezogen.
    Aus Kulanzgründen wird jedoch meistens zugunsten der Käufer gehandelt - spätestens nach Vorsprache beim Filialleiter.

    Der verkaufende Shop ist keineswegs verpflichtet, ein Gerät zu ersetzen - sondern der Hersteller.
    In dem Fall besteht die Verplichtung des Shops darin, das Gerät einzuschicken, um den Garantiefall geltend zu machen.
    Meistens wird jedoch auch in diesem Fall aus Kulanzgründen zugunsten der Käufer darauf verzichtet - spätestens nach Vorsprache beim Filialleiter.

    In beiden Fällen sollten jedoch keine Schäden am Gerät zu sehen sein, die offensichtlich nach dem Kauf entstanden sind.

    Dass umgetauscht bzw. ersetzt wird, ist in den meisten Fällen tatsächlich Kulanz der Geschäfte, da Kunden zufrieden - und mit dem Gefühl, gut behandelt worden zu sein - das Haus verlassen sollen.


    Ich habe mir für das selbe Gerät eine Versicherung beim Media Markt gekauft. Wenn also wirklich mal etwas ist... Hin und fertig.

    @mrandroid

    Wenn es sonst nirgendwo auftritt, wird es wohl an Subway-Surfer liegen. Logisch, oder?
  • in: komische Werbung auf Homepage

    geschrieben von fabo

    Das ist keine Werbung von LC, das ist Malware. Eventuell ein BHO oder dergleichen.
  • in: MySQL: In mehreren Datenbanken Tabellenfelder hinzufügen

    geschrieben von fabo

    ALTER TABLE `datenbank`.`tabelle` ....
  • in: PHP Session Login: Session wird immer wieder zerstört

    geschrieben von fabo

    PHP 5.4.13-1~dotdeb.1 (cli) (built: Mar 21 2013 08:29:56)
    Copyright (c) 1997-2013 The PHP Group
    Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
        with the ionCube PHP Loader v4.2.2, Copyright (c) 2002-2012, by ionCube Ltd.


    Ich schätze mal, in der php.ini ist der Wurm drin :/
  • in: PHP Session Login: Session wird immer wieder zerstört

    geschrieben von fabo

    Ich hab das Problem auch, aber auf meinem eigenen Server :p Entweder liegt das an der PHP-Version, oder an irgendeiner blöden Einstellung.
  • in: Prüfen ob externe Seite oder Bild online ist ?

    geschrieben von fabo

    Du probierst das aber nicht bei Lima-City, oder? Läuft hier nicht PHP 5.4?
  • in: Fehler in Chat.

    geschrieben von fabo

    Versuchs mal ohne Shorttags, also anstatt <? mit <?php
  • in: Fehler in Chat.

    geschrieben von fabo

    Öhm... Und welche Fehlermeldung bekommst du?
  • in: Alle Mailadressen ersetzen die 2.

    geschrieben von fabo

    Nabend,

    vor einiger Zeit hatte ich mal ein Thema Alle Mailadressen ersetzen erstellt. Leider hänge ich noch immer an diesen Problemen:

    1. Es darf keinerlei Umwandlung innerhalb des <title>-Tags stattfinden
    2. Es darf keinerlei Umwandlung innerhalb von Inputfeldern (also auch hidden) geben
    3. Es darf keinerlei Umwandlung innerhalb von <script und <style geben


    Ich hatte derweil etliche Sachen ausprobiert, die allesamt nicht funktionieren wollten. Da ich nun langsam etwas wahnsinnig werde, frage ich einfach noch einmal hier (da ich ja auf das vorherige Thema nicht mehr antworten kann).

    Die letzte Lösung (danke nochmal an hackyourlife) ist:

    <?php
     
    header('content-type: text/plain');
     
    $whitelist = array('whitelist@example.com');
     
    $input = <<< ETX
    <a href="mailto:foo@bar.tld">foo@bar.tld</a>
    <a href="mailto:foo@bar.tld">Hallo World foo@bar.tld <img src="bild.ext" /></a>
    <a href="mailto:foo@bar.tld">Email</a>
    <a href="mailto:foo@bar.tld">bar@foo.tld</a>
    <a class="bla" href="mailto:foo@bar.tld" title="xyz">bar@foo.tld</a>
    <a href="http://domain.tld">foo@bar.tld</a>
    es gibt auch nicht verlinkte Mail-Adressen wie mail@example.com, welche irgendwo im Text vorkommen.
    Damit es auch kompliziert wird ist <a href="http://domain.tld?x=foo@bar.tld">das</a> auch erlaubt
    Eine Whitelist gibt es auch, siehe whitelist@example.com
    Mail-Adressen ala <a href="mailto:mail@example.com" class="whitelist">mail@example.com</a> sind auch dabei.
    Steht etwas auf der Whitelist wird es auch nicht ersetzt: <a href="mailto:whitelist@example.com">whitelist@example.com</a>.
    ETX;
     
     
    $link = '<a (.*)href=([\'"])(.+)\\2([^>]*)>(.*)<\/a>';
    $mail = '\\b[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}\\b';
     
    $pattern = "/$link|($mail)/U";
     
    function emailcallback($match) {
        global $whitelist;
        if(in_array($match[0], $whitelist))
            return $match[0];
        return strrev($match[0]);
    }
     
    function callback($match) {
        global $mail, $whitelist;
        $class = 'class="whitelist"';
        if(!empty($match[6]))
            return in_array($match[6], $whitelist) ? $match[6] : strrev($match[6]);
        $whitelisted = (strpos($match[1], $class) !== false) || (strpos($match[4], $class) !== false);
        if($whitelisted) {
            $href = $match[3];
            $content = $match[5];
        } else {
            $href = (!in_array(substr($match[3], 7), $whitelist) && (strpos($match[3], 'mailto:') === 0)) ? 'x.php?a=' . urlencode(base64_encode(substr($match[3], 7))) : $match[3];
            $content = preg_replace_callback("/$mail/U", 'emailcallback', $match[5]);
        }
        return "<a {$match[1]}href=\"$href\"{$match[4]}>$content</a>";
    }
     
    $output = preg_replace_callback($pattern, 'callback', $input);
     
    echo(<<< ETX
    INPUT:
    $input
     
    ====
     
    OUTPUT:
    $output
    ETX
    );


    Das funktioniert auch wunderbar. Lediglich die obigen "Fehler" machen mir etwas zu schaffen und ich finde einfach keine Lösung.
  • in: HTML Seite in ein Exe umwandeln (C++)

    geschrieben von fabo

    Schau dir mal Phalanger an. Ist zwar eher für PHP, aber dein Vorhaben dürfte sich damit auch problemlos umsetzen lassen.
  • in: PHP Replacer geht nicht

    geschrieben von fabo

    html_entity_decode

    Dass das alles mit Datenbanken einfacher ist, ist dir aber bekannt, oder?
  • in: PHP Rechner erstellen

    geschrieben von fabo

    http://www.html.de/php/24269-simpler-taschenrechner.html

    Ich frage jetzt nicht, warum sich die Codes so ähnlich sehen :holy:

    Warum du dieses Tutorial hier erstellst, ist mir ebenfalls ein Rätsel.

    Und was zum Teufel ist das?

    $SCHNITT = $DURCH + + $DURCH + $MUND;


    Und auch so verstehe ich deine Rechnung nicht, da Durchschnitt = Noten gesamt / Anzahl Arbeiten d.h.

    $SCHRIFT = $EINS + $ZWEI + $DREI + $VIER;
    $DURCH = $SCHRIFT /4;


    ist schon das Ergebnis.

    Irgendwie kommt mir das so vor, als wolltest du nur ein paar Besucher für deine Webseite sammeln.
  • in: Youtubevideos Einnahmen

    geschrieben von fabo

    comanderkai77 schrieb:
    Das Problem bei solchen Sachen ist immer nur, dass du sehr sehr wenig Geld bekommst und es erst ab 60 € aufwärts ausgezahlt wird.
    Aus dem Grund habe ich auch die Werbung von meinem Youtube Kanal entfernt. Es lohnt sich einfach nicht.


    Afaik sogar erst 100€.

    Also ich habe seit meiner Auszahlung im Dezember aktuell wieder über 80€ auf meinem Adsense-Konto. Einzig durch Youtube, versteht sich.

    So schwer ist das also gar nicht. Zumindest dann nicht, wenn man dem Publikum die richtigen Inhalte bietet.
  • in: Wbb Lite installation problem

    geschrieben von fabo

    Und weil wir alle Hellseher sind, wissen wir auch, was in der Fehlermeldung steht...

    http://www.lima-city.de/thread/woltlab-burning-board-korrekt-installieren
  • in: secpol.mcs auf Windows 7 Home Premium

    geschrieben von fabo

    secpol.msc unter Windows 7 Home Premium geht afaik nicht. Dir bleibt wohl nur, über die Kommandozeile zu arbeiten.
  • in: .htaaccess mod_rewrite

    geschrieben von fabo

    $0 gibt's auch nicht wirklich. Zumindest dürfte es nicht den Zweck erfüllen, den du suchst.

    Liste mir mal alle Sachen auf, die umgeschrieben werden soll. Damit sollte es einfacher sein, entsprechende Rewrites zu schreiben.
  • in: dauerhafte Login

    geschrieben von fabo

    hcms schrieb:
    tee schrieb:
    Für die Benutzer, die Cookies deaktiviert haben, solltest du die Session_ID jeweils mit einem hidden field übergeben, andernfalls werden diese dauerhaft nur das Loginfenster betrachten können! :thumb:


    naja eigentlich sollte der server die sessionid automatisch als transparenten get-link an jede relative url hängen wenn cookies nicht zur verfügung stehen...


    Eben nicht, sonst wär's automatisch aktiviert. Siehe auch session.use_trans_sid

    Sollte der Server das also deaktiviert haben, müsste man an dieser Stelle scriptseitig nachhelfen. Wobei die Leute gern URLs mitsamt SID versenden und sich am Ende wundern, dass da irgendwer in ihrem Account rumpfuscht.
  • in: Eigenes Theme erstellen nach Wordpress 3 Handbuch ...

    geschrieben von fabo

    1. Frage: Ist das sinnvoll oder sollte ich vielleicht doch gleich Wordpress bei Lima installieren?


    Ob das Sinn macht, kann dir keiner sagen. Ich persönlich kann dir eigentlich nur nahe legen, es direkt auf dem Server zu machen, wo es später live betrieben werden soll. So sparst du dir später den Aufwand, eventuell vorhandene Einstellungen zwecks URL, Cache, usw. anzupassen. Denn oftmals probiert man auf einem Lokalserver herum, spielt das dann auf einen richtigen Server (z.B. Lima-City) und wundert sich darüber, dass die Seite weiß ist, das Layout zerpflückt oder noch ganz andere, eventuell noch viel größere Probleme.

    2. Ist es denn üblich, das Themes für Wordpress in Xhtml verfasst sind, bzw. hat es Vorteile?
    Da wenn es nach mir ginge, ich davon ausgehe, das Xhtml sowieso dzt. erst mal nicht weiterentwickelt wird und was ich weiß dzt. Html 5 der Standart überhaupt ist!?
    Was spricht dagegen das Theme Grundgerüst in Html 5 abzuhandeln?


    Es macht für deine Zwecke kaum einen Unterschied, ob du nun XHTML oder HTML5 komform arbeitest, da sich bei HTML5 an der XHTML-Syntax afaik nichts geändert hat. Im Prinzip ist HTML5 nur erweitertes HTML 4 / XHTML. Es sind viele neue Dinge hinzu gekommen und außer der Tatsache, dass das noscript-Tag in HTML5 nicht erlaubt ist, wüsste ich nichts von irgendwelchen "Änderungen".

    Jetzt könntest du dich natürlich mit den neuen HTML5-Elementen auseinander setzen und deine Themes/Templates mit HTML5 und den neuen Elementen aufbauen. Dann kämen wir aber zu dem Grund, warum ich dir von HTML5 noch abraten würde: Nicht jeder Browser kann es.

    Auch wenn jeder moderne Browser in der Lage ist, HTML5 Elemente zu interpretieren, hinken einige ältere Modelle noch hinterher. Grundsätzlich ist das kein Problem, aber wenn man HTML5-Unterstützung voraussetzt, stehen wohlmöglich noch viele Leute vor verschlossener Tür.

    Daher empfehle ich dir, vorerst bei XHTML/CSS2 zu bleiben. Das versteht jeder Browser gleichermaßen (obgleich jeder Browser es gern anders interpretiert). In 1-2 Jahren hat sich HTML5 wohl vollends durchgesetzt. Bis dahin ist man mit XHTML noch lang gut unterwegs.

    3. welchen Editor verwendet Ihr? Gibt es einen WYSIWYG HTML Editor ala Kompozer (deutsch und OpenSource) der auch PHP verarbeiten kann und v.a. auch mit PHP, Html5 und CSS 3 klarkommt - was den Kompozer betrifft, bin ich mir nun nicht sicher ob dieser auch PHP lesen kann? Im Moment verwende ich Notepad++!


    Zum schnellen Bearbeiten von Scripts reicht Notepad++ definitiv aus. Jedoch gibt es oftmals auch Situationen, in denen man den Überblick über eingebundene und verwendete Klassen und Methoden verliert. In diesem Falle sollte man sich evtl. ein IDE zulegen. Hier empfehle ich persönlich Netbeans. Es gibt auch Alternativen, z.B. Eclipse, wobei ich Netbeans am Einfachsten finde.

    Alles Geschmackssache :)

    wie mache ich das richtig, wenn ich meinen geschriebenen Code hier einstellen/reinkopieren will, so das dieser einen Scrollbalken hat, bei längeren Texten? Bitte um Erklärung wie man das genau macht - DANKE


    Zum Beispiel mit dem Code-BBCode (der afaik auch Syntaxhighlighting unterstützt, wenn man die verwendete Sprache als Parameter mit gibt).
  • in: dauerhafte Login

    geschrieben von fabo

    Eine session muss/sollte vor dem Erzeugen einer Ausgabe erfolgen d.h. eigentlich immer direkt nach <?php:

    <?php
    session_start();
    
    include 'seitenkopf.php';
    
    // ....
  • in: MySQL Abfrage funktioniert nicht richtig

    geschrieben von fabo

    $ergebnis = $mysqli->query("SELECT ID FROM wp_posts WHERE post_content LIKE '%" . $url . "%' ORDER BY ID");
    $erstring = $ergebnis->fetch_array();


    So reicht die Abfrage.

    Ich würde mir testweise den Query ausgeben lassen, der beim Aufruf erzeugt wird und ggf. über phpMyAdmin oder dergleichen gegenprüfen.

    $query = "SELECT ID FROM wp_posts WHERE post_content LIKE '%" . $url . "%' ORDER BY ID";
    die($query);


    Zudem wäre es interessant zu wissen, wie genau $url aufgebaut ist.
  • in: .htaaccess mod_rewrite

    geschrieben von fabo

    Damit wird auch alles umgeschrieben:

    .*


    Zumal das so eh nicht parallel funktionieren kann. Ich würde es eher so probieren:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^/?([a-zA-Z0-9]*)/?$ index.php?s=$1 [L]
    RewriteRule ^/?([a-zA-Z0-9]*)/([0-9]*)/?$ index.php?s=$1&id=$2 [L]


    Du könntest aber auch mit einem Prefix bzw. einem Suffix arbeiten, das würde etwas übersichtlicher:

    RewriteRule ^/?ticket-([0-9]*)\.html$ index.php?s=ticket&id=$1 [L]


    Das entspricht dann u.A. ticket-5.html.
  • in: Includes und Sessions

    geschrieben von fabo

    So lang keine Ausgabe vor der Session erfolgt, kannst du das halten wie ein Dachdecker. So, wie du es geplant hast mit deiner header.php ist das absolut in Ordnung.

    Es gibt auch die Möglichkeit, mit einem Output-Buffer zu arbeiten. In seltenen Fällen unvermeidlich. In deinem aber wohl eher unnötig.
  • in: Spezielle Nummerierung von Datensätzen

    geschrieben von fabo

    Je nachdem, was du vor hast, kann man das auch einfacher lösen. Wenn diese Nummerierung beispielsweise ausgegeben werden soll, kann man an Stelle der ID auch einen eigenen Zähler verwenden, der dann bei jedem Durchlauf um 1 inkrementiert wird.
  • in: Java Compiler API

    geschrieben von fabo

    https://compilr.com/
    http://www.browxy.com/
  • in: Warning: Cannot modify header information - headers already

    geschrieben von fabo

    Vor einem Header oder einer Session darf keine Ausgabe erfolgen. Das ist der Trick ;)
  • in: Kann keine neue Schriftart auf CSS installieren

    geschrieben von fabo

    pako-webdesign schrieb:
    Es lag an meinem Browser, der hat die Schriftart nicht anzeigen können


    Du hast's doch aber in deiner CSS geändert. Also lag es scheinbar nicht nur an deinem Browser :)

Login zum Webhosting ohne Werbung!