kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: JSON string zu Objekt

    geschrieben von marvinkleinmusic

    Also in C# kann man dafür den JsonSerializer nutzen. Es würde mich sehr stark wundern, wenn es keinen Serializer in Java dafür geben würde.

    Nachdem die Klassen einmal definiert sind, lässt sich so in C# der JSON-String in einer Zeile Code zum Objekt deserialisieren.

  • in: Programm nach 1 Minute benden

    geschrieben von marvinkleinmusic

    Alternativ kannst du auch in der Aufgabenplanung einen Cronjob zwei Minuten nach Login ausführen.
  • in: Wie findet ihr Windows 11?

    geschrieben von marvinkleinmusic

    Bis jetzt sieht es zwar schön aus, allerdings fehlen mir einige Sachen.

    1. Taskmanager über Taskleiste
    2. Ich kann keien Dateien über die Taskleiste in einer Anwendung im Hintergrund öffnen
    3. Das doppelte Kontextmenü ist absolut sinnfrei
  • in: VB.NET Programm unter Linux laufen lassen

    geschrieben von marvinkleinmusic

    Hallo fabscho,

    du müsstest deine VB.NET Anwendung eigentlich nur auf VB.NET Core umstellen. Core Anwednungen kannst du auch auf macOS und Linux ausführen, zumindest Consolen Anwendungen. Wenn du auch UI hast, dann wird das ab November mit .NET 6 auch möglich sein.

    LG Marvin
  • in: curl PUT request mit --raw-data

    geschrieben von marvinkleinmusic

    Hallo zusammen

    Ich muss in PHP eine PUT request mit --raw-data senden, allerdings bekomme ich das Teil leider nicht zum laufen.

    Meine Daten sind folgender JSON String:

    {
        "orders": [
            {
                "order_id": "TBRQCH"
            }
        ]
    }


    Das hier habe ich bereits versucht:

    $data['orders'][] = array("order_id" => $orderid);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_PUT, 1);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_USERPWD, "XXXX");
    curl_setopt($curl, CURLINFO_HEADER_OUT, true);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl);
    curl_close($curl);


    Es funktioniert jedoch nicht richtig, weil ich die Meldung vom Endpunkt erhalte, dass Daten fehlen. Wenn ich die kodierte Zeichenfolge in Postman kopiere und die Anforderung manuell an die API sende, funktioniert es einwandfrei.

    Weiß Jemand was ich falsch mache?
    LG
  • in: Microsoft Defender ausreichend?

    geschrieben von marvinkleinmusic

    Also ich habe schon seit 2013 nichts anderes mehr außer den Windows Defender installiert. Wenn man nicht jeden schwachsinn anklickt und alles direkt ausführt was schön blinkt, dann reicht er meiner Meinung nach vollkommen aus.

    Besonders die ganzen PopUps und Co. nerven mich bei den ganzen Anti Viren Müll.
  • in: ASP.NET Core OnGet() und OnPost()

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    vielleicht hat ja Jemand von euch eine Idee. Folgendes Szenario:
    Ich habe eine Klasse Benutzergruppe. Diese soll über eine ASP.NET Core Razor Page verwaltbar sein. Beim OnGet() wird die Gruppe Anhand ihrer ID aus der Datenbank ausgelesen:
    [BindProperty]
    public Benutzergruppe Gruppe { get; set; }
    public List<SelectListItem> StatusOptionen { get; set; }
    public void OnGet([FromQuery(Name = "id")] int gruppenId)
    {
    if(gruppenId > 0)
    {
    Gruppe = new Benutzergruppe(gruppenId);
    }
    
    InitializeStatusOptionen();
    }


    Eine Gruppe verfügt noch über eine RechteCollection (List<Recht>). Auch diese werden im Konstruktor der Klasse Benutzergruppe aus der Datenbank ausgelesen. Nun möchte ich gerne, dass das Objekt, welches ich mir im OnGet erstellt habe, im OnPost() weiter verwendet wird.

    Bzw. wie kann ich das lösen, dass ich das Objekt im OnPost() korrekt intialisiert habe, inkl. den abgeänderten Daten in der Ansicht.


    Oder gehe ich die Sache hier falsch an und mir bleibt nichts anderes übrig als manuell dIE Postrequest zu verarbeiten über Request.Form?

    Ich bereits herausgefunden, dass nur die gebindeten Werte abrufbar sind. Gibt es eine Möglichkeit auch ungebindete Eigenschaften zu übertragen?

    LG Marvin
  • in: ASP.NET WebApi V2 Routing

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    ich bin gerade dabei mich in WebApi V2 einzuarbeiten. Ich bastle mir derzeit eine kleine API, um Aufträge in unserer Warenwirtschaft zum Verpacken freizugeben.

    Nun habe ich aber ein Problem mit dem Routing, da die Arten der Parameter sich unterscheiden.

    Folgende Methoden sollen mithilfe der API ausführbar sein:
    int GetAnzahlFreizugebeneAufträge()
    [HttpGet]
    ResponseListAuftrag GetList(int offset, int size)
    [HttpGet]
    List<ResponseFreigabeAuftrag> GetFreigegebeneAufträge()
    [HttpPost]
    string Auftragfreigeben(int auftragsnummer)
    [HttpPost]
    string Auftragfreigeben(int auftragsnummer, DateTime date)
    [HttpDelete]
    string Delete(int auftragsnummer)


    Zuzüglich dazu gibt es noch folgende Methoden, die nur von der API genutzt werden sollen.
    [cs]List<int> GetFreizugebeneAufträgeNummern(int offset, int size)
    void CheckAuftrag(int auftragsnummer)
    void CheckPermissions()[/cs]


    Meine Routingregel habe ich wie folgt definiert:
    RouteTable.Routes.MapHttpRoute(
    name: "Auftragsfreigabe",
    routeTemplate: "api/auftragsfreigabe/{action}/{auftragsnummer}/{date}",
    defaults: new { controller = "auftragsfreigabe", auftragsnummer = System.Web.Http.RouteParameter.Optional, date = System.Web.Http.RouteParameter.Optional, size = System.Web.Http.RouteParameter.Optional, offset = System.Web.Http.RouteParameter.Optional }
    );


    Nun weiß ich leider nicht, wie ich die Regel am besten definieren soll.

    Die Funktionen sollen wie folgt später aufgerufen werden:
    api/auftragsfreigabe/freigegeben -> List<ResponseFreigabeAuftrag> GetFreigegebeneAufträge()
    api/auftragsfreigabe/freigabe/anzahl -> GetAnzahlFreizugebeneAufträge()
    api/auftragsfreigabe/freigabe/10000 -> Auftragfreigeben(int auftragsnummer)
    api/auftragsfreigabe/freigabe/10000/2020-02-21 -> Auftragfreigeben(int auftragsnummer, DateTime date)
    api/auftragsfreigabe/freigabe/0/10 -> GetList(int offset, int size)
    api/auftragsfreigabe/delete/10000 -> Delete(int auftragsnummer)

    Weiß jemand, wie ich dass entsprechend bewerkstelligen kann? Aus der MSDN Seite werde ich nicht wirklich schlau, da ich hier kein Beispiel für gleiche Actions mit unterschiedlichen Parametern finden konnte.

    -Marvin
  • in: Upload erhöhen Wordpress

    geschrieben von marvinkleinmusic

    witze-dschungel schrieb:
    Auf dem kostenpflichtigen Webspace liegt das Upload-Limit hingegen bei 500MB.
    [/url]


    Aus reinem Interesse: Kann man dieses Limit auch irgendwo wieder manuell runtersetzen? Ich denke nämlich nicht, dass jeder auf dem Webspace 500MB für einen Avatar-Upload benötigt.

    LG
  • in: Raspbian Crontab

    geschrieben von marvinkleinmusic

    Hallo horstexplorer,

    danke für deine rasche Antwort.

    Die Syntax ist ja genauso wie bei mir, nur dass du php mit Parameter startest.

    Ich weiß auch nicht wieso, aber nach dem 5ten Neustart scheint er jetzt mit folgender Lösung zufrieden zu sein:
    @hourly /usr/bin/curl http://192.168.178.2/external_ip.php

    Kennst du denn noch zufällig den Befehl, um einen Cronjob manuell auszuführen?

    Liebe Grüße
  • in: Raspbian Crontab

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    ich habe mal eine Frage zum Crontab in Raspbian. Ich musste leider aufgrund eines Softwarefehlers meinen Pi zurücksetzten.

    Der Pi hat alle 30 Minuten eine lokale Adresse aufgerufen, welcher ein PHP-Script ausführen soll.

    Der ursprüngliche Befehl (hatte zuvor funktioniert) lautet:
    30 * * * * curl http://192.168.178.2/external_ip.php

    wenn ich
    curl http://192.168.178.2/external_ip.php

    im Terminal manuell eingebe, dann geschieht auch alles wie es soll. Ich weiß aber nicht, wieso das ganze nicht mehr als Cronjob ausgeführt wird.

    Ich habe das ganze jetzt in mehrere Variationen durchgetestet.
    Schritt 1: sudo crontab -e

    Schritt 2: Am Ende der Datei:
    habe ich folgendes alles ausprobiert:
    30 * * * * curl http://192.168.178.2/external_ip.php
    30 * * * * root curl http://192.168.178.2/external_ip.php
    @hourly curl http://192.168.178.2/external_ip.php
    @hourly /usr/bin/curl http://192.168.178.2/external_ip.php

    Schritt 3: sudo service cron restart

    Ein Blick ins Log sagt mir, dass der Cronjob zumindest als User Pi ausgeführt wurde:
    Sep 10 11:07:53 raspberrypi cron[352]: (CRON) INFO (pidfile fd = 3)
    Sep 10 11:07:53 raspberrypi cron[352]: (CRON) INFO (Running @reboot jobs)
    Sep 10 11:09:09 raspberrypi CRON[1390]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
    Sep 10 11:10:11 raspberrypi cron[344]: (CRON) INFO (pidfile fd = 3)
    Sep 10 11:10:11 raspberrypi cron[344]: (CRON) INFO (Running @reboot jobs)
    Sep 10 11:12:56 raspberrypi cron[1519]: (CRON) INFO (pidfile fd = 3)
    Sep 10 11:12:56 raspberrypi cron[1519]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
    Sep 10 11:15:51 raspberrypi cron[1578]: (CRON) INFO (pidfile fd = 3)
    Sep 10 11:15:51 raspberrypi cron[1578]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
    Sep 10 11:17:01 raspberrypi CRON[1586]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
    Sep 10 11:18:36 raspberrypi cron[1663]: (CRON) INFO (pidfile fd = 3)
    Sep 10 11:18:36 raspberrypi cron[1663]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
    Sep 10 11:20:42 raspberrypi cron[1759]: (CRON) INFO (pidfile fd = 3)
    Sep 10 11:20:42 raspberrypi cron[1759]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
    Sep 10 11:23:02 raspberrypi cron[1844]: (CRON) INFO (pidfile fd = 3)
    Sep 10 11:23:02 raspberrypi cron[1844]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
    Sep 10 11:26:59 raspberrypi cron[1901]: (CRON) INFO (pidfile fd = 3)
    Sep 10 11:26:59 raspberrypi cron[1901]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
    Sep 10 11:30:01 raspberrypi CRON[1935]: (pi) CMD (pi curl http://192.168.178.2/external_ip.php)
    Sep 10 11:30:01 raspberrypi CRON[1931]: (CRON) info (No MTA installed, discarding output)

    Was mir schon helfen würde, wäre eine Option um einen Cronjob manuell auszuführen.

    Hat vielleicht Jemand von euch eine Idee?

    LG Marvin

  • in: Bootstrap

    geschrieben von marvinkleinmusic

    Bezüglich Sicherheit: https://snyk.io/vuln/npm:bootstrap

    Da findest du alle bisher bekannten Sicherheitslücken.

    Lg Marvin
  • in: MenuStripItem default ForeColor

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    ich bastle gerade ein wenig an dem Design von den Windows Form Controls herum. Genaugenommen am MenuStrip, welches ich in einem Dark Look anzeigen lassen möchte.

    Nun soweit funktioniert auch alles, allerdings komme ich nicht darauf, wie ich die Subitems des Items mit einer default Color versehen kann. Klar ist ja, dass hier MenuStripItems eingefügt werden. Doch wie kann ich mein Custom angelegtes ToolStripMenuItem als default festlegen, bzw. das default ToolStripMenuItem gegen dieses austauschen? Hier mal ein Bild wie es aktuell aussieht.

    https://image.ibb.co/hgfkq7/menu.png

    /// <summary>
        /// DarkTheme MenuStrip
        /// </summary>
        public class DarkThemeMenuStrip : MenuStrip
        {
            /// <summary>
            /// Set the rendermode and the color table in the constructor
            /// </summary>
            public DarkThemeMenuStrip()
            {
                this.ForeColor = Color.White;
                this.RenderMode = ToolStripRenderMode.System;
                this.Renderer = new ToolStripProfessionalRenderer(new DarkColorTable()); 
            }
           
        }
        class DarkMenuStripItem : ToolStripMenuItem
        {
            public DarkMenuStripItem()
            {
                this.ForeColor = Color.White;
            }
        }


    LG Marvin
  • in: WebRequest User-Agent - C#

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    ich brauche einmal eure Hilfe bezüglich eines Webrequests. Folgender Code:
    WebRequest request = WebRequest.Create(new Uri("https://sownloader.com/functions/getHash.php"));
    request.Credentials = CredentialCache.DefaultCredentials;
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream dataStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(dataStream);
    string responseFromServer = reader.ReadToEnd();
    reader.Close();
    dataStream.Close();
    response.Close();
    return responseFromServer;


    Ich möchte nun der Request folgenden Header hinzufügen:
    "Sownloader/" + Application.ProductVersion


    Allerdings bekomme ich, wenn ich es so mache wie beim WeblCient, folgende Exception:
    System.ArgumentException: "Der 'User-Agent'-Header muss mit der entsprechenden Eigenschaft oder Methode geändert werden.
    Parametername: name"

    Probiert habe ich es schon folgendermaßen:
    request.Headers["User-Agent"] = "Sownloader/" + Application.ProductVersion;
    request.Headers.Set(HttpRequestHeader.UserAgent, "Sownloader/" + Application.ProductVersion);


    Wisst ihr was ich falsch mache?

    LG Marvin
  • in: Merwürdige Verbindung

    geschrieben von marvinkleinmusic

    Hallo horstexplorer,

    im BIOS ist nichts bezüglich USB Ausbremsung zu finden.
    Falls es relevant ist, das Mainboard ist ein Maximus VIII Gene.

    Bei den Adaptereinstellungen finde ich leider auch nichts (siehe Screenshot).

    http://prntscr.com/gwnb8f

    LG Marvin
  • in: Merwürdige Verbindung

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    ich habe mir vor ein paar Tagen meinen neuen Rechner zusammengestellt. Leider bin ich auf WLAN angewiesen, weswegen ich mir vor einiger Zeit bereits einen WLAN-Stick gekauft habe (Netgear Wirless N-300 -> WNA 3100).

    Nun komme ich aber nicht mehr auf die Geschwindigkeit des alten Rechners. Am alten Rechner lade ich durchgehen mit 6MB/Sek runter, sowohl im 2,4 als auch im 5GHZ Bereich. Am neuen geht im 2,5 GHZ Bereich maximal 1MB / Sekunde und im 5GHZ Bereich Max 3 MB / Sekunde.

    Verwende ich den Stick am alten Rechner und benutze diesen als Weiterleitung per Ethernet, dann komme ich auch am neuen Rechner auf 6MB die Sekunde. Woran könnte das liegen?

    Die Treiber sind bereits alle aktuell und auf beiden Rechnern läuft Windows 10 Professional 64 Bit.
    Am Standort sollte es auch nicht liegen, da beide Rechner direkt nebeneinander stehen.


    LG Marvin
  • in: Rückmeldung für Code

    geschrieben von marvinkleinmusic

    Hallo strange,

    vielen Dank für deine ausführliche Rückmeldung. Ich packe meine Antwort jeweils kursiv in dein Zitat.

    strange schrieb:
    Eine Klasse zu schreiben nur um Besucher zu erfassen, oder andere simple Aufgaben auszuführen, ist kompletter overkill und eine Angewohnheit die Du dir am besten gleich abgewöhnen solltest. Andere Dinge die Du dir gleich mit abgewöhnen kannst sind:
    Wofür wäre eine Klasse denn sinnvoll? Hast du hier vielleicht ein paar praktische Beispiele, die du mir nennen könntest.
    Die Funktionen kann ich ja auch ohne Klasse in eine PHP-Datei packen und dann aufrufen.


    MySQLi im Klassen Scope: Erstelle eine Verbindung entweder im globalen Scope oder stelle einen statischen DatabaseHandler bereit. Dies ermöglicht andere Klassen und Code auf die Verbindung zuzugreifen und gibt dir die Möglichkeit die Verbindung sauber zu trennen. Etwas was du in deinem Code im Moment garnicht berücksichtigts.
    das globale hatte ich ja zuvor, dies wollte ich ja loswerden. Wir würde das ganze denn mit einen statischen DatabaseHandler aussehen? Hast du hier vielleicht Links zu Erläuterungen oder Dokumentationen? Das Trennen der Verbindung habe ich tatsächlich vergessen. Dies werde ich schnell einbinden. Jedoch habe ich nie wirklich verstanden, wieso man die Verbindung schließen sollte. Weißt du wieso dies so ist?

    Nicht Klassen bezogenen Konstanten: DayInterval und MinuteInterval sollten entweder im global Scope definiert werden, oder in eine UtilityClass ausgelagert werden.
    Für mich waren diese Klassenbezogen, da diese von der Klasse verwendet wurden, um den Zeitpunkt eines Besuchers zu berechnen. Welchen unterschied macht es denn, wenn ich diese nicht in die Klasse, sondern in den globalen Scope packe?


    Verarbeitung von ungefilterten Userdaten: Mehr oder weniger Regel nummero Uno... Vertraue keiner einzigen Benutzereingabe, oder Eingaben die vom Benutzer manipuliert werden können! $_POST, $_GET und $_SERVER sind Kandidaten die die Tür für Hacker, von der nicht sehr netten Sorte, weit auf machen, wenn die Daten ungefiltert verarbeitet werden.
    Mein Fehler. Habe diese Werte nun mit mysqli_real_escape_string versehen. Eine Frage noch zu $_GET & $_POST. Sollte ich diese auch filtern, wenn diese nicht für eine sql Abfrage verwendet werden? Z.B., wenn ich nur eine gewisse Aktion durchführen möchte bei einen bestimmten GET Parameter.


    Was den Rest angeht, kann ich nur sagen dass Du dich noch einmal ein wenig mehr mit den Konzepten hinter OOP auseinandersetzen solltest. Und vor allem, versuch nicht gleich eine WollMilchSau zu erstellen die alles auf einmal kann. Fang mit simplen Sachen an wie zum Beispiel Klassen als Datenstrukturen (ohne eigentliche Funktionen) und versuche die Daten der Klasse mit verschiedenen Methoden zu manipulieren, klonen, serialisieren und zu speichern.
    Das war wie gesagt mein erstes mal, dass ich mich in PHP mit Klassen versucht habe. Zuvor habe ich dies immer mit verschiedenen Dateien (siehe Beispiel) geregelt.

    Danach kannst du anfangen funktionalität in deine Klassen einzuarbeiten und dich dann mit Interfaces und anderen Klassen bezogenen Themen auseinander zu setzen.


    LG Marvin
  • in: Rückmeldung für Code

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    ich bin aktuell dabei mich bezüglich PHP endlich mal weiterzuentwickeln. Nun bin ich an einem Punkt angekommen, wo ich gerne einmal Feedback von anderen hören möchte.

    Ich habe folgende zwei Code-Blöcke, um meinen Counter zu steuern.
    https://pastebin.com/jZ7Jwe3P
    https://pastebin.com/sKHb6DXA

    da ich vorher noch nie mit Klassen in PHP gearbeitet habe, wollte ich mich mal daran versuchen. Dabei raus gekommen ist folgendes:
    https://pastebin.com/7fyp76b8

    Nun wollte ich mal fragen, ob ihr irgendwelche Verbesserungsvorschläge habt. Ich persönliche denke ja, dass die neue Variante wesentlich eleganter gelöst ist als die alte.

    LG Marvin
  • in: Kleines Webinterface erstellen.

    geschrieben von marvinkleinmusic

    Auf die schnelle fällt mir folgendes auf.
    $player = $_POST['players'];


    es wird versucht der Wert von Players zu bekommen, allerdings heißt das Feld nur player

    LG Marvin
  • in: XoviBot

    geschrieben von marvinkleinmusic

    Hallo an alle,

    Ich habe mal eine Frage bezüglich eines Bots. Meine Webseite verzeichnet immer wieder mal sehr viele Aufrufe von verschiedenen XoviBots mit unterschiedlichen IP-Adressen (manchmal bis zu 50 Aufrufe pro Tag). Wieso taucht dieser Bot so oft immer und immer wieder mit verschiedenen IPs auf?

    Beim genauen hinschauen fällt auf, dass er immer die URL's welche per htaccess generiert werden aufruft.
    RewriteEngine On
    RewriteRule ^\.htaccess$ - [F]  
    RewriteRule ^downloads/([^/]*)/([0-9]+)$ /downloads.php?kategorie=$1&seite=$2 [L] 
    RewriteRule ^downloads/([^/]*)/([^/]+)$ /Get_File.php?downloadname=$2&app=$1&action=view [L] 
    RewriteRule ^downloads/([^/]*)/([^/]+)/([a-zA-Z0-9]{10}+)/download$ /Get_File.php?app=$1&downloadname=$2&key=$3&action=download [L] 
    RewriteRule ^downloads/([^/]*)$ /downloads.php?kategorie=$1 [L]  
      
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php


    Gibt es eine Möglichkeit diesen Bot auszuschließen, welche nicht allzu kompliziert ist? Die ständigen Aufrufe von verschiedenen IP's verälschen sonst immer die Statistik (http://marvinkleinmusic.de/test.php --> Hier lässt sich erkennen, dass der Bot immer im regelmäßigen Intervall auftaucht )

    LG
  • in: Webspace komplett Leeren mit PHP

    geschrieben von marvinkleinmusic

    scriptserv schrieb:
    DB kann man ja recht leicht über PhpMyAdmin löschen... da es (meist) nur eine DB gibt mit x Tabellen...

    Und so ein Script kommt bei mir nur auf den Server wenn ich aktiv das Verzeichnis löschen will - das dort immer liegen haben wäre verdammt leichtsinnig (da hast du schon recht)...

    Aber zur eig. Frage - warum ein Script? - Schon mal >30k Dateien per FTP gelöscht?

    Da sitzt du nächstes Jahr noch dran :P
    per Script ist das ne Sache von X-Sekunden...

    Gruß Dennis


    Wie wärs denn mit STRG+A und dann löschen? :D
  • in: Ode an Afrika

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    Ich möchte euch hier gerne meine Parodie auf die Szene Gretchens Stube - Johann Wolfgang von Goethe - Faust Vers 3374-3410 vortragen.

    Vorweg, der Titel ist bewusst so gewählt, um zum nachdenken anzuregen.

    Alleine am Tisch

    Meine Ruh ist hin,
    Mein Bauch ist leer,
    Ich esse nimmer
    Und nimmer mehr.

    Wenn ich nicht ess
    Ist's mir das Grab,
    Der ganze Tisch,
    ist voll mit Fisch.

    Mein armer Bauch
    Ist nur am knurren,
    Mein armer Mund
    Ist nur am schnurren.

    Meine Ruh ist hin,
    Mein Bauch ist leer,
    Ich esse nimmer
    Und nimmer mehr.

    Zum essen nur
    Geh ich hinaus,
    Zu essen nur
    was ein Schmaus.

    Sein großes Menü,
    Seine edle Vielfalt,
    Seines kochen können,
    Seines Essens Gewalt.

    Meine Ruh ist hin,
    Mein Bauch ist leer,
    Ich esse nimmer
    Und nimmer mehr.

    Und seines kochens
    Zauberkunst,
    Seine Torten
    Und ach sein Guss!

    Mein Magen drängt
    Sich nach ihn hin,
    Ach dürft' ich essen
    Und speisen ihn.

    Und schmatzen ihn
    So wie ich wollt',
    An seinem Essen
    Vergehen sollt'!

    Kritik und Feedback ist gerne gesehen! :)

  • in: Lima-City Cronjob IP

    geschrieben von marvinkleinmusic

    mein-wunschname schrieb:
    burgi schrieb:
    mein-wunschname schrieb:
    Es geht doch um die IP des Aufrufers. Da ist es doch unerheblich, wenn die IP von Lima wechselt. Oder verstehe ich da etwas falsch?

    Der Cronjob wird durch einen unserer Server aufgerufen.


    Ich wusste nicht, dass der TE offensichtlich einen Premium Account hat


    Ja, ich verwende den Premium-Service, weil ich auf dem Server .ZIP Dateien benötige.

    Abschließend nochmal eine Frage:
    burgi schrieb:
    Eine verbreitete und trotzdem sinnvolle Lösung schein die im Beispiel genannte zu sein:
    Außerdem könntest du auch noch einfach ein paar Parameter vorraussetzen, zum Beispiel: "deine-site.de/php/ext/cronjob52533253_r7nv62b9pv.php?user=cronjobde&passwort=GhsjZasmah123".


    Wäre es sinnvoll dort einfach einen hash Wert als Code zu verwenden, wie z.B. SHA512?

    Liebe Grüße,
    -Marvin
  • in: Lima-City Cronjob IP

    geschrieben von marvinkleinmusic

    Hallo mein-wunschname,

    Ja, mir ist klar, dass ein Cron-Job eine Aufgabe ist, die automatisch ausgeführt wird.
    mein-wunschname schrieb:
    Üblicherweise legt man solche Dateien dann in Verzeichnissen ab, die von außen (also über http/https) gar nicht zugänglich sind. Da ist ein Schutz in Bezug auf eine bestimmte IP unsinnig.


    Siehe: http://fs5.directupload.net/images/160412/reqybkrt.png

    Ich habe doch nur die Möglichkeit eine per URL erreichbare Datei anzuwählen. Und eben diese möchte ich halt schützen lassen, sodass diese nur vom Cron-Job ausgeführt werden kann.

    Oder gibt es hier auf lima auch eine Möglichkeit die Datei in ein nicht aufrufbares Verzeichnis per Cron-Job auszuführen?


    Liebe Grüße,
    -Marvin
  • in: Lima-City Cronjob IP

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    Ich lese gerade einen Artikel bezüglich der Sicherheit der Dateien, die von einem Cronjob aufgerufen werden. (Falls ihn auch Jemand lesen möchte: klick)

    Jedenfalls bin ich dort auf folgenden Punkt gestoßen, den ich persönlich für am sichersten halte:
    Um deinen Cronjob zu schützen gibt es verschiedene Möglichkeiten. Du kannst den Aufruf zum Beispiel mit Hilfe einer .htaccess nur für spezielle IPs zu lassen oder den Login via .htaccess nutzen.


    Nun meine Frage:

    Werden die Cronjobs immer von der selben IP ausgeführt oder ändert sich diese regelmäßig?
    Falls sie sich nicht ändert, wie lautet diese, um diese Funktion nutzen zu können?

    Liebe Grüße,
    -Marvin
  • in: Problem mit Cronjobs auf lima-city

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    Ich habe ein Problem mit einem Cronjob hier auf lima-city. Dieser soll jeden Tag um 00:00 Uhr ausgeführt werden, was laut Protokoll auch immer bis auf einmal geklappt hat.

    Das Problem, dass ich allerdings habe, ist das der PHP Code anscheinend nicht ausgeführt wird, obwohl laut der Test Methode eindeutig Einträge zum löschen vorhanden sind (Siehe https://sownloader.com/functions/counter_del.php?action=test).

    Wenn ich nun den Code zum löschen manuell im Browser aufrufe, wird dieser auch ausgeführt und alles klappt wie es soll. Was mache ich falsch? Hier mal der eingerichtete Cronjob und das dazugehörige PHP-Script (Passwort unvollständig)

    Cronjob:
    0 0 * * * <cmd>

    https://sownloader.com/functions/counter_del.php?action=delete&code=b0dd4af7e749aa1


    Script:
    include("../connect/config.php");
    	
    	@$db = mysqli_connect($url, $user, $pw, $dbname);  
    	
    	$action   = mysqli_real_escape_string($db, $_GET['action']);
    	$code     = mysqli_real_escape_string($db, $_GET['code']);
    	
    	if($action == "delete" AND $code == "9a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b1"){
    		if($db == true){
    			
    			////Variabeln
    			$tag   	   = date("d");
    			$monat 	   = date("m");
    			$jahr 	   = date("Y");	
    			$timenow   = mktime(0,0,0,$monat,$tag,$jahr);
    			$gestern   = strtotime("-1 day");		
    			$alter_tag = date("d.m.Y",$gestern);
    			$ip 	   = $_SERVER['HTTP_X_FORWARDED_FOR']; 
    			
    			/// MySQL Abfragen
    			$counter_del = $db->query("SELECT * FROM `counter` WHERE `timed` < '" . $timenow . "'"); 
    			$counter_new = $db->query("SELECT * FROM `counter` WHERE `ip` = '$ip'");
    			
    			/// Ergebnisse
    			$total_day_guests = $counter_del->num_rows;
    			$get_total_array  = $counter_del->fetch_array();
    				
    			$get_total        = $get_total_array['id'];
    			$get_time         = $get_total_array['timed'];
    			$datum_abfrage_db = date("d.m.Y",$get_time);	
    			
    			$db->query("INSERT INTO `counter_stats` (`date`,`guests`,`total`) VALUES ('$alter_tag', '$total_day_guests', '$get_total')");
    			$db->query("DELETE FROM `counter` WHERE timed < '$timenow'");
    			echo "Database successfully updated.";
    			mysqli_close($db);
    		}
    		else{
    			echo "Connection failed!";
    		}
    		
    	}



    Zum Abschluss noch eine Frage:

    Ist die Methode mit dem Code sicher, um die Funktion vor missbrauch zu schützen?

    Liebe Grüße,
    -Marvin

    EDIT: Problem gelöst, es lag am falschen Timestamp, der dafür gesorgt hat, dass die Einträge um 0 Uhr noch nicht als "alt" gewertet wurden.
  • in: Redirect

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich habe derzeit ein Problem mit meiner Redirect htaccess Einstellung. Jedesmal, wenn ich eine neue Redirect Regel hinzufüge erhalte ich:
    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, webmaster@lima-city.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    Apache Server at marvinkleinmusic.de Port 80


    Doch wieso? Ich füge neue Werte doch genau wie die alten ein, und diese funktionieren doch auch!

    <Files *>
    Header set Cache-Control: "private, pre-check=0, post-check=0, max-age=0"
    Header set Expires: 0
    Header set Pragma: no-cache
    </Files>
    
    RewriteEngine On
    RewriteRule ^\.htaccess$ - [F]  
    RewriteRule ^downloads/([^/]*)/([0-9]+)$ /downloads.php?kategorie=$1&seite=$2 [L] 
    RewriteRule ^downloads/([^/]*)/([^/]+)$ /Get_File.php?downloadname=$2&app=$1&action=view [L] 
    RewriteRule ^downloads/([^/]*)/([^/]+)/([a-zA-Z0-9]{10}+)/download$ /Get_File.php?app=$1&downloadname=$2&key=$3&action=download [L] 
    RewriteRule ^downloads/([^/]*)$ /downloads.php?kategorie=$1 [L]  
      
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php
    
    
    Redirect /singers/Maria http://www.smule.com/Maria66
    Redirect /singers/Kendra http://www.smule.com/KendraJabbour
    Redirect /singers/Jessica http://www.smule.com/JessicaBorkowski
    Redirect /singers/Mac http://www.smule.com/_mac_  
    Redirect /LetItGo http://marvinkleinmusic.de/downloads/Sing_Jams/Let_it_Go
    Redirect /Cups http://marvinkleinmusic.de/downloads/Sing_Jams/Cups_(When_I_am_Gone)
    
    ErrorDocument 404 /failed/404.php  
    ErrorDocument 403 /failed/403.php


    Ich möchte folgende Redirects hinzufügen:
    Redirect /sownloader http://sownloader.com/
    Redirect /sownloader.php http://sownloader.com/
    Redirect /sownloader-web http://sownloader.com/web
    Redirect /sownloader-web.php http://sownloader.com/web



    Was ist falsch?
    LG
  • in: Mathematikaufgabe

    geschrieben von marvinkleinmusic

    onlinevideorecorder schrieb:
    john-gunn schrieb:
    Wo sind die restlichen 2€ geblieben?


    Die Aufgabe habe ich noch nicht gekannt.
    Jetzt weiß ich aber (nach dem googlen), dass sich durch die Rückgabe des Geldes ein neuer Preis ergibt.
    Man muss dann mit diesem rechnen und statt die 4 Euro zu addieren, muss man sie subtrahieren.


    Könntest du die Lösung posten? Ich komme nicht drauf. Wenn doch jeder 2€ zurück bekommt bezahlt doch jeder nur 8€ 8*3 = 24 + 4€ Trinkgeld.

    Welcher neue Preis ergibt sich denn?

    LG
  • in: Mobile Suche

    geschrieben von marvinkleinmusic

    Dein Beitrag hatte mich gerade auf eine Idee gebracht. Ich habe mal das CSS nach navPanel durchsucht dabei bin ich auf folgenden Code gestoßen, im Bereich der Narrower.
    /* Narrower */
    
    	#navPanel, #titleBar {
    		display: none;
    	}


    Ich habe mal #searchPanel hinzugefügt und siehe da, voilla alles funktioniert! Vielen Dank für deine Hilfe! :)
  • in: Mobile Suche

    geschrieben von marvinkleinmusic

    Ja ich habe es für alles unter 1680px gefixt. Aber der Eintrag für größere Auflösungen wird einfach ignoriert. Ich verstehe nur nicht wieso. Das Element verschwindet bis jetzt nur bei größeren Auflösungen, wenn ich dem searchPanel per Knosole noch display:none; hinzufüge. Aber der Code funktioniert ja bei der Navigation auch. Hier mal ein Vergleich zum NavPanel:
    #navPanel {
    				background-color: #1f1f1f;
    				box-shadow: inset -1px 0 3px 0 rgba(0, 0, 0, 0.5);
    				background-image: -moz-linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				background-image: -webkit-linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				background-image: -ms-linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				background-image: linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				-moz-backface-visibility: hidden;
    				-webkit-backface-visibility: hidden;
    				-ms-backface-visibility: hidden;
    				backface-visibility: hidden;
    				-moz-transform: translateX(-275px);
    				-webkit-transform: translateX(-275px);
    				-ms-transform: translateX(-275px);
    				transform: translateX(-275px);
    				-moz-transition: -moz-transform 0.5s ease;
    				-webkit-transition: -webkit-transform 0.5s ease;
    				-ms-transition: -ms-transform 0.5s ease;
    				transition: transform 0.5s ease;
    				display: block;
    				height: 100%;
    				min-height: 100%;
    				left: 0;
    				overflow-y: auto;
    				position: fixed;
    				top: 0;
    				width: 275px;
    				z-index: 10002;
    			}
    
    				#navPanel .link {
    					border-bottom: 0;
    					border-top: solid 1px rgba(255, 255, 255, 0.05);
    					color: #888;
    					display: block;
    					height: 48px;
    					line-height: 48px;
    					padding: 0 1em 0 1em;
    					text-decoration: none;
    				}
    
    					#navPanel .link:first-child {
    						border-top: 0;
    					}
    
    					#navPanel .link.depth-0 {
    						color: #fff;
    					}
    
    					#navPanel .link .indent-1 {
    						display: inline-block;
    						width: 1em;
    					}
    
    					#navPanel .link .indent-2 {
    						display: inline-block;
    						width: 2em;
    					}
    
    					#navPanel .link .indent-3 {
    						display: inline-block;
    						width: 3em;
    					}
    
    					#navPanel .link .indent-4 {
    						display: inline-block;
    						width: 4em;
    					}
    
    					#navPanel .link .indent-5 {
    						display: inline-block;
    						width: 5em;
    					}
    
    			body.navPanel-visible #page-wrapper {
    				-moz-transform: translateX(275px);
    				-webkit-transform: translateX(275px);
    				-ms-transform: translateX(275px);
    				transform: translateX(275px);
    			}
    
    			body.navPanel-visible #titleBar {
    				-moz-transform: translateX(275px);
    				-webkit-transform: translateX(275px);
    				-ms-transform: translateX(275px);
    				transform: translateX(275px);
    			}
    
    			body.navPanel-visible #navPanel {
    				-moz-transform: translateX(0);
    				-webkit-transform: translateX(0);
    				-ms-transform: translateX(0);
    				transform: translateX(0);
    			}
  • in: Mobile Suche

    geschrieben von marvinkleinmusic

    bereits ausprobiert, jedoch ohne Erfolg.
  • in: Mobile Suche

    geschrieben von marvinkleinmusic

    Hallo nochmal,

    test42test schrieb:
    Ich habe leider nicht verstanden, was dein Problem ist.
    Mir ist jedoch aufgefallen, dass es keine Möglichkeit gibt, das Suchfeld wieder zu schließen, außer Reload oder einem Link zu folgen. Das gilt sobald die Fenstergröße so klein ist, dass das mobile Design aktiviert wird. Eine Wischgeste habe ich mit der Maus nicht geschafft.


    Ja ich habe einiges schon gefixt bekommen. Hat zwar ziemlich lange gedauert aber jetzt habe ich nur noch ein Problem. Aus unerfindlichen Gründen wird das searchPanel immer am Ende der Seite angezeigt, sofern die auflösung größer als 1680px ist, obwohl das Element eigentlich unsichtbar sein sollte.

    Wie bekomme ich das Panel jetzt unsichtbar?

    Der aktuelle Code:
    /* Search Panel */
    			#searchPanel {
    				background-color: #1f1f1f;
    				box-shadow: inset -1px 0 3px 0 rgba(0, 0, 0, 0.5);
    				background-image: -moz-linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				background-image: -webkit-linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				background-image: -ms-linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				background-image: linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				-moz-backface-visibility: hidden;
    				-webkit-backface-visibility: hidden;
    				-ms-backface-visibility: hidden;
    				backface-visibility: hidden;		
    				-moz-transform: translateX(100%);
    				-webkit-transform: translateX(100%);
    				-ms-transform: translateX(100%);
    				transform: translateX(100%);
    				-moz-transition: -moz-transform 0.5s ease;
    				-webkit-transition: -webkit-transform 0.5s ease;
    				-ms-transition: -ms-transform 0.5s ease;
    				transition: transform 0.5s ease;
    				display: block;
    				height: 100%;
    				min-height: 100%;
    				right: 0;
    				overflow-y: auto;
    				position: fixed;
    				top: 0;
    				width: 100%;
    				z-index: 10003;
    			}
    
    			body.searchPanel-visible #page-wrapper {
    				-moz-transform: translateX(-100%);
    				-webkit-transform: translateX(-100%);
    				-ms-transform: translateX(-100%);
    				transform: translateX(-100%);
    			}
    
    			body.searchPanel-visible #titleBar {
    				-moz-transform: translateX(-100%);
    				-webkit-transform: translateX(-100%);
    				-ms-transform: translateX(-100%);
    				transform: translateX(-100%);
    			}
    
    			body.searchPanel-visible #searchPanel {
    				-moz-transform: translateX(0px);
    				-webkit-transform: translateX(0px);
    				-ms-transform: translateX(0px);
    				transform: translateX(0px);
    			}


    // Search Panel.			
    			$(
    				'<div id="searchPanel">' +
    					'<form name="form1" method="post" class="quick_search">' +
    						'<input autocomplete="off" id="searchBox" name="searchinput" type="search" placeholder="Search" OnKeyup="search();">' +
    					'</form>' +
    					'<ul id="searchItems" class="linksMobile">' +											
    					'</ul>' +
    				'</div>'
    			)
    				.appendTo($body)
    				.panel({
    					delay: 500,
    					hideOnClick: true,
    					hideOnSwipe: true,
    					resetScroll: true,
    					resetForms: true,
    					side: 'right',
    					target: $body,
    					visibleClass: 'searchPanel-visible'
    				});



    @test42test Ja das ist richtig, aktuell lässt es sich nur mobil per Wischgeste schließen. Ein Button baue ich noch ein, sobald ich es aus der Desktop-Ansicht los bin.

    LG
  • in: Mobile Suche

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    Ich benötige einmal Hilfe bezüglich der Einrichtung einer mobilen Suche. Die eigentliche Suche habe ich schon fertig jedoch habe ich an einer Stelle beim Design Schwierigkeiten.

    Der Nivo-Slider ist irgendwie immer vorhanden und lässt sich auch problemlos bedienen. Dies oll allerdings nicht so sein. Sprich ich bekomme zwar mein Pop-Up Fenster auf, jedoch will nur der Slider nicht in den Hintergrund rücken.

    Siehe: http://fs5.directupload.net/images/160203/erpdile4.png

    Wie bekomme ich diesen in den Hintergrund?

    Hier mal der Code für das search Pop Up:
    #searchPanel {
    				background-color: #1f1f1f;
    				box-shadow: inset -1px 0 3px 0 rgba(0, 0, 0, 0.5);
    				background-image: -moz-linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				background-image: -webkit-linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				background-image: -ms-linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				background-image: linear-gradient(left, rgba(0,0,0,0) 75%, rgba(0,0,0,0.15)), url("images/bg01.png");
    				visibility: hidden;
    				display: block;
    				height: 100%;
    				width:100%;
    				left: 0;
    				overflow-y: auto;
    				position: absolute;
    				top: 44px;
    				bottom:0;
    				right:0;	
    			}
    body.searchPanel-visible #searchPanel {
    				visibility: visible;
    				}


    Das dazugehörige JS findet sich hier:
    http://marvinkleinmusic.de/assets/js/main.js

    Das JS und CSS für den Nivo-Slider ist hier zu finden:
    http://marvinkleinmusic.de/assets/slider/


    Des Weiteren möchte ich gerne das Pop-Up Fenster von Oben "reinfallen" lassen, als Animation. Wie lässt sich so etwas realisieren?

    Liebe Grüße und vielen Dank für eure Hilfe!

  • in: Share Buttons in Reihe

    geschrieben von marvinkleinmusic

    Die original Seite findest du hier: http://marvinkleinmusic.de/sownloader-web

    Ich schaue mal nach ob ich das mit weiteren margins lösen kann.

    LG
  • in: Share Buttons in Reihe

    geschrieben von marvinkleinmusic

    Funktioniert nicht ;)
  • in: Share Buttons in Reihe

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich versuche derzeit verzweifelt 2 Share Buttons (Facebook & Twitter), auf gleicher Höhe in der selben Reihe zu bekommen. Jedoch möchte einer der beiden Buttons sich nie dort platzieren, wo er es soll.

    Hier mal ein Screenshot, wie es aussieht und der dazugehörige Code.
    http://fs5.directupload.net/images/160117/kwnt2xu2.png

    ol.share-buttons{
    		list-style: none;
    	}
    	
    	ol.share-buttons li{
    		display: inline-block;
    		margin:0;
    		padding:0;
    	}


    <section>
    											<div class="row">
    												<ol class="share-buttons">
    													<li class="fb-share-button" data-href="http://marvinkleinmusic.de/sownloader-web" data-layout="button_count"></li>
    													<li><a href="https://twitter.com/share" class="twitter-share-button"{count} data-url="http://marvinkleinmusic.de/sownloader-web" data-via="MagicPianoApp" data-hashtags="Sownloader">Tweet</a></li>
    												</ol>
    										</section>


    Was mache ich falsch?
  • in: HTML funktioniert nicht.

    geschrieben von marvinkleinmusic

    spielfreak schrieb:
    Hey.
    Ich habe mal seit längerem an meinem eigenem Design gearbeitet und nun stellt sich heraus das nichts funktioniert. Kann mir bitte jemand helfen?

    Also wenn ich das richtig sehe, dann hast du einfach Arcana von html5up kopiert. Ich kann dort eigentlich keine eigene Leistung erkennen, außer das der Verweis von html5up aus dem Quellcode Kopf entfernt wurde.

    spielfreak schrieb:
    Der Code:
    <!DOCTYPE HTML>
    <html>
    	<head>
    		<title>Arcana by HTML5 UP<title>
    		<meta charset="utf-8" >
    		<meta name="viewport" content="width=device-width, initial-scale=1" >
    		<!--[if lte IE 8]><script src="assetsjsiehtml5shiv.js"><script><![endif]-->
    		<link rel="stylesheet" href="assetscssmain.css" >
    		<!--[if lte IE 8]><link rel="stylesheet" href="assetscssie8.css" ><![endif]-->
    		<!--[if lte IE 9]><link rel="stylesheet" href="assetscssie9.css" ><![endif]-->
    	<head>
    	<body>
    		<div id="page-wrapper">
    
    			<!-- Header -->
    				<div id="header">
    
    					<!-- Logo -->
    						<h1><a href="index.html" id="logo">Arcana by HTML5 UP<a><h1>
    
    					<!-- Nav -->
    						<nav id="nav">
    							<ul>
    								<li class="current"><a href="index.html">Home<a><li>
    								<li>
    									<a href="#">Dropdown<a>
    									<ul>
    										<li><a href="#">Lorem dolor<a><li>
    										<li><a href="#">Magna phasellus<a><li>
    										<li><a href="#">Etiam sed tempus<a><li>
    										<li>
    											<a href="#">Submenu<a>
    											<ul>
    												<li><a href="#">Lorem dolor<a><li>
    												<li><a href="#">Phasellus magna<a><li>
    												<li><a href="#">Magna phasellus<a><li>
    												<li><a href="#">Etiam nisl<a><li>
    												<li><a href="#">Veroeros feugiat<a><li>
    											<ul>
    										<li>
    										<li><a href="#">Veroeros feugiat<a><li>
    									<ul>
    								<li>
    								<li><a href="left-sidebar.html">Left Sidebar<a><li>
    								<li><a href="right-sidebar.html">Right Sidebar<a><li>
    								<li><a href="two-sidebar.html">Two Sidebar<a><li>
    								<li><a href="no-sidebar.html">No Sidebar<a><li>
    							<ul>
    						<nav>
    
    				<div>
    
    			<!-- Banner -->
    				<section id="banner">
    					<header>
    						<h2>Arcana: A responsive site template freebie by <a href="http:html5up.net">HTML5 UP<a><h2>
    						<a href="#" class="button">Learn More<a>
    					<header>
    				<section>
    
    			<!-- Highlights -->
    				<section class="wrapper style1">
    					<div class="container">
    						<div class="row 200%">
    							<section class="4u 12u(narrower)">
    								<div class="box highlight">
    									<i class="icon major fa-paper-plane"><i>
    									<h3>This Is Important<h3>
    									<p>Duis neque nisi, dapibus sed mattis et quis, nibh. Sed et dapibus nisl amet mattis, sed a rutrum accumsan sed. Suspendisse eu.<p>
    								<div>
    							<section>
    							<section class="4u 12u(narrower)">
    								<div class="box highlight">
    									<i class="icon major fa-pencil"><i>
    									<h3>Also Important<h3>
    									<p>Duis neque nisi, dapibus sed mattis et quis, nibh. Sed et dapibus nisl amet mattis, sed a rutrum accumsan sed. Suspendisse eu.<p>
    								<div>
    							<section>
    							<section class="4u 12u(narrower)">
    								<div class="box highlight">
    									<i class="icon major fa-wrench"><i>
    									<h3>Probably Important<h3>
    									<p>Duis neque nisi, dapibus sed mattis et quis, nibh. Sed et dapibus nisl amet mattis, sed a rutrum accumsan sed. Suspendisse eu.<p>
    								<div>
    							<section>
    						<div>
    					<div>
    				<section>
    
    			<!-- Gigantic Heading -->
    				<section class="wrapper style2">
    					<div class="container">
    						<header class="major">
    							<h2>A gigantic heading you can use for whatever<h2>
    							<p>With a much smaller subtitle hanging out just below it<p>
    						<header>
    					<div>
    				<section>
    
    			<!-- Posts -->
    				<section class="wrapper style1">
    					<div class="container">
    						<div class="row">
    							<section class="6u 12u(narrower)">
    								<div class="box post">
    									<a href="#" class="image left"><img src="imagespic01.jpg" alt="" ><a>
    									<div class="inner">
    										<h3>The First Thing<h3>
    										<p>Duis neque nisi, dapibus sed mattis et quis, nibh. Sed et dapibus nisl amet mattis, sed a rutrum accumsan sed. Suspendisse eu.<p>
    									<div>
    								<div>
    							<section>
    							<section class="6u 12u(narrower)">
    								<div class="box post">
    									<a href="#" class="image left"><img src="imagespic02.jpg" alt="" ><a>
    									<div class="inner">
    										<h3>The Second Thing<h3>
    										<p>Duis neque nisi, dapibus sed mattis et quis, nibh. Sed et dapibus nisl amet mattis, sed a rutrum accumsan sed. Suspendisse eu.<p>
    									<div>
    								<div>
    							<section>
    						<div>
    						<div class="row">
    							<section class="6u 12u(narrower)">
    								<div class="box post">
    									<a href="#" class="image left"><img src="imagespic03.jpg" alt="" ><a>
    									<div class="inner">
    										<h3>The Third Thing<h3>
    										<p>Duis neque nisi, dapibus sed mattis et quis, nibh. Sed et dapibus nisl amet mattis, sed a rutrum accumsan sed. Suspendisse eu.<p>
    									<div>
    								<div>
    							<section>
    							<section class="6u 12u(narrower)">
    								<div class="box post">
    									<a href="#" class="image left"><img src="imagespic04.jpg" alt="" ><a>
    									<div class="inner">
    										<h3>The Fourth Thing<h3>
    										<p>Duis neque nisi, dapibus sed mattis et quis, nibh. Sed et dapibus nisl amet mattis, sed a rutrum accumsan sed. Suspendisse eu.<p>
    									<div>
    								<div>
    							<section>
    						<div>
    					<div>
    				<section>
    
    			<!-- CTA -->
    				<section id="cta" class="wrapper style3">
    					<div class="container">
    						<header>
    							<h2>Are you ready to continue your quest?<h2>
    							<a href="#" class="button">Insert Coin<a>
    						<header>
    					<div>
    				<section>
    
    			<!-- Footer -->
    				<div id="footer">
    					<div class="container">
    						<div class="row">
    							<section class="3u 6u(narrower) 12u$(mobilep)">
    								<h3>Links to Stuff<h3>
    								<ul class="links">
    									<li><a href="#">Mattis et quis rutrum<a><li>
    									<li><a href="#">Suspendisse amet varius<a><li>
    									<li><a href="#">Sed et dapibus quis<a><li>
    									<li><a href="#">Rutrum accumsan dolor<a><li>
    									<li><a href="#">Mattis rutrum accumsan<a><li>
    									<li><a href="#">Suspendisse varius nibh<a><li>
    									<li><a href="#">Sed et dapibus mattis<a><li>
    								<ul>
    							<section>
    							<section class="3u 6u$(narrower) 12u$(mobilep)">
    								<h3>More Links to Stuff<h3>
    								<ul class="links">
    									<li><a href="#">Duis neque nisi dapibus<a><li>
    									<li><a href="#">Sed et dapibus quis<a><li>
    									<li><a href="#">Rutrum accumsan sed<a><li>
    									<li><a href="#">Mattis et sed accumsan<a><li>
    									<li><a href="#">Duis neque nisi sed<a><li>
    									<li><a href="#">Sed et dapibus quis<a><li>
    									<li><a href="#">Rutrum amet varius<a><li>
    								<ul>
    							<section>
    							<section class="6u 12u(narrower)">
    								<h3>Get In Touch<h3>
    								<form>
    									<div class="row 50%">
    										<div class="6u 12u(mobilep)">
    											<input type="text" name="name" id="name" placeholder="Name" >
    										<div>
    										<div class="6u 12u(mobilep)">
    											<input type="email" name="email" id="email" placeholder="Email" >
    										<div>
    									<div>
    									<div class="row 50%">
    										<div class="12u">
    											<textarea name="message" id="message" placeholder="Message" rows="5"><textarea>
    										<div>
    									<div>
    									<div class="row 50%">
    										<div class="12u">
    											<ul class="actions">
    												<li><input type="submit" class="button alt" value="Send Message" ><li>
    											<ul>
    										<div>
    									<div>
    								<form>
    							<section>
    						<div>
    					<div>
    
    					<!-- Icons -->
    						<ul class="icons">
    							<li><a href="#" class="icon fa-twitter"><span class="label">Twitter<span><a><li>
    							<li><a href="#" class="icon fa-facebook"><span class="label">Facebook<span><a><li>
    							<li><a href="#" class="icon fa-github"><span class="label">GitHub<span><a><li>
    							<li><a href="#" class="icon fa-linkedin"><span class="label">LinkedIn<span><a><li>
    							<li><a href="#" class="icon fa-google-plus"><span class="label">Google+<span><a><li>
    						<ul>
    
    					<!-- Copyright -->
    						<div class="copyright">
    							<ul class="menu">
    								<li>&copy; Untitled. All rights reserved<li><li>Design: <a href="http:html5up.net">HTML5 UP<a><li>
    							<ul>
    						<div>
    
    				<div>
    
    		<div>
    
    		<!-- Scripts -->
    			<script src="assetsjsjquery.min.js"><script>
    			<script src="assetsjsjquery.dropotron.min.js"><script>
    			<script src="assetsjsskel.min.js"><script>
    			<script src="assetsjsutil.js"><script>
    			<!--[if lte IE 8]><script src="assetsjsierespond.min.js"><script><![endif]-->
    			<script src="assetsjsmain.js"><script>
    
    	<body>
    <html>



    Generell eine Frage: Wie kann dir dieser Fehler überhaupt passieren, wenn du das gesamte Design auch hier (http://html5up.net/arcana) einfach runterladen kannst?

    Ich persönlich würde dir noch empfehlen, dass du dir einmal die LICENSE im Ordner durchliest. Nicht dass HTML5UP sich später noch bei dir melden.

    LG
  • in: Email Programm?

    geschrieben von marvinkleinmusic

    Ich persönlich nutze Thunderbird. Meiner Meinung nach ist dieses Programm sehr strukturiert aufgebaut und auch für jeden einfach zu verstehen. Das Wechseln zwischen den Postfächern ist super einfach. Ebenfalls wie das hinzufügen von Postfächern.

    Bei Microsoft Software habe ich meist das Problem, dass diese zu viele Funktionen bieten, weswegen das Programm sehr schnell sehr unübersichtlich wird.

    LG
  • in: Windows 10 auf XP Rechnern

    geschrieben von marvinkleinmusic

    invalidenturm schrieb:
    Ultimate sind nicht upgradeberechtigt.


    Ultimate ist sehr wohl upgradeberechtigt. Habe ich selbst schon durchgeführt. Als Ultimate User bekommst du ebenfalls Windows 10 Professional.
  • in: Kann mir Jemand diese Funktion erklären?

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich habe mal eine Frage bezüglich einer Javascript Funktion. Ich würde gerne wissen, was genau dort steht und was es bewirkt. Weiß Jemand wofür diese Funktion verwendet wird?

    function r(g){var k={},a,l=
    0,d,c=0,b,e="",f=String.fromCharCode,h=g.length;for(a=0;64>a;a++)k["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(a)]=a;for(d=0;d<h;d++)for(a=k[g.charAt(d)],l=(l<<6)+a,c+=6;8<=c;)((b=l>>>(c-=8)&255)||d<h-2)&&(e+=f(b));return e}
    
    s=r("TT18WlV5TXVeLXFXYn1WTF5qSmR9TXYpOHklYlFXWGY+SUZCRGNKPiU0emcyQ2l8dGVsamBkVlpA");
    
    function processRecording(g){if(null===g||"string"!==typeof g||2>g.length||0!==g.indexOf("e:"))return g;for(var k=r(g.substring(2)),a=[],h=0,d,c="",b=0;256>b;b++)a[b]=b;for(b=0;256>b;b++)h=(h+a[b]+s.charCodeAt(b%s.length))%256,d=a[b],a[b]=a[h],a[h]=d;for(var e=h=b=0;e<k.length;e++)b=(b+1)%256,h=(h+a[b])%256,d=a[b],a[b]=a[h],a[h]=d,c+=String.fromCharCode(k.charCodeAt(e)^a[(a[b]+a[h])%256]);0!==c.indexOf("http")&&
    smuleError("Failed to decode URL "+g+"; got "+c);return c;}


    LG
  • in: DownloadfileAsync richtig anwenden

    geschrieben von marvinkleinmusic

    Das hilft mir leider alles nicht weiter. Das bezieht sich ebenfalls nur auf einen Download am Stück.

    Mein Problem ist aber das meine For Schleife zwar funktioniert, allerdings nicht abwartet bis meine Funktion beendet ist.

    Dadurch das ich im Code nun definiert habe, dass er Web immer als neuen Webclient benutzen soll, funktioniert es zwar mit den Downloads, allerdings werden diese gleichzeitig runtergeladen und beeinflussen dadurch alle gegenseitig mein ProgressChanged und Complete Event.

    Ich suche halt wie bereits gesagt einen Weg die Downloads zu starten sobald der aktuell laufende Download abgeschlossen wurde.

    LG
  • in: DownloadfileAsync richtig anwenden

    geschrieben von marvinkleinmusic

    Natürlich verwende ich Async :D

    Downloadfile ist bloß der Name des Subs der aufgerufen wird.

    Private Sub DownloadFile(file As String, pfad As String) 'Subname
            Using Web As New WebClient()
                AddHandler Web.DownloadFileCompleted, AddressOf Downloadfile_complete
                AddHandler Web.DownloadProgressChanged, AddressOf Downloadfile_progress
                Web.Headers("User-Agent") = "Mozilla/4.0"
                Web.Proxy = Nothing
                Web.DownloadFileAsync(New Uri(file), pfad) 'Async
                My.Settings.wait = True
            End Using
        End Sub



    EDIT:/
    Wenn ich Downloadfile verwende statt Async, lädt er alles runter, jedoch freezt das Programm, bis alle Downloads abgeschlossen sind.
  • in: DownloadfileAsync richtig anwenden

    geschrieben von marvinkleinmusic

    Könntest du mir dafür ein Beispiel geben? Meins funktioniert nicht xD

    For i As Integer = ListView1.Items.Count - 1 To 0 Step -1
                    DownloadFile(ListView1.Items(i).SubItems(1).Text, ListView1.Items(i).Text.ToString)
                    If My.Settings.wait = False Then Continue For
    
    
                Next
  • in: DownloadfileAsync richtig anwenden

    geschrieben von marvinkleinmusic

    Web.Dispose() hat keinerlei Probleme verursacht. Die Exception bezieht sich auf die DownloadfileAsync Zeile.

    Das Problem was ich genau habe ist, dass die For Schleife zwar alle Items abarbeitet, allerdings direkt hintereinander ohne abzuwarten, das beim ersten Durchgang die Funktion komplett ausgeführt wurde.

    Wenn ich meinen Code nun relativ einfach veränder,
    Private Sub DownloadFile(file As String, pfad As String)
    
            Using Web As New WebClient()
                AddHandler Web.DownloadFileCompleted, AddressOf Downloadfile_complete
                AddHandler Web.DownloadProgressChanged, AddressOf Downloadfile_progress
                Web.Headers("User-Agent") = "Mozilla/4.0"
                Web.Proxy = Nothing
                Web.DownloadFileAsync(New Uri(file), pfad)
                My.Settings.wait = True
            End Using
    
        End Sub


    funktionieren zwar mehrere Downloads. Allerdings stören die sich gegenseitig in den AddHandlern und sorgen dafür, dass die Progressbar sowie das lblKB immer falsch dargestellt wird.

    Ich suche also einen Weg die For Schleife erst zu wiederholen, wenn Downloadfile_complete ausgeführt wurde.

    LG
  • in: DownloadfileAsync richtig anwenden

    geschrieben von marvinkleinmusic

    Nachdem der erste Download abgeschlossen ist, lassen sich problemlos weitere Dateien runterladen.

    Nur die For Schleife für automatische Downloads sorgt für das Problem.

    LG
  • in: DownloadfileAsync richtig anwenden

    geschrieben von marvinkleinmusic

    Hallo zusammen,

    Ich habe hier eine kleine Funktion:
    Private Sub DownloadFile(file As String, pfad As String)
            AddHandler Web.DownloadFileCompleted, AddressOf Downloadfile_complete
            AddHandler Web.DownloadProgressChanged, AddressOf Downloadfile_progress
            
            Web.Headers("User-Agent") = "Mozilla/4.0"
            Web.Proxy = Nothing
            Web.DownloadFile(New Uri(file), pfad) 
        End Sub
        Private Sub Downloadfile_progress(sender As Object, e As DownloadProgressChangedEventArgs)
            Me.ToolStripProgressBar1.Value = e.ProgressPercentage
            lblPercentage.Text = e.ProgressPercentage & "%"
            Dim totalbytes As Double = Math.Round(e.TotalBytesToReceive / 1024 / 1024, 1)
            Dim bytes As Double = Math.Round(e.BytesReceived / 1024 / 1024, 1)
            lblKB.Text = bytes & "\" & totalbytes & "MB"
        End Sub
        Private Sub Downloadfile_complete(sender As Object, e As ComponentModel.AsyncCompletedEventArgs)
            Web.Dispose()
            If My.Settings.OriginalFile = My.Settings.SuggestedFile Then
                DownloadAlbumArt()
            Else
                ConvertFile()
            End If
            'Dim sourcecode As String = WebBrowser.DocumentText.ToString
            'Dim artist As String, app As String, title As String
            ''Titel und App bestimmen
            'Try
            '    Dim Rgx As New System.Text.RegularExpressions.Regex("<META content=\047\042(?<title>.*)\042 on (?<App>.*) from Smule\047 property=\042og\072title\042>")
            '    Dim Match = Rgx.Match(sourcecode)
            '    title = Match.Groups("title").Value
            '    app = Match.Groups("App").Value
            'Catch ex As Exception
            '    title = "Unknown"
            '    app = "Unknown"
            'End Try
            ''Artist bestimmen
            'Try
            '    'Example Line <meta name="twitter:title" content='""Apologize" on Magic Piano" performed by MarvinKleinMusic">
            '    Dim webtitle As String = sourcecode.Split({"""handle"":"""}, StringSplitOptions.None)(1).Split({""}, StringSplitOptions.None)(CInt(("0")))
            '    Dim TestArray() As String = Split(webtitle, """")
            '    artist = TestArray(0)
            'Catch ex As Exception
            '    artist = "Unknown"
            'End Try
            'Dim MP3FilePath As New TagLib.File.LocalFileAbstraction(My.Settings.OriginalFile)
            'Dim MP3File As TagLib.File = TagLib.File.Create(MP3FilePath)
            ''ID3 Tags schreiben
            'MP3File.Tag.Album = app
            'MP3File.Tag.Title = title
            'MP3File.Tag.Performers = New String() {artist}
            'MP3File.Save()
            'MP3File.Dispose()
        End Sub


    Ansich funktioniert sie auch prima. Allerdings wenn man diese Funktion mit einer Schleife aufruft um mehrere Dateien hintereinander runterzuladen gibt es eine Exception.

    Eine nicht behandelte Ausnahme des Typs "System.NotSupportedException" ist in System.dll aufgetreten.

    Zusätzliche Informationen: WebClient unterstützt keine gleichzeitigen E/A-Vorgänge.


    Wie wende ich DownloadfileAsync nun richtig an, sodass es funktioniert?

    Hier nochmal die Schleife, die die Downloads starten soll:
    For i As Integer = ListView1.Items.Count - 1 To 0 Step -1
                    DownloadFile(ListView1.Items(i).SubItems(1).Text, ListView1.Items(i).Text.ToString)
                Next


    Mein Zielframework ist 4.0

    Liebe Grüße
  • in: Benutzt ihr Adblocker?

    geschrieben von marvinkleinmusic

    Ich selber nutze auch Adblock aus mehreren Gründen.
    - Das geblinkte nervt mich
    - schnellere Ladezeiten
    - weniger Viren
    - meine Zeit wird nicht durch Video Werbung geraubt

    Webseiten können ja auch bei Adblock Plus noch Werbung schalten, sofern sie zu der akzeptierten Werbung gehört die Niemanden stört.

    LG
  • in: Download vs. fair use

    geschrieben von marvinkleinmusic

    Hallo erstmal und willkommen im Forum! :prost:

    Auf dem Freespace kannst nicht jede Datei hochladen. Falls du doch so eine Datei hochlädst, verschwindet sie nach dem Upload direkt wieder. Du benötigst das Premium-Paket um diese dennoch hochladen zu können. Für eine Liste aller nicht hochladbaren Dateiendungen siehe hier klick.

    Mit Fair-Use ist gemeint, dass du keine rechenintensiven Programme nutzen darfst, wie z.B. einen Chat für mehrere User. Genaueres dazu findest du hier klick.


    Da ich aber davon ausgehe, dass du nur ein ein paar Word/Excel/Powerpoint vorlagen hochlädst, sollte dies eigentlich kein Problem darstellen, da diese Dateien weder relativ groß sind und ich auch nicht davon ausgehe, dass alle 60 Leute diese permanent gleichzeitig runterladen möchten.

    LG
  • in: CSS - Höhe korrekt einstellen

    geschrieben von marvinkleinmusic

    Schon
    height: auto !important;
    versucht?
  • in: Suche altmodisches Casual Browsergame

    geschrieben von marvinkleinmusic

    Ist jetzt nicht wirklich ein "Aufbauspiel" und auch schon seit 2009 online. Auch der Geschmack ist eher was für die 90er Generation. Allerdings lernt man nebenbei beim Spielen auch noch Englisch *hurra*. Das einzige Ziel: Es gibt keins. Sammel einfach Pokemon und Trainiere sie. Nebenbei kannst du auch Archievments sammeln, Quests erledigen und sogar Kämpfen(noch nicht Mobil).

    Global Pokédex Plus

    Bin auch schon seit 2010 dabei. (Falls es dich interessiert mein Profil )

    LG
  • in: Suche Alternative zu Automouser

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich bin auf der Suche nach einer Alternative für die Software Automouser. Doch warum suche ich eine?

    Nun Automouser ist schon sehr praktisch für mich, jedoch fehlt mir die Möglichkeit die Funktion solange auszuführen, bis ich eine bestimmte Taste drücke.

    Die Alternative sollte folgende 3 Sachen können:
    -Leertasten Klicks emulieren
    -Es muss einstellbar sein, wie viele Klicks die Taste in der Sekunde macht
    -Solange aktiv werden, bis es durch eine bestimmte Taste gestoppt wird.

    Info: Es geht mir nur um die Leertaste. Die anderen Tasten inkl. Maus sind egal.

    Kennt vielleicht Jemand von euch so ein Programm?

    LG
  • in: Wieso IPhone?

    geschrieben von marvinkleinmusic

    Ich verwende ein iPhone, weil darauf alle Programme laufen die ich benötige. Des Weiteren finde ich die Apps im Appstore deutlich qualitativ hochwertiger als bei Google Play. Dazu kommt noch das mein altes Android Handy eine absolute Krankheit bezüglich der Bedienung war und sich dort die Einstellungen immer von alleine selber gelöscht haben.

    Apple bietet mir dafür:
    -Mindestens 3 Jahre ein aktuelles OS.
    -Viele Apps laufen (persönliche Erfahrung) besser als auf Android.
    -Ich liebe einfach die Mail App von iOS.
    -Safari, das non plus ultra.
    -Einfache Verwaltung mittels iTunes.


    Ich persönlich kenne auch viele Leute die sich nur deswegen kein iPhone holen, weil man nicht die Musik wie bei Android mittels Bluetooth übertragen kann. Jedoch finde ich es richtig meine Lieblingsmusiker mit einem kleinem Betrag zu unterstützen. Außerdem kann man ja immer noch sämtliche Musik runterladen und mit iTunes auf das Gerät spielen.

  • in: Tägliches Script

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    muellerlukas schrieb:
    Ich glaube, ich stehe gerade total auf dem Schlauch.
    Wenn du im Endeffekt eh nur die Aufrufe pro Tag brauchst, warum benutzt du dann nicht einfach das INSERT/DUPLICATE-Entry von Mysql?https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
    Dann sparst du dir den Stress und hast halt entsprechend deine täglichen Aufrufszahlen.


    Davon habe ich noch nie etwas gehört. Auch durch Videos werde ich nicht schlau wofür diese Funktion genau ist. Kann mir das Jemand mal erklären?

    all-in1 schrieb:
    Warum speichert man zweimal das gleiche?


    Es wird ja nicht 2 Mal das gleiche gespeichert.

    Ich versuche es mal mittels der Datenbanken zu erklären.
    Counter:
    http://fs1.directupload.net/images/150731/frbrsqs5.png

    guests_day:
    http://fs2.directupload.net/images/150731/kc8gphr6.png

    Nun der Code für die Werte:
    ////Counter sofern eine Verbindung zur db besteht
    		////Variabeln
    		$tag   	 = date("d");
    		$monat 	 = date("m");
    		$jahr 	 = date("Y");
    		$datum   = $tag . "." . $monat . "." . $jahr;
    		$timestamp = time();
    		$zeit = $timestamp-900; /// 15 Minuten
    		$timenow = mktime(0,0,0,$monat,$tag,$jahr);
    		$gestern = strtotime("-1 day");		
    		$alter_tag = date("d.m.Y",$gestern);
    		$datum_gestern   = $alter_tag . "." . $monat . "." . $jahr . ".";
    		$ort	 = $_SERVER["REQUEST_URI"];
    		$woher	 = $_SERVER["HTTP_REFERER"];
    		$browser = $_SERVER["HTTP_USER_AGENT"];
    		$ip 	 = $_SERVER['HTTP_X_FORWARDED_FOR'];  
    		
    		/// MySQL Abfragen
    		$counter_del = $db->query("SELECT * FROM `counter` WHERE `timed` < '" . $timenow . "'"); 
    		$counter_new = $db->query("SELECT * FROM `counter` WHERE `ip` = '$ip'");
    		$get_total   = $db->query("SELECT * FROM `counter` ORDER BY id DESC");
    		
    		/// Ergebnisse
    		$menge            = $counter_new->num_rows;
    		$total_day_guests = $counter_del->num_rows;
    		$get_total_array  = $get_total->fetch_array();
    			
    		$get_total        = $get_total_array['id'];
    		$get_time         = $get_total_array['timed'];
    		$datum_abfrage_db = date("d.m.Y",$get_time);	
    		
    		if($datum_abfrage_db != $datum){
    			$db->query("INSERT INTO `guests_day` (`date`,`guests_counter`,`total_guests`) VALUES ('$datum_gestern', '$total_day_guests', '$get_total')");
    			$db->query("DELETE FROM `counter`");
    			$db->query("INSERT INTO `counter`(`ip`,`timed`,`ort`,`woher`,`browser`) VALUES ('$ip','$timestamp','$ort','$woher','$browser')"); 
    		}
    		
    		/////Eintragung neuer Gaeste
    		if($menge == 0){
    			$db->query("INSERT INTO `counter`(`ip`,`timed`,`ort`,`woher`,`browser`) VALUES ('$ip','$timestamp','$ort','$woher','$browser')"); 
    		}
    		elseif($menge == 1){
    			$db->query("UPDATE `counter` SET `timed`='$timestamp', `ort`='$ort' WHERE `ip`='$ip'");
    		}


    Nebenbei angemerkt: Ich habe das Problem mittels if($datum_abfrage_db != $datum) gelöst
    Ich möchte die Anzahl der Einträge die sich in der db counter befinden als Zahl in die Zweite Tabelle eintragen, sowie die höchste aktuelle ID.

    LG
  • in: Tägliches Script

    geschrieben von marvinkleinmusic

    muellerlukas schrieb:
    Inwieweit es sinnvoll ist die Tabelle zu leeren sei mal dahingestellt. (Ich würde einen Timestamp nehmen und dort ggf. dann nur auf der Seite die Besucher des aktuellen Tages anzeigen)

    Ansonsten pack' dir einen SQL-Befehl rein, der alle Datensätze löscht, die älter als das aktuelle Datum 00:00 sind.


    Nun ich halte gleichzeitig noch in einer anderen Tabelle fest, wie viele Besucher es an den Tag gab. Diese werden dann in einer Tabelle ausgewertet: http://marvinkleinmusic.de/test.php.

    Deswegen kann ich nicht einfach die Einträge löschen wo das Datum 1 Tag älter ist.
    Bevor er löscht soll er noch eine Abfrage starten um die Werte für den Eintrag in die zweite Tabelle zu erhalten.
    Sprich->num_rows und get['id'] für die Anzahl der Besucher am Tag und wie die gesamte Anzahl an Besuchern bis zu diesem Tag war.

    LG

  • in: Tägliches Script

    geschrieben von marvinkleinmusic

    Nun ich habe eine Datenbank wo alle Gäste täglich gesammelt werden. Der erste Gast nach veränderung des Datums soll dann die Funktion auslösen, dass die Datenbank komplett geleert wird, sodass nur wieder die Gäste von heute in der DB vorhanden sind.

    LG
  • in: Tägliches Script

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich suche einen Weg mittels PHP ein Script zu schreiben welches immer nur 1X am Tag ausgeführt werden soll.
    Das Script soll um 0 Uhr jeden Tag aktiviert werden, und solange aktiviert bleiben, bis das erste Mal die Seite aufgerufen wird.


    Hat da Jemand eine Idee, wie sich das realisieren lässt?


    LG
  • in: Habt ihr euer Windows 10 Upgrade schon?

    geschrieben von marvinkleinmusic

    tah schrieb:


    2. Cortana finde ich ganz lustig - außer dass es Bing benutzt, kann man das ändern?

    hab die 64 Bit Version.


    Du kannst die Websuche in den Einstellungen von Cortana deaktivieren ;)
  • in: Habt ihr euer Windows 10 Upgrade schon?

    geschrieben von marvinkleinmusic

    Stecke gerade in der Installation. Download hat gestern um ca. 20 Uhr angefangen.
  • in: horizontales ausklappbares CSS Menü

    geschrieben von marvinkleinmusic

    Sofern ich dich korrekt verstanden habe, könnt dir dieses Video möglicherweise weiterhelfen:
  • in: MarvinKleinMusic - jetzt mit Blog!

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Bereits mehrmals habe ich schon hier im Forum nach eurer Meinung gefragt. Jetzt ist es wieder soweit.

    Ich habe mich mal wieder intensiv mit meiner Seite auseinander gesetzt und jetzt einen Punkt behoben, der mich immer gestört hat. Ich rede vom Blog. Dieser wurde bis jetzt immer auf tumblr gehostet, jedoch nicht aktiv genutzt, weil es mir zu umständlich war.

    Deswegen habe ich nun einen Blog (Wordpress basiert) direkt in meine Webseite eingebunden. Nun seid ihr an der Reihe! Wie findet ihr das grundsätzliche Design? Es ist sehr minimalistisch gehalten jedoch komplett responsive dank Bootstrap.

    http://marvinkleinmusic.de/blog

    Es gibt zwar erst einen Eintrag, dass ändert sich aber noch.

    LG
  • in: php-mail

    geschrieben von marvinkleinmusic

    @Burgi

    Also die Umlaute habe ich nun gelöst. Die Zeilenumbrüche in dem Nachrichtentext jedoch wollen einfach nicht raus.

    Selbst wenn ich die E-Mail als type:html angebe und dann nl2br() über den Inhalt laufen lasse gibt es keine Verbesserung.

  • in: php-mail

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich habe mir gerade eine kleine E-Mail Benachrichtigung eingerichtet, damit ich weiß wann Jemand etwas im
    Kontaktformular absendet.

    Die E-Mails kommen zwar an jedoch gibt es Probleme bei Zeilenumbrüchen sowie Umlauten.

    Ankommen tut bei mir folgendes:
    admin@marvinkleinmusic.de

    This mail was sent at the 06.07.15 from Marvin.
    ____________________________________________
    test\ntest\ntest\ntesttetstetstagdhabfjknsbfjkdfnöskjfnkdköL\'fmslöDFMsöfsdfsdfdsf\nsfsd\nfas\nfdsf\ndsfsadf


    Der Dazugehörige Code:
    $name 		= strip_tags(mysqli_real_escape_string($db, $_POST['name']));
    	$email 		= strip_tags(mysqli_real_escape_string($db, $_POST['email']));
    	$betreff 	= strip_tags(mysqli_real_escape_string($db, $_POST['betreff']));
    	$message 	= strip_tags(mysqli_real_escape_string($db, $_POST['message']));
    	$ip 		=  $_SERVER['HTTP_X_FORWARDED_FOR'];
    	$Datum		= date("d.m.y");
    	$to = "klein.marvin@rocketmail.com";
    	
    $message = <<<EMAIL
    	This mail was sent at the $Datum from $name.
    	____________________________________________
    	$message
    EMAIL;
    mail($to,$betreff,$message,$email);



    Wie kann ich es lösen, dass ich alles gut lesen kann?

    LG
  • in: WLAN Nutzungssperre umgehen

    geschrieben von marvinkleinmusic

    Hallo w3j,

    Den PC-Namen ändern hat nichts gebracht.

    Allerdings war es tatsächlich eine feste IP-Adresse. Wir haben diese jetzt in den TCP/IP Eigenschaften verändert. Nun geht alles.
    LG
  • in: WLAN Nutzungssperre umgehen

    geschrieben von marvinkleinmusic

    ​Hallo Zusammen,

    Ich habe mal eine Frage bezüglich der Sperrung der Internetverbindung nach einer gewissen Zeit.

    Mein Kumpel stehen in der Woche jeweils pro Tag 2 Stunden Internet bis 22 Uhr zur Verfügung. Am Wochenende 4 Stunden bis 0 Uhr.
    Sein WLAN Gerät ist eine Fritz!Box SL Wlan.

    Nun da wir aber gerne am WE gerne mal länger spielen möchten und uns deswegen die Sperre im Weg ist, suchen wir einen Weg diese zu umgehen.
    Es hat bereits mal funktioniert als Windows komplett neu installiert wurde. Deswegen gehe ich davon aus, dass dem PC-Namen ein feste IP im Router zugewiesen wurde und so verwaltet wird.

    Würde es helfen wenn wir den PC-Namen ändern? Wenn ja wie funktioniert dass?

    Sein OS ist Windows 7 Home.

    Liebe Grüße
  • in: JQUERY - Frameworks

    geschrieben von marvinkleinmusic

    Vielen dank! So etwas habe ich gemeint! Habe schon 2 Plugins in mein Projekt integriert. Jedoch suche ich noch nach einem passenden Search UI.

    Liebe Grüße
  • in: JQUERY - Frameworks

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich bin derzeit dabei meine Seite ein wenig aufzupäppen. Besonders die Suchfunktion möchte ich überarbeiten.

    Kennt ihr vielleicht gute JQUERY Frameworks die einen Blick wert sind?

    Nebenbei angemerkt bin ich auf der Suche nach einem Framework das ein Bild Größer lädt wenn man es anklickt, eine schöne Suchfunktion (MySQL Datenbank) und gegebenenfalls ein Framework zum versenden von Formularen, da ich meine aktuelle AJAX Lösung nicht sehr schön finde. Wenn möglich (falls ihr eines der 3 Frameworks vorschlagen möchtet, achtet bitte darauf, dass es Mobil kompatibel ist.

    Aber gerne auch könnt ihr mir hier diverse andere Frameworks empfehlen, vielleicht finde ich ja etwas was ich gerne in meine Seite integrieren möchte.

    Liebe Grüße
  • in: Button sperren bis Formular ausgefüllt ist

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Leider begrenzt sich mein Wissen bezüglich Javascript enorm, weswegen ich derzeit vor einem kleinem Problem stehe.

    Folgende Situation:

    Ich habe ein kleines Formular:
    5 Textboxen
    1 Textarea
    3 Select

    Nun benötige ich einen Weg den Submit Button solange zu disablen bis alle 9 inputs eine Value enthalten.

    Mittels Google habe ich schon rausgefunden das ich eine Funktion brauche die beim onchange Event durchgeführt wird.

    Gibt es einen simplen Weg, das alles auf einmal direkt als eine Funktion zu haben, ohne das ich jedesmal in der Funktion stehen habe if(hmm == "")


    Liebe Grüße
  • in: header & Location

    geschrieben von marvinkleinmusic

    Also alles trifft zu, die Fehleranzeige habe ich sogar aktiviert, erhalte jedoch absolut gar nichts.


    Liebe Grüße

  • in: header & Location

    geschrieben von marvinkleinmusic

    Alle Dateien sind UTF-8 kodiert.

    Auch ohne BOM klappt es immer noch nicht, habe weder eine Fehlermeldung, nur eine weiße Seite, wenn ich aber ein Echo irgendwo hinsetze, wird dieses auch ausgegeben, also gehe ich nicht davon aus, das ein PHP Fehler vorliegt.


    LG


    EDIT:// Das Problem lag an der config Datei, diese war falsch kodiert.
    EDIT2// Also wenn ich statt include und variablen bei mysqli alles direkt reinschreibe klappt alles aber mit der config Datei nicht. Warum nicht? Ist jetzt alles UTF-8 Ohne Bom
  • in: header & Location

    geschrieben von marvinkleinmusic

    Hmm klappt immer noch nicht:

    <?php session_start();
    	
    	require_once('connect/config.php');
    	@$db = mysqli_connect($url,$user,$pw,$dbname);
    	
    	$email    = mysqli_real_escape_string($db, $_POST['email']);
    	$password = hash("sha512",mysqli_real_escape_string($db, $_POST['password']));
    	$remember = mysqli_real_escape_string($db, $_POST['remember']);
    	$host     = $_SERVER['HTTP_HOST'];
        $uri      = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
     
    	
    	if(empty($email)){
    		$extra = "login.php";
    		header("Location: http://$host$uri/$extra");
    		exit();		
    	}elseif(empty($password)){
    		$extra = "login.php";
    		header("Location: http://$host$uri/$extra");
    		exit();
    	}else{
    		$check_value  = $db->query("SELECT * FROM users WHERE passwort='$password' AND email='$email'");
    		$check_result = $check_value->num_rows;
    		if($check_result == 1){
    			if($remember == true){
    			}		
    			$_SESSION['userid'] = $email;
    			$extra = "index.php";
    			header("Location: http://$host/pages/$extra");
    			exit();						
    		}else{
    			$extra = "login.php";
    			header("Location: http://$host$uri/$extra");
    			exit();
    		}	
    	}
    	
    	mysqli_close($db);		
    ?>


    LG
  • in: header & Location

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich bastel mir gerade ein kleines Login-Script und möchte gerne per Header weiterleiten. Jedoch klappt es nicht so wie es soll. Was mache ich falsch?

    <?php session_start();
    	
    	require_once('connect/config.php');
    	@$db = mysqli_connect($url,$user,$pw,$dbname);
    	
    	$email    = mysqli_real_escape_string($db, $_POST['email']);
    	$password = hash("sha512",mysqli_real_escape_string($db, $_POST['password']));
    	$remember = mysqli_real_escape_string($db, $_POST['remember']);
    	
    	if(empty($email)){
    		header("Location: /pages/login.php?miss=email");
    		exit();		
    	}elseif(empty($password)){
    		header("Location: /pages/login.php?miss=password");
    		exit();
    	}else{
    		$check_value  = $db->query("SELECT * FROM users WHERE passwort='$password' AND email='$email'");
    		$check_result = $check_value->num_rows;
    		if($check_result == 1){
    			if($remember == true){
    			}		
    			$_SESSION['userid'] = $email;
    			header("Location: /pages/index.php");
    			exit();						
    		}else{
    			header("Location: /pages/login.php?miss=invalid");
    			exit();
    		}	
    	}
    
    	mysqli_close($db);		
    ?>


    LG
  • in: Wartungsmodus für Webseiten

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich mache diesen Thread hier mal auf, weil ich gerne wissen möchte wie ich relativ einfach einen Wartungsmodus für meine Seite entwickeln kann.

    Da ich mal denke das es mit PHP oder htaccess zulösen ist mache ich den Thread hier auf.

    Dieser Thread hier grenzt an meinem Vorschlag an. Ich selber hatte es mal mittels einer IP-Weiche gelöst, finde diese Methode aber sehr unpraktisch aufgrund dessen, dass sich IP Adressen immer ändern.

    Deswegen wollte ich mal nachfragen welche Methoden und Wege es noch gibt, dieses Ziel zu erreichen, das man selber die Seite gewohnt aufrufen kann alle anderen, den kein Zutritt gewährt wird, jedoch auf eine Wartungsseite umgelenkt werden.

    Liebe Grüße,
  • in: Mit Handy App Geld machen?

    geschrieben von marvinkleinmusic

    Hmm also ich möchte mir auch nicht umbedingt mein iPhone mit Trashapps vollmüllen.

    Allerdings bin ich von der App appinio sehr begeistert. Zeitaufwand ist = 0, man beantwortet ein paar Fragen und kann sich dann beispielsweise über einen 10€ Amazon Gutschein freuen oder spenden an Projekte in Afrika.

    Umfragen gibts zwar nicht jeden Tag allerdings hat man ca alle 3 Monate einen Gutschein zusammen und kann sich per Push informieren lassen wann eine neue Umfrage zur Verfügung steht.

    LG
  • in: Welche META Tags sind wichtig?

    geschrieben von marvinkleinmusic

    Hallo Zusammen :wave:

    Mir stellt sich schon seit längerem die Frage, welche Meta Tags man in seine Seite zwingend einbinden sollte, damit diese besser gefunden und identifiziert werden kann.
    Aktuell verwende ich diese 3 hier:
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    		<meta name="description" content="" />
    		<meta name="keywords" content="" />


    LG
  • in: String bearbeiten

    geschrieben von marvinkleinmusic

    Ja es handelt sich um einen Bruchteil von JSON. Ich möchte jedoch nicht die API auslesen sondern den String so splitten das ich meine gewünschten Werte erreiche.

    LG
  • in: String bearbeiten

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich habe mir mithilfe eines Splittes einen kleinen Abschnitt aus einem Quellcode zugelegt.
    Dim sourcecode As String = WebBrowser.DocumentText.ToString
                Dim webtitle As String = sourcecode.Split({"""handle"":"""}, StringSplitOptions.None)(1).Split({""}, StringSplitOptions.None)(CInt(("0")))


    Daraus folgt bei einer bestimmten Seite folgendes: Bild

    Diesen String möchte ich jetzt nochmal in 2 weitere Strings aufteilen.

    performer und title.

    Für performer muss der String soweit gelesen werden bis das erste " kommt. Für den Titel benötige ich den Inhalt aus folgendes "title":"BENÖTIGE ICH"

    Wie komme ich jetzt an die beiden Werte die ich benötige?

    LG
  • in: Monatsberechnung

    geschrieben von marvinkleinmusic

    Also das Feld lässt sich Problemlos auf DATE abändern.

    Aber mir erschließt sich die Funktion von GROUP BY nicht ganz. Wie erkennt MySQL dann das es nur alle Daten aus einem Monat benutzen soll?

    Hättest du vielleicht ein kleines Beispiel oder ein relativ einfach verständliches Tutorial dafür?

    Liebe Grüße
  • in: iPod Touch wiederbeleben

    geschrieben von marvinkleinmusic

    c143 schrieb:
    Selbst mit Backup. Denn wenn du dieses aufspielen würdest, wäre auch der Code wieder vorhanden.


    Das ist mir nicht bekannt, als ich damals mein Gerät zurückgesetzt hatte und per Backup wiederhergestellt habe, hatte ich kein Code mehr aktiv. Das war allerdings noch zu iOS 4 Zeit. Danke für die Info! :)

    LG
  • in: iPod Touch wiederbeleben

    geschrieben von marvinkleinmusic

    Hallo!

    Nun ich gehe einfach mal davon aus das nach deinem Standpunkt nur Punkt 3 in Frage kommt.

    Bezüglich deiner Fragen:
    Ja alle Daten gehen verloren, sofern du kein Back Up des Gerätes hast (wovon ich jetzt mal ausgehe).
    Und Ja es wird zwingend iTunes benötigt sowie ein Kabel (das Ladekabel reicht dafür aus).

    Nachdem du den iPod in den Wartungsmodus gebracht hast (Anleitung um in den DFU Modus zu kommen)
    ,öffnest du iTunes und kannst dort das Gerät komplett auf Werkszustand zurücksetzen (Das dauert je nach Leitung etwas da erst die Firmware runtergeladen wird).

    Die Apps die vorher installiert wurden sind dann logischerweise alle weg, lassen sich aber mit der Apple-ID
    jederzeit wieder kostenlos runterladen (sofern ihr Zugriff auf diese habt).

    Wenn ihr Zugriff zur Apple-ID habt könnt ihr das Gerät nach dem neuaufsetzen möglicherweise auch aus iCloud wiederherstellen. Das bringt zwar nicht die Apps direkt wieder sondern jeglich alle Spielstände, Kontakte und vielleicht sogar Fotos.

    Liebe Grüße
  • in: Monatsberechnung

    geschrieben von marvinkleinmusic

    Ich habe mir jetzt mal einen kleinen Lösungsweg überlegt, verzweifel aber an der Stelle wo ich eine Schleife brauche die immer nur für die gleichen Werte gilt.

    $abfrage = $sql->query("SELECT * FROM guests_day ORDER BY id ASC");
    $beginn = 0;
    while($row = $abfrage->fetch_array()){
    	$endedertage = substr($row['date'], -7);
    	if($endedertage == $endedertage){
    		$beginn = $beginn + $row['guests_counter'];
    	}	
    	echo $beginn . "<br>";
    	
    }


    Resultat: http://marvinkleinmusic.de/functions/stat.php

    Wenn alles richtig wäre, dann würden nur 3 Ausgaben erscheinen. Ich glaube aber ich habe irgendwo einen Logikfehler drin.

    Ich trenne erstmal alle Datumswerte auf die letzten 7 Stellen, sodass ich erhalte 01.2015,02.2015 etc.

    Was jetzt jedoch fehlt ist das mittels einer Funktion alle $endedertage zusammen gerechnet werden, die gleich enden.

    LG
  • in: Monatsberechnung

    geschrieben von marvinkleinmusic

    Hallo nochmal,

    Ansich sieht es sehr gut aus, jedoch stört es mich das alles manuell eingetragen werden muss. Ich möchte es so gelöst haben das er es komplett automatisch für jeden Monat aus der Datenbank bezieht. Sonst habe ich ja in 20 Jahren 20 Funktionen die mir immer einen Monat berechnen.

    LG
  • in: seitenname anzeigen

    geschrieben von marvinkleinmusic

    Das erreichst du wenn du dir die GET Variabel ausgibst.

    Beispiel:
    $seite = $_GET['seite'];
    echo $seite;


    Solltest du das aber für MySQL Query verwenden wollen empfehlt sich noch mysql_real_escape_string.

    LG
  • in: Monatsberechnung

    geschrieben von marvinkleinmusic

    Hallo!

    Vielen dank für deinen Beitrag.

    Also der Spaltentyp ist VARCHAR(10) ich kann es aber jedoch problemlos auf date umändern und dann alle Punkte durch - ersetzen.

    Die Frage die sich mir bei dem Code nun stellt, wie kann ich das jetzt automatisch auf die ganze Tabelle beziehen?
    Da du das date ja konstant vorgegeben hast.

    LG
  • in: Monatsberechnung

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich bin zur Zeit dabei meinen Statistik Bereich auszubauen. Ich habe jetzt schon seit etwa 4 Monaten dafür den täglichen Besucheransturm mit meinem Counter aufgezeichnet, sodass ich die Werte für die Tage habe.

    Das sieht dann etwa so aus:
    Bild

    Diese Werte möchte ich jetzt mithilfe eines PHP Skriptes weiter verwerten, sodass ich am Ende eine Monatsübersicht habe.

    Beispielsweise:
    Das Skript berechnet alle Tage zusammen (nur die Spalte guests_counter) die in Monat Januar, Februar & März aufgezeichnet wurden, sodass ich am Ende eine Besucherzahl für den ganzen Monat habe.

    Die Daten werden jeden Tag um 0 Uhr automatisch in die Tabelle ergänzt, sodass das Skript immer die aktuelle Anzahl zeigt. Doch wie kann ich es so zusammen Basteln das immer nur der gesamte Monat zusammengerechnet wird und nicht alle Werte?


    Liebe Grüße
  • in: IMS-Hosting stellt sich vor!

    geschrieben von marvinkleinmusic

    Hallo!

    Ich habe mich auch gerade mal umgeschaut und bin jedoch verwirrt, wonach die Domainliste sortiert ist? ( https://ims-hosting.de/domainchecker.php )

    Wäre es nicht Sinnvoller die Liste nach Domainendung zu sortieren?

    LG
  • in: Einträge aus Datenbank verschwinden

    geschrieben von marvinkleinmusic

    Hmm wie soll denn in der Zeile 293 eine Injection möglich sein? Wenn ich es richtige verstehe wird ja nur der Wert aus der DB um 1 erhöht, also was ist da falsch?

    Ebenso bei Zeile 153, normalerweise ist es nicht möglich den Inhalt der Variabel zu verändern.


    Die Suche ist aber soweit sicher?

    LG


    EDIT:// Zeile 293 gefixt. Jedoch kann diese nicht der Auslöser für die Verluste in der DB sein, da aktuell keine Downloads nach dem direkt verfahren geladen werden.
  • in: Einträge aus Datenbank verschwinden

    geschrieben von marvinkleinmusic

    Oder auch eine Möglichkeit, vielleicht in der Suche?

    <script type="text/javascript">
    			function search(){
    				xmlhttp=new XMLHttpRequest();
    				xmlhttp.open("GET","/datafile.php?value="+document.form1.searchinput.value,false);
    				xmlhttp.send(null);
    				document.getElementById("searchItems").innerHTML=xmlhttp.responseText;
    			}
    		</script>


    <?php require_once("connect/config.php");
    	
    	@$db = mysqli_connect($url, $user, $pw, $dbname);
    	
    	$key =mysqli_real_escape_string($db, $_GET["value"]);
    	
    	if(!empty($key)){
    		$suchen = $db->query("SELECT * FROM downloads WHERE titel LIKE ('$key%') ORDER BY titel ASC;");
    		$treffer = $suchen->num_rows;
    		if(empty($treffer)){
    			echo "<li>Keine Suchtreffer gefunden.</li>";
    		}else{
    			while($row = $suchen->fetch_array()){
    				echo "<li><a href='/downloads/" . $row['kategorie'] . "/" . $row['titel'] . "'>";
    				echo $row['titel'];
    				echo "</a></li>";
    			}
    			echo "<li>Suchtreffer: $treffer</li>";	
    		}
    	}
    	
    ?>
  • in: Einträge aus Datenbank verschwinden

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich bemerke gerade, das 2 Einträge aus meiner MySQL Datenbank verschwunden sind.

    Kann es sein das mein Script eine Möglichkeit für SQL Injection anbietet?

    <?php
    		require_once("connect/config.php");
    		// Verbindungsvariable samt Zugangsdaten festlegen
    		@$db = mysqli_connect($url, $user, $pw, $dbname);
    		
    		
    		// Variabeln für Funktionen
    
    		$time = time();
    		$Download_name = mysqli_real_escape_string($db, $_GET["downloadname"]);
    		$action      = mysqli_real_escape_string($db, $_GET["action"]); 
    		$instrument      = mysqli_real_escape_string($db, $_GET["instrument"]); 
    		$app      = mysqli_real_escape_string($db, $_GET["app"]); 
    		
    		
    		$query_get = $db->query("SELECT * FROM downloads WHERE titel = '$Download_name'");
    		$query_get_object = $query_get->fetch_object();
    	
    		
    		if(empty($instrument)){
    		
    		$instrument = $query_get_object->instrument;
    		}
    		else{
    		$instrument = $instrument;
    		}
    		if(empty($app)){
    		
    		$app = $query_get_object->kategorie;
    		}
    		else{
    		
    		$app = $app;
    		}
    		
    		// Zufalls Key Generator
    		
    		function zufallsstring($laenge){
    			
    				$zeichen = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    				$zufalls_string = '';
    				$anzahl_zeichen = strlen($zeichen);
    			
    				for($i=0;$i<$laenge;$i++){
    				$zufalls_string .= $zeichen[mt_rand(0, $anzahl_zeichen - 1)];
    				}
    			return $zufalls_string;
    		} 
    		
    		$download_key = zufallsstring(10);
    ?>
    
    <section>
    <h3>Kategorien</h3>
    <ul class="links">
    	<?php
    		$abfrage_kategorien  = $db->query("SELECT * FROM download_kategorien");
    		while($ausgabe_kategorien =$abfrage_kategorien->fetch_object())
    	{
    	
    	// Ausgabe der 3 neusten Downloads
    	echo "<li><a href=\"/downloads/$ausgabe_kategorien->titel\">$ausgabe_kategorien->titel</a></li>";
    	  
    	}  
    	?>	
    	
    </ul>
    </section>	
    
    <section>
    <h3>Neueste Downloads</h3>
    <ul class="links">
    	<?php
    		$abfrage_neue_downloads  = $db->query("SELECT * FROM downloads WHERE visible=1 ORDER BY id DESC LIMIT 3");
    	while($rowneu =$abfrage_neue_downloads->fetch_object())
    	{
    	
    	// Ausgabe der 3 neusten Downloads
    	echo "<li><a href=\"/downloads/$rowneu->kategorie/$rowneu->titel\">$rowneu->titel</a></li>";
    	  
    	}  
    	?>	
    	
    </ul>
    </section>
    
    
    <section>
    <h3>App Downloads</h3>
    <ul class="links">
    	<li><a href="http://bit.ly/magicpianoios" alt="Magic Piano" target="_blank">Magic Piano</a></li>
    	<li><a href="https://itunes.apple.com/app/sing!-karaoke-by-smule/id509993510" alt="Sing! Karaoke" target="_blank">Sing! Karaoke</a></li>
    	<li><a href="https://itunes.apple.com/us/app/piano-joy/id547046870" alt="Piano Joy" target="_blank">Piano Joy</a></li>
    	<li><a href="https://itunes.apple.com/us/app/guitar!-by-smule/id632353530" alt="Guitar!" target="_blank">Guitar!</a></li>
    </ul>	
    
    </section>
    
    <section class="last">  
    	<h3>Software</h3>
    	<ul class="links">
    		<li><a href="http://marvinkleinmusic.bplaced.net/Dezimalrechner" target="_blank">Dezimalrechner</a></li>
    		
    	</ul>	
    </section>
    </div>
    </div>
    
    
    <div class="8u  12u(2) important(2)">
    <div id="content">
    <!-- Content -->	
    <?php
    /// Überprüfung ob id & action vorhanden ist
    if (!isset ($_GET["downloadname"]) or !isset ($_GET["action"]) or empty($_GET["downloadname"]) or empty($_GET["action"])){
    	echo "<meta http-equiv='refresh' content='0; URL=http://marvinkleinmusic.de/downloads.php'>";
    	exit();
    }
    
    /// Download Instrument Informationen Erhalten
    	$get_instrument_info_change = $db->query("SELECT * FROM downloads WHERE titel = '$Download_name'"); 
    	$get_instrument_info_change_row   = $get_instrument_info_change->fetch_object();
    /// Instrument wechseln
    if (isset($_POST["instrument"]) AND $action == "view"){
    
    	$instrument =mysqli_real_escape_string($db, $_POST["instrument"]);
    	$query = $db->query("SELECT * FROM downloads WHERE titel = '$get_instrument_info_change_row->titel' AND instrument = '$instrument' LIMIT 1");  
    	$instrument_query = $query->fetch_object();
    
    	echo "<script> top.location.href'/Get_File.php?downloadname=$instrument_query->titel&action=view&instrument=$instrument_query->instrument'</script>";
    }
    
    
    /// Ausgabe der Informationen zum Download
    if($action == "view"){
    
    	?>  
    	<div class="breadcrumb">
    		<a href="/downloads.php">Kategorien</a> / <a href="/downloads/<?php echo $app; ?>"><?php echo $app; ?></a> / <a href="/downloads/<?php echo $app . "/" . $Download_name; ?>"><?php echo $Download_name; ?></a>
    	</div>
    	<?php
    	
    	
    	/// Download Informationen Erhalten
    	$get_download_info = $db->query("SELECT * FROM downloads WHERE titel = '$Download_name' AND instrument = '$instrument' AND kategorie = '$app'"); 
    	$get_download_info_num = $get_download_info->num_rows;
    	
    	if($get_download_info_num > 0){
    	$get_download_info_row   = $get_download_info->fetch_object();
    	$url = $_SERVER['PHP_SELF']  . "?" . $_SERVER['QUERY_STRING'];
    	$datum = $get_download_info_row->datum;
    	
    	$get_instruments  = $db->query("SELECT * FROM downloads WHERE titel = '$get_download_info_row->titel' AND kategorie = '$app'");
    	$count_instruments = $get_instruments->num_rows;
    			
    	if($count_instruments > 1){
    		echo"<div style=\"margin-top:-15px;\" onload=\"setchecked('instrument','$row->instrument')\">";
    		/// Instrumenten Ausgabe
    			echo "<span style=\"font-size: 16pt; color:#000;\">Instrument:    
    			
    			<form method='post' action='$url'>
    			<select name=\"instrument\" id=\"instrument\" onchange=this.form.submit()>
    				<option value='$instrument'>$instrument</option>
    			";
    			/// Restlichen Instrumente
    			While($get_instruments_row = $get_instruments->fetch_object()){
    				if($get_instruments_row->instrument == $instrument){
    				echo"";
    				}
    				else{
    					echo "<option value='$get_instruments_row->instrument'>$get_instruments_row->instrument </option>";
    				}	
    			}
    
    			echo "</select></form></span>";
    			
    			}
    		
    			
    		/// iFrame & Beschreibung
    			if(!empty($get_download_info_row->vorschau)){
    
    			echo"<iframe style=\"margin-top:10px;\" width='100%' height='400' src='$get_download_info_row->vorschau' frameborder='0' allowfullscreen></iframe>";
    			}else{
    
    			echo "
    			<img alt='no_video' src='images/no_video.png'>
    			";
    			}
    
    
    			if(!empty($get_download_info_row->beschreibung)){
    			echo"
    		
    			<div class='beschreibung'>
    			$get_download_info_row->beschreibung
    			</div>";
    
    			}else{
    
    			echo "
    			<div class='beschreibung'>
    			Keine Beschreibung vorhanden..
    			</div>";
    			}
    			
    			///Eintragen Der Download URL
    		
    			$downloadurl = $row->downloadurl;
    			$db->query("INSERT INTO download_links(download_key,downloadurl,time) VALUES ('$download_key','$get_download_info_row->downloadurl','$time')");
    		/// Bereich für HTML schließen
    	?>
    		<div style="margin-top:10px; margin-bottom:5px;" class="datagrid">
    			<table>
    				<thead>
    					<tr>
    						<th colspan="2">über Download:</th>
    					</tr>
    				</thead>
    			
    				<tbody>
    					<tr>
    						<td>Name:</td>
    						<td><?php echo $get_download_info_row->titel; ?></td>
    					</tr>
    			
    					<tr class="alt">
    						<td>Instrument:</td>
    						<td><?php echo $get_download_info_row->instrument; ?></td>
    					</tr>
    			
    					<tr>
    						<td>Veröffentlichung:</td>
    						<td><?php echo $datum; ?></td>
    					</tr>
    				
    					<tr class="alt">
    						<td>Download Aufrufe:</td>
    						<td><?php echo $get_download_info_row->aufrufe; ?></td>
    					</tr>
    			
    					<tr>
    						<td>Bewerten:</td>
    						<td><iframe src="/vote?name=<?php echo $get_download_info_row->id ?>" width="90%" height="55" scrolling="no" frameborder="0" allowtransparency="true"></iframe></td>	
    					</tr>
    				</tbody>
    			</table>
    	</div>
    
    <a class="download_button" href="/downloads/<?php echo $app . "/" . $Download_name . "/" . $download_key . "/download"; ?>" target="_self"><img alt="" src="/images/Download_Button.png" /></a>
    <?php
    		/// Bereich geöffnet
    	
    	
    		echo"</div>";
    		  
    	}
    	else{
    		echo"<div class=\"active_err\">Download wurde nicht gefunden!</div>"; 
    	}	
    	/// Ende der Überprüfung ob Download Existiert
    	}		
    	/// Ende der Ausgabe & Start der Direkt Downloads
    	elseif($action == "download"){
    		/// Download Informationen Erhalten
    		$get_download_info_download = $db->query("SELECT * FROM downloads WHERE titel = '$Download_name'"); 
    		$get_download_info_row_download   = $get_download_info_download->fetch_object();
    		 
    		
    		
    		/// Überprüfung ob ein Key Vorhanden ist
    		$download_key = mysqli_real_escape_string($db, $_GET['key']);
    		
    		if(!isset($download_key) or empty($download_key)){  
    			echo "Fehler mit der Downloadschlüssel übermittlung. Bitte versuchen Sie es erneut!";
    			
    			exit();
    		}
    		/// Überprüfung des Keys mit der Datenbank
    		$check_key     = $db->query("SELECT * FROM download_links WHERE downloadurl = '$get_download_info_row_download->downloadurl' AND download_key = '$download_key'");
    		$check_key_row = $check_key->fetch_object();
    		
    		/// Überprüfung ob der Key noch gültig ist
    		if($time - $check_key_row->time > 120){
    			echo "
    			<div class='active_err'>Der Downloadlink ist abgelaufen, bitte versuchen Sie es erneut!</div>
    			<input type=\"button\" onclick=\"window.location.href = '/downloads/$app/$Download_name'\" value=\"Zurück zur Download Ansicht\">
    			";
    			
    			exit();
    		}else{
    		/// Aufrufe + 1
    		$db->query("UPDATE downloads SET aufrufe = aufrufe+1 WHERE titel=$Download_name");
    		
    		/// Download von View Seite
    		if($get_download_info_row_download->view == "1"){
    		
    		/// Aufrufe + 1
    		$db->query("UPDATE downloads SET aufrufe = aufrufe+1 WHERE titel='$Download_name'");
    		
    		echo"
    		<div class=\"active_info\">Ihr Download startet automatisch, wenn nicht klicken Sie bitte <a href=\"$check_key_row->downloadurl\">hier</a>.</div>
    		
    		<input type=\"button\" onclick=\"window.location.href = '/downloads/$app/$Download_name'\" value=\"Zurück zur Download Ansicht\">
    		"; 							
    		}
    		else{
    		/// Direkt downloads
    			echo "<span style=\"text-align:center;\">Sie werden automatisch weitergeleitet!</span> $get_download_info_row->downloadurl";
    		}
    		}  
    		 echo "<meta http-equiv='refresh' content='2.5; URL=$check_key_row->downloadurl'>";
    		}
    		/// Ende des Download Verfahrens & Fehlermeldung falls keine action und co Vorhanden ist die stimmt
    		else{
    			echo"Download wurde nicht gefunden!";
    		}
    	
    	mysqli_close($db);
    ?>


    Oder: http://marvinkleinmusic.de/downloads/Magic%20Piano/Let%20Me%20Love%20You
  • in:  Fehler beim include

    geschrieben von marvinkleinmusic

    Stell bei beiden Dateien als Kodierung UTF-8 ohne BOM ein ;)

    LG
  • in: Einfache Chrome Extention

    geschrieben von marvinkleinmusic

    Vielen dank! Das ist ja mal eine Auswahl. Ich werde mich mal schlau machen.

    Doch wie kann ich (sofern Inhalt gefunden wurde) ein Popup anzeigen lassen mit 2 Buttons?


    LG
  • in: Einfache Chrome Extention

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich bin zurzeit damit beschäftigt, mir ein kleines Chrome Extention zu schreiben und habe mir bereits mein Popup Fenster etc eingerichtet. Nun fehlt jedoch noch die Funktion.

    Hier einmal der relativ simple Code für popup.html:
    <html>
    	<head>
    		<title>Sownloader - Chrome 1.0</title>
    		<style type="text/css">
    			#container{
    				width:200px;
    				height:80px;
    			}
    			
    			.searchbtn{
    				width: 200px;
    			}
    		</style>
    		
    		<script language="JavaScript">
    			function clickHandler() {
    				
    			}
    		</script>
    	</head>
    	<body>
    		<div id="container">
    			<h2>Sownloader - Chrome</h2>
    			
    			<input class="searchbtn" type="button" value="Search media" onclick="clickHandler()" />
    		</div>	
    	</body>
    </html>


    Nun man sieht jetzt das beim klicken auf dem Button eine Funktion ausgelöst wird. Nun zu meinem Problem.
    Per button klick sollen alle <audio>/<video> Elemente auf der Seite durchsucht werden und der Inhalt der sich in src"" befindet soll als eine Art Popup ausgeben werden.

    Weiß jemand wie sich das realisieren lässt?

    LG
  • in: [Biete] GTA SA Steam Version

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich biete euch hier eine Kopie von GTA San Andreas an.
    Diese Version kann nur in Steam genutzt werden und wird nicht benötigt da ich das Spiel bereits besitze und es
    nochmal erhalten habe bei der Vorbestellung von GTAV.

    http://fs2.directupload.net/images/150226/kxhrad8x.png

    Bezüglich des Preises bietet mir einfach was an.

    Zahlungsmöglichkeiten: PayPal


    Der Artikel wird direkt bei Zahlungseingang per Steam versendet (Dafür muss nur einmal ein handel durchgeführt werden, sprich eine Freundschaftsanfrage).


    Für Fragen stehe ich euch gerne zur Verfügung entweder hier oder bei Steam: marvinkleinmusic1

  • in: .net Domain Werbung

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Vor ein paar Wochen hatte ich bei Lima-City eine .net Domain registriert. Seit dem erhalte ich regelmäßig komische E-Mails, weiß jemand von euch, was es damit auf sich hat?
    ATTENTION: IMPORTANT NOTICE 	
    Domain SEO Service Registration Corp.
    Order#: 674598
    Date: 02/16/2015
    
    EXPIRATION OFFER NOTICE
    DOMAIN: marvinkleinmusic.net
    Notification Purchase Offer
    
    EXPIRATION OFFER DATE: 02/24/2015
    To: MEINE ADRESSE
    Domain Name:
    	
    
    Registration SEO Period:
    	
    
    Price:
    	
    
    Term:
    marvinkleinmusic.net   	03/10/2015 to 03/09/2016  	$64.00 	1 Year
    
    SECURE ONLINE PAYMENT
    Domain Name: marvinkleinmusic.net
    Attn: Marvin Klein
    This important expiration notification notifies you about the expiration notice of your domain registration for marvinkleinmusic.net  search engine submission. The information in this expiration notification may contain confidential and/or legally privileged information from the notification processing department of the Domain SEO Service Registration to purchase our SEO Traffic Generator. This information is intended only for the use of the individual(s) named above.
    If you fail to complete your domain name registration marvinkleinmusic.net  search engine service by the expiration date, may result in the cancellation of this SEO domain name notification offer notice.	
    PLEASE CLICK ON
    
    SECURE ONLINE PAYMENT
    TO COMPLETE YOUR PAYMENT.
    Failure to complete your seo domain name registration marvinkleinmusic.net  search engine service process may make it difficult for customers to find you on the web.
    CLICK UNDERNEATH FOR IMMEDIATE PAYMENT
    PROCESS PAYMENT FOR
    marvinkleinmusic.net
    SECURE ONLINE PAYMENT	
    
    ACT IMMEDIATELY
    
    This domain seo registration for marvinkleinmusic.net  search engine service notification offer will expire 02/24/2015.
    Instructions and Unsubscribe Instructions:
    You have received this message because you elected to receive special notification offers. If you no longer wish to receive our notifications, please unsubscribe here or mail us a written request to Domain SEO Service Registration Corp., 5379 Lyons Rd. 452, Coconut Creek, FL 33073. If you have multiple accounts with us, you must opt out for each one individually in order to stop receiving notifications notices. We are a search engine optimization company. We do not directly register or renew domain names. We are selling traffic generator software tools. This message is CAN-SPAM compliant. THIS IS NOT A BILL. THIS IS A NOTIFICATION OFFER. YOU ARE UNDER NO OBLIGATION TO PAY THE AMOUNT STATED UNLESS YOU ACCEPT THIS NOTIFICATION OFFER. Please do not reply to this email, as we are not able to respond to messages sent to this address.
  • in: Netzwerkfreigabe

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich benutze derzeit meinem Laptop als WLAN Empfänder und sürfe dann per Kabel an meinem Standrechner (aus dem Laptop).

    Nun ist es so dass das Internet hier relativ grottig ist weswegen ich größere Spiele öfters bei Freunden runterlade und diese dann vom Laptop per Kabel auf meinem Standrechner "downloade". Nun hat sich jedoch das Problem ergeben, das der Steam Ordner nicht mehr angezeigt wird, wenn ich mit dem Explorer meinem Laptop ansurfe. Ebenso werden keine neuen Freigegeben Dateien sowie festplatten angezeigt.

    Nun meine Frage wie kann ich es wieder hinbekommen, das die Festplatte (S) wieder an meinem Standrechner erscheint?

    Am Standrechner ist die Kabelverbindung ein Heimnetzwerk am Laptop jedoch ein nicht identifiziertes Netzwerk, lässt sich auch nicht umstellen.

    Datei & Druckerfreigabe ist aktiviert und alles ist für jeden mit vollen Zugriff freigegeben.
    Jedoch taucht nur das User Verzeichnis (Marvin) und das Verzeichnis Öffentlich auf und egal wo ich da den neuen Ordner reinziehe und freigebe er taucht nicht am Standrechner auf.

    LG
  • in: Einstieg in C#

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich wollte mich in naher Zukunft genauer mit C# beschäftigen um meine Fähigkeiten zu Verbessern und vielleicht das ein oder andere Projekt auf die Beine zustellen und meine bisherigen Projekte zu Optimieren.

    Deswegen wollte ich mir gerne ein Buch zu C# zulegen welches mir C# in Verbindung mit Visual Studio 2012 Express beibringt.

    Habt ihr vielleicht einenen Tipp aus persönlicher Erfahrung? Vorzugsweise wäre ich an ein Buch das auf Amazon zu finden ist interessiert bis Maximal 30€.



    Liebe Grüße
  • in: htaccess RewriteRule

    geschrieben von marvinkleinmusic

    Hallo nochmal!

    Ich habe ganz vergessen eine Sache mit einzubeziehen. Zwar lassen sich die Downloads/Kategorien zwar problemlos dank Thomas anzeigen, allerdings habe ich vergessen das ganze auch noch für den Download zu übernehmen.

    Das ganze sieht dann etwa ohne htaccess so aus:
    http://marvinkleinmusic.de/Get_File.php?downloadname=All%20of%20Me&key=YoamKzKtOq&action=download


    Der key wird immer zufällig generiert und ist immer 10 Zeichen lang.
    Die action zum downloaden ist download.

    Ich benötige dort noch eine Regel in htaccess die aus der URL oben folgenden Link generiert:
    http://marvinkleinmusic.de/downloads/(Magic Piano)/(All of Me)/(key10zeichen)/download

    Ich versuche mal ein wenig rum.

    LG
  • in: htaccess RewriteRule

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich versuche zurzeit das Downloadsuchverhalten zu optimieren mittels htaccess.


    Beispiel:

    Zur Zeit sieht eine vollwertige URL so aus:
    http://marvinkleinmusic.de/Get_File.php?downloadname=Moonlight%20Sonata%20III.%20Presto%20Agitato&action=view&app=Magic%20Piano&instrument=Grand%20Piano


    (Ohne die %20)

    Nun habe ich es schon so eingestellt mit htaccess, dass ich zum passenden Download komme wenn ich jetzt folgendes z.B. eingebe:
    http://marvinkleinmusic.de/Downloads/All of Me


    htaccess dazu:
    RewriteEngine On
    RewriteRule ^\.htaccess$ - [F]  
    RewriteRule ^Downloads/([^/]*)$ Get_File.php?downloadname=$1&action=view [L]


    Mein Problem dabei ist jetzt jedoch das Lieder zum Teil auch 2 mal vorkommen, jedoch in verschiedenen Kategorien. Deswegen muss die Regel noch erweitert werden, sodass es wie folgt aussieht:
    http://marvinkleinmusic.de/downloads/Magic Piano/All of Me


    Dazu muss beachtet werden, das es eine Datei namens downloads.php auf dem Server gibt welche eine Kategorie auswahl beinhaltet. Deswegen soll der zweite Parameter gleichzeitig als Kategorie ersetzung dienen.

    Beispiel:
    Wenn ich jetzt http://marvinkleinmusic.de/downloads/Magic Piano aufrufe soll die Kategorie geöffnent werden : marvinkleinmusic.de/downloads?kategorie=Magic Piano

    Das selbe gilt sowohl für "Sing Jams" und "Piano Genius".

    EDIT: Ich habe noch vergessen, das für die Kategorien eine Seitenangabe benötigt wird. Wenn diese fehlt ist seite=1

    Das sieht dann ohne htaccess etwa so aus:
    marvinkleinmusic.de/downloads?kategorie=Magic Piano&seite=2



    Das benötige ich jetzt genau:
    RewriteRule's die wie folgt umleiten: (Das was in den Klammern steht kann auch anderere Inhalt sein)
    http://marvinkleinmusic.de/downloads/(Magic Piano) -> http://marvinkleinmusic.de/downloads.php?kategorie=(Magic Piano)
    http://marvinkleinmusic.de/downloads/(Magic Piano)/(2) ->  http://marvinkleinmusic.de/downloads.php?kategorie=(Magic Piano)&seite=(2)
    http://marvinkleinmusic.de/downloads/(Magic Piano)/(All of Me) -> http://marvinkleinmusic.de/Get_File.php?downloadname=(All of Me)&app=(Magic Piano)


    EDIT ENDE

    Zu guter letzt sollen per htaccess in dieses URL's die leerzeichen durch %20 ersetzt werden.

    Hat vielleicht jemand eine Idee? Ich lese mich derzeit noch in Reguläre Ausdrücke ein und habe sogut wie keinen Plan davon.

    Liebe Grüße und vielen dank für jede Hilfe! :)
  • in: Tool um Zeit zu messen

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich suche schon etwas länger ein Tool was mitzeichnet wie lange ein Programm genutzt wird. So wie bei Steam die Stundenanzeige wie lange man schon ein Spiel gespielt hat.

    Schön wäre es wenn es nur individuell selbst eingetragene .exe Dateien mitschreibt.

    Kennt da jemand was gutes?

    LG
  • in: PHP Regex & file_get_contents

    geschrieben von marvinkleinmusic

    Hallo Zusammen,

    Ich arbeite derzeit an einem kleinem Tool das es mir vereinfachen soll eine gesuchte URL zufinden, sodass man nicht immer in den Quellcode schauen muss.

    Beispiel:
    <?php
    // Text bzw. String mit file_get_contents() holen 
    $string = file_get_contents('http://www.smule.com/p/2416676_67639912');


    Auf dem gegebenen Link gibt es ein Element, welches nicht direkt im Quellcode vorhanden ist sondern nur per Inspektor sichtbar wird.

    Das sieht dann z.B. so aus:
    <audio id="jp_audio_0" preload="metadata" src="http://s.smule.com/x9/minipiano/performance/rendered/b8/e2/fd962be5-bb04-4876-9f39-6c1052226ce4.m4a"></audio>


    Nun möchte ich mithilfe von Regex an die URL im src Bereich kommen und ausgeben.


    Kann mir jemand von euch weiterhelfen?

    Liebe Grüße
  • in: MP3 Tags lesen/ändern

    geschrieben von marvinkleinmusic

    huaweiy300 schrieb:
    Ich habe im Moment ein ähnliches Problem
    Ich will nen ID3 Tag aus ner .m3u Datei auslesen.

    Ich würde dafür die Taglib# verwenden, wie auch einscka. Ist realtiv übersichtlich und leicht zu bedienen.
    Beispiel:
    Dim MP3FilePath As New TagLib.File.LocalFileAbstraction(tbFile.Text)
            Dim MP3File As TagLib.File = TagLib.File.Create(MP3FilePath)
    
            MP3File.Tag.Title = tbTitle.Text
            MP3File.Tag.Performers = New String() {tbPerformer.Text}
            MP3File.Tag.Album = tbApp.Text
    MP3File.Save()
    MP3File.Dispose()


    Um die Library zu verwenden benötigst du mindestens VB Express 2012.

    hackyourlife schrieb:
    Sieh dir dazu folgende Links an:
    *klick*, *klick*


    Dieser Weg würde zwar funktionieren, aber ich finde um es übersichtlicher zuhalten, sollte man lieber eine Library anwenden. Taglib# ist da schon relativ einfach zu bedienen.

    w3j schrieb:

    Für das eigendliche Problem von marvinkleinmusic kann ich aber leider nicht weiterhelfen:confused:


    Ich habe es bereits gelöst, das Problem lag dadran, dass ich eine Datei (.m4a) runtergeladen habe und als .mp3 speichern wollte. Resultat: Taglib# konnte das File nicht zuordnen.

    Liebe Grüße

Login zum Webhosting ohne Werbung!