Beiträge von domeetr

    Hallo zusammen,

    ich wende mich heute an euch, weil ich vor einem Problem stehe, das ich so nicht gelöst bekomme - habe es mit mehreren Anläufen versucht, aber scheitere immer kläglich daran.

    Es sei dazu gesagt, dass das echt zum "heulen" ist, weil es so was einfaches ist und ich schon sehr viel schwerere Dinge gelöst habe - und daran scheitere..


    Ich habe ein Wordpress-Plugin geschrieben, das mir einen marquee setzt per Shortcode. Den Text dazu definiere ich übers Backend, genau so wie den delay und den amount. Das alles klappt auch wunderbar. Es wird toll angezeigt, es läuft toll durch, etc.

    Leider gibt es aber ein Problem. <marquee> ist halt einfach veraltet und wird in vielen Browsern nicht mehr richtig unterstützt - gerade in Safari / auf dem Handy wäre es aber wichtig. Aus diesem Grund musste ich mir eine Lösung einfallen lassen. Heutzutage geht ja alles schon per Transform (css) oder eben per JS.

    Also habe ich ChatGPT gefragt, wie das ganze zu lösen wäre. Ich habe sehr viele Vorschläge ausprobiert und rumprobiert, aber ich scheitere immer an folgenden Dingen:

    Die Geschwindigkeit richtet sich nach dem Text (was bei marquee so nicht ist - und auch nicht sein soll) - Denn hat man nun einen kleinen Informationstext, läuft er in Zeitlupe. Hat man einen größeren, dann ist es Formel 1.

    Er startet nicht wie gewöhnlich von rechts nach links sondern irgendwo von der Mitte. Ändert man dann den Transform ab, geht es - aber man wartet dann sehr lange darauf, dass der Text irgendwann kommt- auf dem Handy noch sehr viel länger.

    Hat jemand eine Idee, wie man eine möglichst gleiche Lösung wie <marquee> schaffen kann?

    Vielen Dank im Voraus!

    Liebe Grüße

    Ich denke es liegt daran, dass der Port von einer anderen Software benutzt und geblockt wird. Startest du den Rechner neu und hast die andere Software nicht aktiv, ist der Port frei und kann benutzt werden. Ich frage mich nur für was der Apache Port 8888 braucht? Du könntest im ersten Schritt prüfen, welche Software welchen Port blockt.

    Dieser Befehl könnte dir unter Windows weiterhelfen:

    Code
    netstat -anb | find "8888"

    Na klar kann man soetwas einbauen, aber das kann jeder mit PHP-Erfahrung auch wieder aushebeln.

    Das ja, aber ich erhoffe mir dabei, dass das zumindest 1x Loggt, bevor es abgeschalten wird, weist du was ich meine? .. Ob natürlich der nächste das dann auch noch verbaut hat ist fraglich.. Aber wie gesagt, die Kunden würden jetzt den Quellcode nicht step by step auseinander bauen sondern wollen ein funktionierendes System..

    PHP ist quelloffen, HTML/CSS/JavaScript eh wenns im Browser ankommt.

    Es gibt zwar die eine oder andere kommerzielle Lösung, welche den PHP-Code so verstümmelt, dass er nicht mehr zurückverfolgt werden kann (z.b. https://www.zend.com/products/zend-guard), aber wirklich durchgesetzt hat sich das (zu Recht) nicht.

    Wenn du Daten vom Server per API schickst kannst du dies natürlich verhindern, wenn der User die Berechtigung nicht hat, was dann unter Umständen die Applikation nicht mehr brauchbar macht.

    Wenn du Deine Software verkaufst machst du vertraglich ab, was damit gemacht werden darf und was nicht. Das ist die beste Lösung.

    Hast du natürlich recht.. Die Frage ist natürlich dann immer, wer sich an Verträge hält. Was man nicht weis, kann man nicht beanstanden. Und da es sich, bei diesem Produkt, um ein eher grenwertiges Clientee handelt bin ich mir echt unsicher, ob das nicht im Hintergrund vervielfältigt wird ohne das ich es mitbekomme (oder erst zu spät mitbekomme)

    Gibt es andere Möglichkeiten, dass man zumindest mitbekommt, wenn jemand das Produkt "nutzt"? Habe mir überlegt, sowas wie eine Art Log-Eintrag Funktion in einer PHP zu bauen. Diese loggt mir dann die URL. Aber das passiert dann immer und auch von denen, die das Produkt erworben haben..

    Hallo zusammen,

    ich hab da mal eine Frage.

    Mal angenommen ich habe ein Programm, welches ich zum Verkauf anbiete. In diesem "PHP-Programm" gibt es einige Funktionalitäten, Aussehen, etc. (HTML, CSS, PHP, JS)

    Gibt es da Möglichkeiten, zusätzlich zum Verkauf einen "API-Schlüssel" mitzuschicken, der beispielsweise in einer config.php eingetragen werden muss? - Sodass, wenn man den API-Schlüssel nicht hat, nichts funktioniert?

    Den API-Schlüssel (bzw. der eigengenerierte Schlüssel) würde ich dann beispielsweise in eine Datenbank stellen, wo das Skript dann prüft ob es den Schlüssel gibt und wenn ja, dann gehts?

    Sorry, ich wusste nicht wie ich es hätte anders formulieren sollen.

    Vielen Dank im Voraus!

    Hallo zusammen, vielen Dank nochmal! Klappt fast alles.. Das einzige Problem, wo ich einfach nicht mehr weiterweis ist folgendes:

    Ich schicke per on click event ein Befehl an die sessionsave.php. Dort wird die Datenbankabfrage gestartet und gibt mir anschließend die Daten wieder zurück.


    Hier das skript:

    Das ganze funktioniert auch fast einwandfrei. Die einzige Ausnahme ist nämlich, wenn der Lastname ein Umlaut drinnen hat. Sobald im Nachnamen ein Umlaut ist, bekomme ich keinerlei Antwort (Firefox, Netzwerkanalyse beim POST). Es steht einfach da: Keine Antwortdaten für diese Anfrage verfügbar

    Wenn ich allerdings das $row->lastname durch "ööööööööö" ersetze funktioniert es einwandfrei..

    Wisst ihr was man da tun kann oder wo das problem steckt?

    Die Tabelle ist utf8mb4_bin codiert

    Hallo zusammen, ich habe es versucht umzubauen, allerdings scheitere ich grad etwas an der Übergabe von Ajax. Wenn ich mir das im Netzwerkprotokoll anschaue, schickt er es "richtig:

    bez"steam:1103242376e7d4d" (Zahlen mit absicht zum Schutz des Steam-Accounts geändert)

    Wenn ich es mir aber unformattiert anschaue, sieht es so aus:

    bez=steam%3A1234234076e7d4d (Zahlen mit absicht zum Schutz des Steam-Accounts geändert)

    Das Problem: Irgendwie wird der : (doppelpunkt) umgewandelt, was mir anschließend Null-Werte liefert (weil die Datenbank keinen Datensatz findet mit diesem %3A dazwischen..)

    EDIT: Die Daten der Tabelle hole ich ebenfalls durch eine Functions aus einer Datei, durchlaufe es mit einer foreach-schleife und gebe es anschließend als tabelle aus.

    Also ich hole die Daten in der Func.php (dort hab ich alle Daten des Spielers definiert). Jede function die ich benutze braucht zum einen den Übergabeparamter was es ist, beispielsweise "money" und die ID des Spielers.

    Das sieht wie folgt aus:

    Die ID bekomme ich durch die Click-function, die mir die ID dann per AJAX Post an sessionsave.php schickt und dort als $_SESSIOn abspeichert.

    Aufrufen tue ich dann im Modal so:

    echo GetPlayerDetails("firstname", $_SESSION["steamidtable"]);

    Das Problem ist ja aber, dass das Modal sich gleich öffnet und nicht erst einen Reload braucht. Die Session braucht allerdings einen Reload der Seite, sonst weis die Seite noch nicht, dass die Session einen Inhalt bekommen hat.

    Ich möchte allerdings den Reload verhindern.

    Bestenfalls gibt es eine Möglichkeit, dass ich im Ajax Success sagen könnte, dass die zurückkommenden Daten von der sessionsave.php -> data sind (das habe ich ja schon und gebe es mit alert(data) aus) und das er mir diese in einer PHP-Variable speichern soll $playerfromAjax.

    Dann könnte ich im Modal statt $_SESSIONblabla einfach $playerfromAjax nehmen..

    Hallo zusammen,

    ich habe ein kleines Problem. Ich habe eine Tabelle, die mir Daten von Spielern anzeigt.

    Für eine Detailansicht jedes einzelnen Spielers habe ich eine Click-Function erstellt für jedes <tr> element und POSTE das in eine sessionsave.php (dort speicher ich die ID des Spielers in einer $_SESSION)

    Das Problem ist, dass ich allerdings immer die Seite neuladen muss, ehe das Modal die Daten von dem Spieler hat, den ich davor angeklickt habe.

    Sprich, ich muss es irgendwie hinbekommen in der ajax success eine PHP-Variable zu definieren, die ich wiederrum im Modal nutzen kann.

    Der Grund, weshalb ich eine Variable / $_SESSION o.ä. brauche ist folgender:

    Ich greife für die Auswertung der Details auf PHP-Funktionen zu, die wiederum eine Datenbankabfrage starten. Als Übergabe-Parameter brauchen alle Functions jeweils die ID des Spielers.

    Hat jemand eine Idee wie man das lösen könnte?

    Code: Modal
    Ausgabe des Vornamens:
    
    echo GetPlayerDetails("firstname", $_SESSION["steamidtable"]);

    Ich habe zum Test bereits versucht, die Daten im Success auszuwerten.

    alert(data) zeigt mir auch jeweils die richtige ID an, die ich ausgewählt habe.

    Ich weis, dass ich mit einem location.reload() im success mein Problem gelöst hätte, aber ich möchte ungern die Seite nochmals neu Laden, weil das mit dem Modal kollidiert und die Seite im Schnitt 2-3 Sekunden zum laden braucht.

    Genau, so hatte ich es dann auch gemacht, danke dir

    PHP
    <?php
    $page = basename($_SERVER['PHP_SELF']);
    session_start();
    if(!isset($_SESSION['logged'])){
      if($page != 'login.php'){
        header("Location: login.php");
        exit();
      }
    }

    Die einzige Problematik die ich jetzt habe ist ein Umleitungsfehler.

    Da ich ja auch in der login.php den header einbinde und der wiederum prüft, ob die session vorhanden ist und sonst auf login.php umleitet bin ich in der dauerschleife

    Fehler: Umleitungsfehler

    Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

    Okay, vielen lieben Dank!

    Bedeutet, dass ich entweder das include vorher mache, was aber glaube ich nicht so gut möglich ist weil ich danach kein Code mehr machen kann (weil in der header.php auch html steht) oder ich meinen header ohne session_start mache

    PHP: header.php
    <?php
    $page = basename($_SERVER['PHP_SELF']);
    //session_start();
    if(!isset($_SESSION['logged'])){
        $_SESSION['logged'] = 0;
    }
    require("func.php");
    require("config.php");

    und dann anschließend die sessions jeweils in den seiten selbst starte, richtig? Was hältst du für sinnvoller?

    Das mit dem logged == 0 lösche ich natürlich noch.

    Ich bin gerade dabei ein UCP zu programieren, habe allerdings vom Vorgänger viel hinterlassen bekommen und muss jetzt erstmal seine Funktionen benutzen, bzw. mich zurechtfinden, ehe ich dann meine Logik einbaue.