kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Mit ein Formular auf 3 Seiten anmelden

    geschrieben von mehralsnurradio

    Also willst du, dass bei einer Registrierung drei Mails versendet werden, von verschiedenen Seiten?
    Warum drei Bestätigungs-Mails statt einer? Könnte dann auch leichter vom Empfänger-Server als Spam identifiziert werden.

    Ich würde vorschlagen:

    Jede der drei Seiten führt beim Klick auf den Login-Knopf / Registrieren-Knopf zu einer zentralen Seite, die URL der Ursprungsseite als Parameter. Dort kann man sich registrieren, das Ganze landet in einer zentralen Datenbank.
    Danach Redirect zurück zur ursprünglichen Seite, bspw. mit einer Sitzungsnummer als Parameter. Die wird dann von der Seite als Session-ID gesetzt, Abruf der Daten über zentrale Datenbank.

    Beispiel:

    Zentrale Datenbank mit users + sessions.

    seite3.de - Login-Button => link: seite1.de/login?ref=seite3
    Login/Registrierung hier,
    z.B. Bestätigungscode per Mail welcher vorher in Datenbank gespeichert wurde
    verbunden mit user ID
    Wenn login/Registrierung erfolgreich
    zufällige Session-ID generieren und in Datenbank einfügen, verbunden mit userID
    redirect zurück zur ursprünglichen Seite (ref-Parameter wurde vorher immer mit übertragen)
    bspw. seite3.de/login?session=(session-ID)
    hier PHP session_start und session_id setzen
    Dann weiterleitung auf Startseite, evtl. Abruf der Daten aus Datenbank über die Session-ID
  • in: Was kann da schieflaufen?

    geschrieben von mehralsnurradio

    Ich habe ein PHP-Script, welches folgendermaßen funktioniert:

    - Datenbank abrufen
    - Je nach Datenbankinhalt entweder URLs mit dem Schema https://... .png (wenn Inhalt leer) oder https://...2.png (wenn Inhalt nicht leer) abruft
    - Prüft ob unter der URL etwas gefunden wird
    - Wenn etwas gefunden wird, dann wird das in die Datenbank eingetragen und bei zukünftigen Abfragen die Variante mit der zwei oder wenn davor schon zwei dann die mit einer drei abgerufen

    Mein Problem ist:
    Etwa bei jeder 5.000sten Datenbankabfrage, welche jeweils etwa 1.000 Zeilen enthalten, passiert es, dass das Script fälschlicherweise bei 1 oder 2 Zeilen dieser Abfrage (nicht bei der gesamten Abfrage) die URL https://... .png abfragt statt die mit der Nummer, was dazu führt, dass URLs fälschlicherweise mehrmals gefunden werden.
    Die einzelnen Zeilen laufen in einer while durch.

    Woran kann das liegen?
  • in: JavaScript funktioniert falsch

    geschrieben von mehralsnurradio

    downloadFile soll ausgeführt werden, nachdem html2canvas beendet ist. Daher habe ich die XMLHttpRequest auf false gesetzt und mithilfe eines Tutorials folgendes Script zusammengebastelt.
    Problem ist nur, dass downloadFile trotzdem ausgeführt wird, bevor die Request geantwortet hat.
    function functionOne(_callback){
     downloadFile("img_user/capture/...");
     _callback();
    }
    function functionTwo(){
     $("#dwb").hide();
     $("#dwbx").show();
     html2canvas(el, {backgroundColor: null}).then(function (canvas) {
      var ajax = new XMLHttpRequest();
       ajax.open("POST", "save-capture.php", false);
       ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
       ajax.send("image=" + canvas.toDataURL("image/png", 0.9));
       ajax.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
         console.log(this.responseText);	
        }
       };
      })
     functionOne(()=>{
      console.log("I am a callback");
     });
    }
    functionTwo();
  • in: Cookie-Meldung Interferenz mit SEO und Website Tools

    geschrieben von mehralsnurradio

    Naja, teilweise hat google noch alte Texte und anscheinend sind die Texte zu kurz und so wird manchmal Website Text mitgenommen.

    Google wird die Meta Tags warscheinlich eher neu überprüfen als den Inhalt. Dann verlängere doch die Meta Tags
  • in: Gerade angekommen ... keine Ahnung wie,was geht

    geschrieben von mehralsnurradio

    Erstmal herzlich Willkommen!
    Wenn du von HTML keine Ahnung hast:
    a) Kannst Wordpress installiere. Geh unter Webseiten, da kannst du entweder eine Domain Kaufen oder eine kostenlose
    Subdomain nehmen. Wähle als Inhalt Software Installer aus und dann Wordpress. Ist eigentlich dann selbsterklärend.
    b) Kannst HTML lernen z.B. bei W3Schools
    Wenn du schon Ahnung hast:
    Guck Mal bei FTP-Zugang in der Verwaltung. Da steht wie du dich anmelden kannst. Dann wie gerade erklärt Webseite anlegen und als Inhalt das jeweilige Verzeichnis auswählen.
    Und für das Forum: Wenn du Beiträge schreibst, kannst du Gulden verdienen mit denen du dir .de Domains ersteigern kannst. Schau sonst auch Mal in die Hilfe: https://www.lima-city.de/hilfe
    Lg, stehe für weitere Fragen bereit
  • in: Cookie-Meldung Interferenz mit SEO und Website Tools

    geschrieben von mehralsnurradio

    Du könntest also einfach statt Google Analytics auf ein anderes System umstellen, was keine Cookies setzt
    Was auch nicht unbedingt Sinn machen muss, weil bei einem externen Anbieter dann ebenfalls Daten an den weitergegeben werden würden, d.h. der Nutzer müsste trotzdem zustimmen, auch ohne Cookies. Oder bin ich da gerade auf einem ganz falschen Weg?
    Ich weiß nicht wie das bei einem selbstgehosteten Anbieter, der ohne Cookies arbeitet wäre z.B. Piwik oder auch eine eigenen Lösung. Das müsste dann müsste aber mindestens auch in der Datenschutzerklärung stehen, welche Daten erfasst werden und wozu.
  • in: PHP exec im Hintergrund

    geschrieben von mehralsnurradio

    Mir geht es eher darum, die cronjobs besser und für mich einfacher zu managen, nicht darum das Limit zu erhöhen.
    Meine Idee war, 9 Cronjobs bei LC anzulegen auf eine Datei cronjob.php?p=X und als X durchnummeriert.
    Die cronjob.php soll dann einfach prüfen, welche Uhrzeit ist und anhand dessen eine oder auch mehrere PHP Dateien einzubinden.
    Das Script Limit wäre dann ja nicht mehr ausgelastet als sonst, weil die Scripts HINTEREINANDER laufen.
    Oder?
    Weiterhin bleibt die Frage, welche Funktion ich zum einbinden bzw. starten des Scripts benutzen soll.
  • in: PHP exec im Hintergrund

    geschrieben von mehralsnurradio

    Verstehe den Punkt aber nicht, die Limits sind doch auch irgendwann bei Cronjobs erreicht?
    Ich werde das ganze jetzt einfach so lösen dass ich Cronjobs bei LC anlege auf eine Seite mit verschiedenen URL Parametern, über die dann per Include das passende Script eingebunden wird.
    Sollte ich dafür lieber include oder file_get_contents benutzen?
  • in: PHP exec im Hintergrund

    geschrieben von mehralsnurradio

    muellerlukas schrieb:
    Wird sowieso nicht im Hintergrund laufen weil du irgendwann an die Scriptlimits stoßen wirst.

    Welche Scriptlimits?
  • in: Sprite Animation fehlerhaft

    geschrieben von mehralsnurradio

    Danke noch für die späte Antwort!
    Ich hatte das schon gelöst, das Bild war breiter als 60*256 daher musste ich die 16384 anpassen. Ich hatte wohl nicht darauf geachtet dass 16384 durch 256 = 64 ist.
    Kann geschlossen werden
  • in: Catch All einrichten

    geschrieben von mehralsnurradio

    bitte wie kann man dann Ausnahmen (definierte Mailadressen) für das Catchall setzen?

    Ich glaube du verstehst das falsch. Catch all beinhaltet nur die Adressen, für die KEIN separates Postfach bzw. eine separate Weiterleitung eingerichtet wurde.
    Wenn du Ausnahmen festlegen willst, musst du einfach für die betreffenden Adressen eine Weiterleitung bzw. ein Postfach anlegen.
  • in: Cookie-Meldung Interferenz mit SEO und Website Tools

    geschrieben von mehralsnurradio

    Das Google Analytics nicht erkannt wird stört doch niemanden? Also ich meine, Nibble ist wohl ein Tool zur Optimierungen sprich es ist für dich und du weißt ja wie deine Website funktioniert.

    Notwendig ist die Box glaube ich schon, auf jeden Fall wenn du diese Tools verwenden willst. Du kannst die Tools auch einfach weglassen oder später danach fragen z.B. nach einer Minute oder so wenn dir das lieber ist..

    ...dass WO der Text des Fensters angezeigt wird? Bei Google? Bestimmt nicht, dafür hast du die Meta Tags gesetzt, die erkennt Nibble doch auch.
  • in: PHP exec im Hintergrund

    geschrieben von mehralsnurradio

    Bin völlig neu bei php exec und verwandten Funktionen.
    Meine Überlegung ist: Anstatt haufenweise Cronjobs bei LC abzulegen, kann ich diese per exec im Hintergrund aufrufen und über einen URL Cronjob starten.
    Könnte mich jemand erst einmal aufklären, ob diese Überlegung korrekt ist oder ob es bessere Alternativen gibt?
    Exec funktioniert erst einmal auch, nur kriege ich es nicht hin, es im Hintergrund laufen zu lassen, was aber sein muss, weil es sonst nicht parallel läuft und dann die maximale Laufzeit überschritten wird.
    Nehmen wir an ich möchte die Datei test.php im Hintergrund laufen lassen.
    exec('php test.php &');
    Was habe ich falsch gemacht?
    Lg danke
  • in: LimaCity SSH Zugang auf Windows

    geschrieben von mehralsnurradio

    Wolle Mal CMD ausprobieren, bin also in die cmd.exe auf meinem Windows und habe nach lc tutorial folgendes eingegeben:
    ssh mehralsnurradio@mehralsnurradio.lima-ssh.de

    Am Ende des ganzen Textes, der laut tutorial auch richtig war kam
    mehralsnurradio@mehralsnurradio.lima-ssh.de: Permission denied (publickey).

    Weiß jemand wie ich das beheben kann? Hab wie gesagt gar keine Ahnung.
  • in: Datenbank eingabe PhP Über URL

    geschrieben von mehralsnurradio

    Zuallererst würde ich dir aus Sicherheitsgründen bei Benutzereingaben raten, mit prepared statements zu arbeiten (ich benutze PDO).

    Zu deiner Frage:
    1. Du hast mysqli und mysql gemischt. Verwende überall mysqli weil mysql nicht mehr funktionieren sollte UND weil es gemischt sowieso nicht funktioniert
    2. es müsste mysqli_query($connection, $sql) heißen oder auch $connection->query($sql), ich glaube da geht beides, benutze mysqli nicht mehr. Sonst weiß das script nicht an welche Datenbank es senden soll.

    Ich weiß auch nicht wieso keine Fehler ausgegeben wurden, das hätte dem Script eigentlich nicht gefallen sollen.
  • in: Sprite Animation fehlerhaft

    geschrieben von mehralsnurradio

    Ich möchte eine Sprite Animation erstellen, wo eine Karte animiert wird.
    Das Problem ist, dass die Animation zwar funktioniert, parallel aber die ganze Karte dauernd von rechts nach links läuft.
    <div id="background-animated"></div>
    
    <style>
    #background-animated{
      width: 256px;
      height: 256px;
      background-image: url(...);
      position: absolute;
      background-position: 0px 0px;
      left: 0px;
      top: 0px;
      animation: play 2s steps(60) infinite;
    }
    
    @keyframes play {
    100% { background-position: -16384px; }
    }
    
    </style>
    Das Bild: https://fumoc.de/img/animation/TOTY_ATT_LEGEND.png
  • in: wie E-Mail-Adresse bestätigen?

    geschrieben von mehralsnurradio

    Also, eigentlich müsste die Adresse falsch sein, weil du ja "nicht erreicht" werden kannst.
    Weil du aber bereits gesagt hast, dass es die richtige ist, müsste es sich um einen Fehler handeln. In dem Fall müsstest du dich wie schon gesagt an den Support wenden über "Support-Tickets".
  • in: Nicht gefunden

    geschrieben von mehralsnurradio

    Hallo!
    Bist du dir sicher dass du für deine Internetseite unter Verwaltung->Websites auch das richtige Verzeichnis ausgewählt hast? Also in deinem Fall das, wo deine index.html ist?
  • in: wie E-Mail-Adresse bestätigen?

    geschrieben von mehralsnurradio

    Erstens wäre es nichts schlimmes, temporär eine falsche Adresse einzugeben, um danach wieder die Alte einzutragen.
    Zweitens ist die Suchfunktion ganz oben rechts bzw. oben.
    Drittens solltest du falls es danach immer noch nicht funktioniert in der Verwaltung unter Support-Tickets den Support kontaktieren. Die Antwort wirst du meistens nach wenigen Stunden erhalten. In der Community sind keine LC Mitarbeiter, soweit ich weiß.
  • in: Redmi in Bootloop nach TWRP-Flash

    geschrieben von mehralsnurradio

    So, hab das ganze noch mal mit einer älteren Version von TWRP und mit
    --disable-verity --disable-verification flash vbmeta vbmeta.img
    gemacht. Wieder wurde TWRP erfolgreich geflasht. Beim starten gab es keine Bootloop, aber TWRP war wieder weg. Hab gelesen dass es sein kann dass das Handy TWRP beim starten wieder entfernt.
    Also hab ich dann versucht in den TWRP Recovery zu booten bevor das Handy startet.
    Habs mit
    fastboot boot recovery twrp.img
    und mit der Tastenkombination nach
    fastboot reboot
    versucht. Es kam auch nicht die Xiaomi-Recovery. Scheinbar hat das Gerät versucht, in TWRP zu booten, hat es aber nicht geschafft.
    Das Gerät wurde nämlich immer kurz vom PC abgestoßen und dann nach 10 Sekunden wieder angenommen, manchmal auch andersherum, ohne dass sich auf dem Screen etwas getan hat. Nach den 10 Sekunden hat das Gerät immer versucht normal zu starten oder wenn man wieder die Tastenkombination benutzt hat dann hat sich das Ganze wiederholt.
    Scheinbar scheint das TWRP Recovery fehlerhaft zu sein oder vom Handy blockiert werden. Weil auch das direkte starten vom PC nicht geklappt hat, scheint es ja nicht an der Installation zu liegen.
  • in: Smartphone mit Taschenlampe nachrüsten?

    geschrieben von mehralsnurradio

    Wenn du schon so weit gehen willst, dass du etwas zum aufstecken mitnimmst, frage ich mich, wieso du nicht einfach gleich eine kleine Taschenlampe mitnimmst. Leuchtet warscheinlich stärker als ein Handy und musst du nicht umständlich aufstecken.
    Wenn du unbedingt etwas am Handy haben willst, wäre die Frage ob dein Handy ein Blitzlicht besitzt oder nicht.
    Wenn ja kannst du einfach Mal Handy Licht googeln, da gibt es genug Auswahl. Würde für mich aber keinen Sinn machen weil dein Handy dann ja schon ein Licht hat.
    Wenn nein dann lieber neues Handy kaufen oder einfach eine Taschenlampe.
  • in: Powerline 250 mbit/s

    geschrieben von mehralsnurradio

    Die Verbindung scheint dann wohl bei mir so gestört zu sein, dass der Repeater es nicht auf über 50 mbit/s kriegt.
    Die Verbindung ohne Repeater ist bei 20 mbit/s am Standort des Repeaters.
    Hast du denn dann Empfehlungen für einen Powerlineadapter der es auf über 200 mbit/s schafft?
  • in: CSS wird nicht aktualiesiert

    geschrieben von mehralsnurradio

    Wenn du ständig verändern willst kannst du Php include benutzen und dann die Style file eine .php Datei mit <style> tags.
    Das macht aber auch nur Sinn, wenn das für alle Benutzer gelten soll und nicht wenn es darum geht die Website einmalig zu verändern.
  • in: Redmi in Bootloop nach TWRP-Flash

    geschrieben von mehralsnurradio

    Ich habe die XDA Anleitung benutzt (also beim zweiten Mal nachdem ich wieder MIUI neu aufgesetzt hatte)
  • in: Powerline 250 mbit/s

    geschrieben von mehralsnurradio

    Hab einen Vodafone Vertrag mit 250 mbit/s (die am Router selbst auch meist erreicht werden)
    Hab einen Repeater damit ich oben zumindest 50 mbit/s hab
    (Der Router ist sehr schwach daher oben sonst nur 15 mbit/s)
    Der Fritzbox Repeater kann aber scheinbar noch 50 mbit/s
    Nun ist es aber so dass ich diesen Vertrag auch gerne ausnutzen würde
    Im Internet zeigt sich dass man den "maximalen" Geschwindigkeitsangaben bei Repeatern / Powerline Adaptern nicht so ganz trauen kann.
    Meine Frage wäre nun, ob es einen Powerline Adapter oder Repeater gibt der PRAKTISCH auf 200 m/bit oder sogar mehr kommt, und nicht viel mehr als 100€ kostet (idealerweise weniger).
    Gibt es da etwas bzw könntet ihr mir etwas empfehlen?
  • in: Anmeldung bei Suchmashinen

    geschrieben von mehralsnurradio

    Wenn sie noch im Aufbau ist, würde ich sogar eher mit noindex die Indexierung verhindern. Oder soll die ganze Welt deine Aufbauversuche mitbekommen :biggrin:
  • in: Redmi in Bootloop nach TWRP-Flash

    geschrieben von mehralsnurradio

    Der Flash von TWRP hat geklappt, aber das Handy ist immer noch im Bootloop...

    Ich versuchs mal mit der stock ROM und MiFlash
    Edit: Hat geklappt, jetzt ist wieder MIUI drauf
    Bringt aber immer noch nicht viel weil ich kein TWRP installieren kann. Habs noch mal probiert, wieder Bootloop.
  • in: Anmeldung bei Suchmashinen

    geschrieben von mehralsnurradio

    Du kannst auch Mal zur Google Search Console gehen:
    https://search.google.com/search-console
    Meines Wissens nach setzt das auch deine Website auf der Crawling-Liste weiter nach oben und du kriegst Statistiken über Suchergebnisse etc.
    Aber deine Website sieht eher so aus als hättest du sie für dich selbst gemacht?
  • in: Redmi in Bootloop nach TWRP-Flash

    geschrieben von mehralsnurradio

    Hallo!
    Ich hatte vor mir auf mein altes Redmi Note 8 Pro PixysOS zu installieren weil ich erstens Spaß dran haben wollte und zweitens ein relativ "sauberes" Android 11 für ein paar Tests brauchte.
    Ich bin nach dieser Anleitung vorgegangen: https://gearallnews.com/how-to-install-pixysos-android-10-on-xiaomi-redmi-note-8/
    Bei Pre-Requisite hatte ich soweit alles gemacht (GApps war mit in der PixyOS ROM, ist auch nicht so wichtig jetzt).
    Ich sollte dann noch ein TWRP auf meinem Handy installiert haben. Das habe ich nach dieser Anleitung gemacht: https://www.gizmochina.com/2020/01/28/root-redmi-note-8-pro-install-twrp/
    Seitdem ist mein Redmi Note 8 Pro im Bootloop (mittlerweile ist der Akku leer)
  • in: Welche Programmiersprache für Android Development

    geschrieben von mehralsnurradio

    Meine Meinung ist zwar etwas anders aber ich hatte bisher noch nie Lust auf stundenlang erst Mal Java oder Kotlin lernen daher hab ich bis jetzt immer mit PHP eine Mobile Website gemacht (ja auch ein 2D Spiel)
    Ich weiß die meisten würden auch dann eher Javascript nehmen aber das war mir auch zu kompliziert
    Und dann die website per baukasten in die App
    Ist aber eine sehr schwache Lösung und gute spiele kannst du damit meistens auch nicht hinkriegen
    Problem ist auch dass wenn der Baukasten einen Bug hat dann kann man ihn nicht selbst beheben
  • in: Wie ID aus URL in JavaScript nutzen?

    geschrieben von mehralsnurradio

    Wenn es um eine Nutzereingabe geht, würde ich grundsätzlich die ID eher mit
    userinput = document.getElementbyID('xx').value;
    let requestURL = 'https://api.externedomain.com/people/'+userinput;
    abrufen, was auf der gleichen Seite passieren würde. In dem Fall müsstest du ein onClick Button statt dem submit input Button benutzen.
    Wenn es tatsächlich darum gehen muss, es aus einer URL abzurufen, z.B. weil eine andere Seite darauf weiterleitet, würde könntest du das mit php machen (ich hasse JS) würde ich einfach
    let requestURL = 'https://api.externedomain.com/people/123<?php echo $_GET["id"];?>';
    machen, weil es mit Javascript mehr Code wäre. Melde dich noch Mal wenn du kein PHP benutzen willst / kannst.
  • in: JS serviceWorker blockiert

    geschrieben von mehralsnurradio

    Ich habe per Tutorial einen serviceWorker erstellt um eine Offline-Seite für meine Seite zu erstellen.
    Das funktioniert auch, allerdings wird solange ich ihn über meine index.php (siehe unten, erforderlich) eingebunden habe, jeglicher POST-Input blockiert (von index.php auf andere Seiten). Da es ein Tutorial war und ich mich da nicht so auskenne weiß ich nicht wo der Fehler liegt:

    Einbindung im manifest.json:
    "serviceworker": {
      "src": "/service-worker.js",
      "type": "",
      "update_via_cache": "none"
     }

    Einbindung im index.php:
    <script>
    if ('serviceWorker' in navigator) {
    	navigator.serviceWorker.register('service-worker.js').then(function(registration) {
        console.log('ServiceWorker registration successful with scope: ', registration.scope);
    }).catch(function(err) {
        	console.log('ServiceWorker registration failed: ', err);
        });
    }
    </script>

    service-worker.js:
    'use strict';
    
    var cacheVersion = 1;
    var currentCache = {
      offline: 'offline-cache' + cacheVersion
    };
    const offlineUrl = 'offline.html';
    
    this.addEventListener('install', event => {
      event.waitUntil(
        caches.open(currentCache.offline).then(function(cache) {
          return cache.addAll([
              './assets/css/offline.css',
              './assets/imgassets/wlan.png',
              offlineUrl
          ]);
        })
      );
    });
    
    
    
    this.addEventListener('fetch', event => {
      // request.mode = navigate isn't supported in all browsers
      // so include a check for Accept: text/html header.
      if (event.request.mode === 'navigate' || (event.request.method === 'GET' && event.request.headers.get('accept').includes('text/html'))) {
            event.respondWith(
              fetch(event.request.url).catch(error => {
                  // Return the offline page
                  return caches.match(offlineUrl);
              })
        );
      }
      else{
            // Respond with everything else if we can
            event.respondWith(caches.match(event.request)
                            .then(function (response) {
                            return response || fetch(event.request);
                        })
                );
          }
    });
  • in: Javascript leere Variablen

    geschrieben von mehralsnurradio

    faction = 'app.php?pop=yes&start=no&db=no&q=yes&name=' + nameo + '&ges=' + ges + '&bg=' + bg + '&country=' + country + '&size=' + size + '&rank=' + rank + '&pos=' + pos + '&event=' + evento;
    document.getElementById("formx").setAttribute("action", faction);


    #formx wird aber nicht geändert. Es scheint daran zu liegen dass die variablen (nameo, ges, bg...) nicht immer gesetzt sind, da sie von Nutzereingaben abhängen, da es ohne diese Variablen funktioniert. Wie kann ich das beheben?
  • in: Link in Chrome öffnen (Android)

    geschrieben von mehralsnurradio

    Ich habe eine Website, die ich mittels App Baukasten in eine App gepackt habe, da ich mich nicht mit Android Studio und so auskenne.
    Ich habe auf dieser Website die Funktion, Bilder herunterzuladen. Das funktioniert in der App aber nicht. Grund dafür ist scheinbar ein Fehler im Webview des Baukastens.
    Der Baukasten benutzt den UC Browser als "Webview".
    Gibt es eine Möglichkeit, nur per HTML und JS meinen Download Link in einem anderen Browser zu öffnen, ohne dabei den Code der App anzufassen?
  • in: Google Cache

    geschrieben von mehralsnurradio

    Verletzt der Google Cache nicht das Urheberrecht der Websitebetreiber in dem er deren Inhalt kopiert?
    Es soll ja sogar so sein dass man bei einer Urheberrechtsverletzung auf einer eigenen Seite Google bescheidgeben muss damit die Seite aus dem Cache gelöscht wird. Wenn man die da noch nicht Mal selbst eingetragen hat...
  • in: fcm per php

    geschrieben von mehralsnurradio

    Hallo,
    Ich habe brauche ein PHP-Skript, womit ich an alle Geräte gleichzeitig (Android App) eine FCM notification schicken kann.
    Ich kenne mich im Bereich FCM absolut nicht aus.
    Ich weiß auch nicht was device keys sind also wenn wir jemand Mal einfach erklären kann wie ich das hinbekomme wäre das super...
    Lg,
    HundretSix
  • in: jQuery in neuer Version funktioniert nicht

    geschrieben von mehralsnurradio

    Hallo,
    Für eines meiner Projekte brauche ich eine Pop-up Box und weil ich hauptsächlich mit PHP arbeite kenne ich mich da nicht so aus.
    Daher habe ich ein Online Tutorial genommen, welches auch funktionierte. Das Problem war nur, dass dieses Tutorial für eine ältere Version von jQuery gedacht war und mit der aktuellen funktioniert.
    Die alte jQuery Version kann ich nicht nehmen weil ich andere Tools verwende, die nur mit der neueren Funktion klappen.
    Das ist mein Code:
    $(window).on('load', function () {
            <?php if($_GET["pop"] == "yes"){
            echo "
    	   $('.hover_bkgr_fricc').show();";}?>
    	$(".trigger_popup_fricc").click(function(){
    	   $('.hover_bkgr_fricc').show();
    	});
    	$('.popupCloseButton').click(function(){
    		$('.hover_bkgr_fricc').hide();
    	});
    });

    Ich habe mich schon informiert und die erste Zeile schon verändern. Wäre nett wenn das jemand kurz für mich umändern könnte!

    EDIT: Hab das Ganze jetzt in JavaScript Code umgeschrieben, jetzt klappt's!
  • in: HTML zu Bild

    geschrieben von mehralsnurradio

    Ich dachte eher an eine sofortige Aktion, direkt über PHP/js. Sonst, gibt es evtl ein Plugin/Tool dafür?
  • in: Scrollbare Table Cell

    geschrieben von mehralsnurradio

    Ich bräuchte das Ganze für Android Webview bzw. Android Chrome. Die Tabelle an sich ist übrigens schon scrollbar, es geht um den Inhalt. Mit divs und display block hat das Ganze übrigens nicht funktioniert.
  • in: Scrollbare Table Cell

    geschrieben von mehralsnurradio

    Hi, ich habe eine HTML Tabelle die MySQL Content anzeigt. Ich würde gerne haben dass die einzelnen tds und ths scrollbar sind (mit einem maximalen width). Wie Stelle ich das an?
  • in: Code darstellen in HTML

    geschrieben von mehralsnurradio

    timebandit schrieb:
    Hallo,

    ohne Codeschnipsel muss ich raten. In der DB befinden sich HTML-Dokumente oder Teile davon.
    Diese werden in PHP-Variablen gepackt und ausgegeben. Wenn dem so ist, dann bietet sich htmlentities an.Etwa so htmlentities($db_wert).

    lg
    timebandit


    Danke, das hat so funktioniert
  • in: Code darstellen in HTML

    geschrieben von mehralsnurradio

    Hi, ich arbeite gerade an einem Datenbankclient basierend auf HTML und PHP.
    Mein Problem ist: Wenn in manchen Spalten Code steht, soll dieser auch als Code ausgegeben werden. Aktuell wird einfach der HTML "Output" ausgegeben. Wie Stelle ich das an dass der Code auch als Code angezeigt wird? (Der gesamte Code, bei einem DB Client kenne ich den ja nicht vorher)
  • in: mySQLi Alle Daten darstellen

    geschrieben von mehralsnurradio

    Vielen Dank,
    Das war genau das was ich wollte :-)
  • in: mySQLi Alle Daten darstellen

    geschrieben von mehralsnurradio

    Ich hab das ganze noch Mal so ausprobiert:

    while($row = mysqli_fetch_assoc(mysqli_query($conn, $query))) {
    	foreach($row as $key => $value) {
    		echo $key . ': ' . $value . "\r\n";
    	}
    	echo "\r\n";
    }


    Jetzt wird mir immer die gleiche Zeile als Schleife angezeigt
  • in: mySQLi Alle Daten darstellen

    geschrieben von mehralsnurradio

    Nun wird mir zwar als Key der column Name angezeigt, als wert wird mir aber nur ein einziger angezeigt. Ich würde gerne alle haben

    EDIT: geht jetzt nachdem ich das ganze in eine while gesetzt habe

    2.EDIT: jetzt kriege ich nachdem ich den mysqli fetch assoc in die while gesetzt habe:
    while($row = mysqli_fetch_assoc(mysqli_query($conn, $query))){
    foreach(mysqli_fetch_assoc(mysqli_query($conn, $query)) as $x => $x_value) {
      echo $x . "=" . $x_value;
      echo "<br>";
    }
      }

    kriege ich mehrmals das gleiche Ergebnis und die Seite stürzt ab.
  • in: mySQLi Alle Daten darstellen

    geschrieben von mehralsnurradio

    hi,
    ich würde gerne wissen wie ich aus einer Datenbanktabelle per mysqli die Informationen (column name, inhalt) auslesen kann, ohne die column names zu haben.
    Im prinzip soll es ein ganz simpler SELECT so wie hier sein:
    while($row = mysqli_fetch_assoc(mysqli_query($conn, $query))){
    }

    Das Ganze würde ich gern in einer Tabelle darstellen. Im Prinzip das gleiche wie bspw der phpmyadmin macht.
    Kann mir irgendjemand weiterhelfen?
    lg,
    Hundretsix
  • in: Impressumspflicht wo

    geschrieben von mehralsnurradio

    Hi,
    Ich wollte fragen ob ich ein Impressum brauche auf
    a) der Homepage meiner Apps, mit denen ich durch Werbung Einnahmen erziele. Die Homepage informiert lediglich über die Apps.
    b) meinen Apps (Verzeichnis aus dem Web eingebunden), mit denen ich Einnahmen durch Werbung erziele
    c) meinem Blog, auf dem ich keine Einnahmen erziele, allerdings für eine App Werbung mache, mit der ich durch Werbung Einnahmen erziele

    Wie müsste ein solches Impressum dann aussehen? Gibt es irgendwelche Vorgaben?

    Die Datenschutzerklärung (per Online Generator) und die Cookie + GA Zustimmung werden immer bei der Erstmaligen Benutzung der App/Website abgefragt.
  • in: XML zum Projektüberblick

    geschrieben von mehralsnurradio

    Ich will eine Übersicht meiner Projekte, durchnummeriert und kategorisiert, mit der dazugehörigen Datenbank und Verzeichnis wenn es denn eines gibt, mit dem Fortschritt, dem Anfangsdatum, dem Fertigstellungsdatum und eventuell einigen anderen Attributen.
  • in: XML zum Projektüberblick

    geschrieben von mehralsnurradio

    Ist eine XML der richtige Ort um Projekte mitsamt Attributen zu sammeln, evtl auch per PHP einfügbar, und dann halt später mit Styles abrufbar oder wäre da eine Datenbank sinnvoller?
  • in: Bundesliga Rechte für Kommentare

    geschrieben von mehralsnurradio

    Hi, ich habe vor kurzem Mal einen Youtuber gesehen der halt eine "Konferenz" von der Bundesliga gemacht hat, er hat halt die Spielstände angezeigt und so eine Art Fan-Audio (nicht live) im Hintergrund gehabt.
    Ist das überhaupt erlaubt weil man braucht doch eigentlich Rechte für die Bundesliga.
    Also ist das legal wenn man eigentlich nur kommentiert ohne irgendwas zu zeigen?
  • in: (diverse) Fragen zu meinen Apps

    geschrieben von mehralsnurradio

    Ich hab jetzt für iOS ne simple PWA mit Icons, manifest etc gebaut.
    Gibt es noch irgendwas wichtiges zu beachten?
    Ich brauche kein Menü weil die App nur eine Seite umfasst.
    Ist es möglich so eine Art "Download-Anleitung" zu erstellen, ich hab das glaub ich Mal gesehen als ich nen PWA Builder benutzt habe.
    Oder wäre es grundsätzlich ansprechender sich mehr um ein "App"-Design zu kümmern auch wenn man eigentlich nur eine Seite darstellen will?

    Und zu meiner anderen Frage noch, ob es Sinn Macht eine Android apk selbst zu machen statt mit einem Baukasten der firebase, admob etc schon hat?
  • in: Email anbieten

    geschrieben von mehralsnurradio

    Man kann den Speicherplatz bei Lima City für die einzelnen Postfächer nicht direkt begrenzen, was meines Erachtens aber auch nicht nötig ist, wenn es nur um Freunde/Bekannte geht. Die werden ja wohl die 10 GB oder wie viel auch immer das sind aufbrauchen. Und wenn schon, dann soll man denen das halt sagen.
    Falls du das Ganze doch öffentlich machen willst gibt es wenn du Lust hast noch eine bessere Methode:
    In der Lima City API https://koumoul.com/openapi-viewer/?url=https://www.lima-city.de/docs/lima-city_1.0.0-oas3.json&proxy=false gibt es neben der Methode, Postfächer zu erstellen (Weiterleitungen habe ich bisher noch nicht gefunden) eine Methode den verbrauchten Speicherplatz zu überprüfen. Wenn du jetzt eine Überprüfung bspw per Cronjob einbaust kannst du regulieren dass der Account automatisch ab einer bestimmten verbrauchten Speicherkapazität gelöscht bzw einfach nur geleert wird. Natürlich wäre es dann sinnvoll dem Nutzer den noch verfügbaren Speicherplatz anzuzeigen und ihn zu warnen sollte es zu voll werden.
  • in: (diverse) Fragen zu meinen Apps

    geschrieben von mehralsnurradio

    Hi,
    Ich habe mehrere Apps im Play Store veröffentlicht. Für meine Verhältnisse laufen die recht gut.
    Mit den derzeit maximalen 5€ Einnahmen im Monat kann ich mir keine Veröffentlichung im App Store leisten, außerdem wird davon eh mein Webhosting-Paket finanziert.
    Selbst wenn die App 10€ im Monat bringen würde, wäre ich trotzdem gegen eine Veröffentlichung im App Store, wegen den Unverhältnismäßig hohen Preisen.
    Nun werde ich aber häufiger gefragt, ob es die App auch für iOS gibt. Ich muss dann immer auf die Website verweisen (die App zeigt nur eine eigens dafür konstruierte Website an). An Programmiersprachen für native Apps habe ich mich bisher aus Zeitgründen noch nicht herangewagt, ich mache das Ganze ja nur nebenbei. Also mache ich das Ganze per App-Baukasten. Nun zu meinen Fragen:

    - Wie Zeitaufwändig wäre es die native App selbst zu programmieren (es ist nur eine einfache Website, also so 300 Zeilen PHP auf einer einzigen Seite) und wie würde das mit mit dem Sicherheitszertifikat gehen, dass der Play Store ja selbst erstellt (ich kenne mich wirklich nicht aus) und hätte das irgendwelche Vorteile außer der Offline-Verfügbarkeit

    - Gibt es evtl. einen Baukasten (als Alternative) in dem ich ein HTML Verzeichnis sozusagen hochladen könnte (es sind auch Bilder und so im Verzeichnis) und so dass die App offline funktioniert (ich würde den PHP Code dann halt in JS umschreiben, ist wie gesagt nur einfacher Code), und wie würde das bei einem "Anbieterwechsel" mit dem Sicherheitszertifikat funktionieren

    - Hätte das große Vorteile die App nativ zu betreiben (die Apps sind eigentlich nur für Situationen gedacht, in denen man zu 99,9% online sein sollte damit die App Sinn macht)

    - Gibt es einen Baukasten für iOS Apps, da natürlich auch wünschenswert einen mit HTML Verzeichnis-Unterstützung oder eine einfache Methode für mich als reinen PHP Scripter um ein HTML Verzeichnis in die App zu tun

    - Wäre es evtl sinnvoller statt dem HTML Verzeichnis in der App alles mit einer Sprache zu programmieren (wenn ja, warum, ich möchte das nicht wenn es zu kompliziert wird)

    - Gibt es einen alternativen App Store für iOS der relativ benutzerfreundlich ist oder eine andere Methode die Datei (war das IPA?) den iOS-Nutzern zur Installation zur Verfügung zu stellen?

    Wie gesagt hatte ich noch nie etwas mit App-Programmierung zu tun. Ich möchte KEIN Geld dafür ausgeben, es sei denn es ist recht günstig (10-20€). Außerdem will ich wie gesagt nicht zu viel Zeit investieren müssen und das Ganze wenn möglich auch irgendwie (nur teilweise!) am Handy machen können (mit PHP geht's am Handy relativ gut). Danke an jeden schon Mal der sich die Zeit nimmt das alles durchzulesen :wave::thumb:
  • in: APK Baukasten für WearOS

    geschrieben von mehralsnurradio

    Hi, ich programmiere meine Websites mit der Absicht, dass ich sie in eine App packe. Weil ich aber überhaupt keine Ahnung von Java habe, mache ich das Ganze mit einem App Baukasten (appyet), also der packt die Homepage einfach in die App rein, gibt mir ne APK. Ein paar nützliche Sachen wie admob, firebase etc. übernimmt der auch für mich.
    Jetzt ist meine Frage ob es so etwas auch für WearOS gibt (nur freeware bitte!).
    Falls nicht: wie kompliziert wäre es als Java-Anfänger so eine App einfach zu erstellen? Also mit Webview Modul
  • in: Google Maps Richtigkeit

    geschrieben von mehralsnurradio

    Hallo, ich bin vor kurzem durch Zufall beim Durchsehen der Hamburger Stadtteile in Google Maps auf eine Verwirrung gestoßen:
    Das Stadion Hoheluft liegt, wenn man nach Google Maps will, im Stadtteil Lokstedt. Dies wird einem gezeigt, wenn man Lokstedt eingibt.
    Laut der Wikipedia Seite von Lokstedt liegt das Stadion Hoheluft aber im Bezirk Hamburg Nord und somit nicht in lokstedt.
    Auch auf der Wikipedia Seite vom Stadion Hoheluft steht, dass dieses im Stadtteil Eppendorf und somit im Bezirk Hamburg Nord liegt.
    Wenn man bei der Google Suche nun die Begriffe "Stadion Hoheluft" und "Stadtteil" kombiniert, kommt man wiederum auf Beiträge, die besagen wollen, dass das Stadion im Stadtteil Hoheluft Ost liegt.
    Welche dieser Quellen hat jetzt denn Recht? Ich dachte dass Google Maps und Wikipedia eigentlich geprüfte Quellen sind. Gibt es sozusagen eine offizielle Quelle?
    Würde mich nur interessieren wenn da irgendjemand was zu weiß...
  • in: Gesetzliche Lage Gaming auf YouTube/Instagram

    geschrieben von mehralsnurradio

    kaetzle7 schrieb:
    Ich bin jetzt kein Rechtsexperte und es wird sich hier wahrscheinlich auch keiner aufhalten, deshalb können Tipps und Gesetztesbelehrungen hier nur auf Vermutungen beruhen. Das heißt, selbst wenn ich hier Juristen zitiere, kann ich nicht überprüfen ob das was sie sagen auch stimmt...

    Wenn du etwas Englisch kannst, empfehle ich dir mal die Ansicht dieses kurzen Videos: https://www.youtube.com/watch?v=9P3Ha3pl-iU.

    Kurzfassung: Eigentlich ist es illegal, da aber die Hersteller von den Gameplays profitieren, gehen sie gegen diese Inhalte nicht gerichtlich vor.

    Diese Ansicht erscheint mir recht plausibel. Auf YouTube und besonders auf twitch sind Gameplays ja schon sehr lange sehr beliebt und werden nicht von den jeweiligen Plattformen gelöscht, bzw. werden Streamer nicht deshalb gebannt. Bei twitch gibt es in den Community-Richtlinien sogar eine extra Rubik "Weitere Richtlinien zu spielbezogenen Inhalten" (https://www.twitch.tv/p/de-de/legal/community-guidelines/ ganz unten). Daran kann man erkennen, dass diese Inhalte zumindest von den Herstellern toleriert werden. Es handelt sich also um einen Graubereich. Sobald aber dem Hersteller nicht gefällt, dass du seine Inhalte verteilst, kann er sich auf die Verletzung des Copyrights beziehen und die Löschung deiner Inhalte verlangen - der oben genannte YouTube-Beitrag zitiert das Beispiel von PewDiePie, dem das schon mal passiert ist, weil er in einem Spiel mal das Wort Ni**er verwendet hat...


    Das klingt ja alles verständlich, aber:
    - Wieso bieten die Spielehersteller Programme zum Fördern für Publisher an, wenn sie sie eigentlich selbst verboten haben
    - Wieso ändern sie nicht einfach ihre Nutzungsbedingungen, wenn es für sie so nur Vorteile hat
  • in: Gesetzliche Lage Gaming auf YouTube/Instagram

    geschrieben von mehralsnurradio

    Hi, ich weiß nicht ob das unter "Spiele" läuft, aber ich habe ein paar Fragen zu ein paar Rechtslagen, die mir in den EULAs und Gesetzen undurchsichtig erschienen sind. Vielleicht klingt das jetzt blöd aber:

    Ist es erlaubt, einfach so Gameplay, Screenshots oder andere Ausschnitte aus Computerspielen (Fortnite, FIFA, Minecraft etc.) zu veröffentlichen. Ich meine, die meisten (großen) Youtuber haben ja Partnerschaften mit den Spieleherstellern, da ist das ja relativ klar dass die das dürfen, aber die haben ja auch irgendwann Mal klein und ohne Partnerschaft angefangen. In der EULA VON EA steht zum Beispiel
    Jegliche gewerbliche Nutzung ist untersagt. Die Unterlizenzierung, der Verleih, die Übertragung und jegliche andere Form der Verbreitung der Anwendung oder des Rechts, diese Anwendung zu nutzen, sind ausdrücklich untersagt.

    Wobei man auf YouTube und so ja auch Geld verdienen kann und dies dann ja eine Kommerzielle Nutzung wäre. Außerdem steht da drin
    Es ist Ihnen nicht gestattet, die Anwendung oder eine zugehörige Komponente anderweitig zu kopieren, öffentlich zur Schau zu stellen oder vorzuführen, zu deaktivieren, zu verbreiten, zu veröffentlichen, zu modifizieren, zu übertragen, Werke daraus zu erstellen oder zu nutzen, sofern keine ausdrückliche Genehmigung von EA vorliegt.

    Diese Genehmigung kann ja vor allem bei kleineren Youtubern nicht vorliegen.
    Was jedoch irritiert ist, dass EA ein "content Creator" Programm hat, wo man sich bewerben kann, was mir unsinnig erscheint, wenn man doch gar nichts hochladen darf, laut der eigenen EULA.
    Gibt es da Sonderregelungen mit YouTube, Instagram etc. oder ignorieren die Konzerne ihre eigenen Regeln? Was ich ja so aufgrund des Aufwands noch verstehen könnte, warum man diese "Regelbrüche" auch noch mit einem extra Programm fördert, verstehe ich aber nicht. In diesem Gutefrage-Thread sagen auch einige nutzer, dass dies eigentlich nicht erlaubt sei:
    https://www.finanzfrage.net/g/frage/urheberrecht-von-bildern-mit-spielinhalten

    Darf man außerdem als Gamer Beispielsweise ein zum Spiel gehörendes Bild veröffentlichen (was ich massenweise auf Instagram sehe), welches man bearbeitet hat. Das Bild stammt ja eigentlich auch vom Spiele-Entwickler selbst und ist damit doch eigentlich urheberrechtlich geschützt, oder?

    Dulden die Spielehersteller das nur, weil ihnen das eh zu mehr Aufmerksamkeit verhilft und es sie darum eigentlich freut? Das wäre ja eigentlich unlogisch, dann könnten sie den Text in der EULA auch weglassen... Oder stört sie der nötige Aufwand?

    Mit Artikel 13 sollen doch auch Filter bei YouTube, Instagram, etc eingeführt werden, oder? Die würden das Material ja nicht ignorieren können.

    Ich hoffe das was ich geschrieben habe ist nicht dumm oder so und irgendjemand antwortet mir...
  • in: HTML zu Bild

    geschrieben von mehralsnurradio

    Hallo, ich habe ein Tool Für mich selbst erstellt wo ein per HTML und CSS gestyletes "Bild" erstellt wird. Nur, dass dies nicht im Bildformat vorliegt, sondern als HTML Teile. Nun möchte ich nicht immer Screenshots von der Seite machen. Gibt es eine Möglichkeit, einen bestimmten Teil einer HTML Seite sozusagen automatisch in ein zum Download bereiten Bild (jpg/png) umzuwandeln? Eventuell auch mit PHP/JS...
  • in: Cookies und Session Cookies werden falsch gesetzt

    geschrieben von mehralsnurradio

    michaelhoffmann schrieb:
    Hallo mehralsnurradio,

    Deine Aussage: Erstens erkennt die Seite die Nutzer nicht wieder, wenn Sie ein zweites Mal nach einiger Zeit die Seite besuchen. Die Seite erkennt die Nutzer aber wieder, wenn sie innerhalb von kurzer Zeit die Seite besuchen

    Ist die Cookie-Dauer denn auch tatsächlich auf 10 Jahre festgesetzt?
    Was sagen die Chrome- oder Firefox-Entwicklertools?


    Deine Aussage: Das zweite Problem ist, dass die Session anscheinend viel zu lange dauert

    Was genau das Ende einer Session ist, ist nicht fest definiert. Hier kocht jeder Browser sein eigenes Süppchen. Man sollte sich also nicht auf ein einheitliches Verhalten der Browser verlassen.
    Um serverseitig eine Lebensdauer für Session-Cookies zu setzen, gibt es die PHP-Option session.gc_maxlifetime


    https://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime

    Ich hoffe, dass ich helfen konnte.



    Mein Problem ist ja nicht dass die session gleich bleibt wenn der Benutzer noch einmal auf die Seite zurückkehrt, das wäre ja nicht wirklich schlimm, das Problem ist nur dass die Sessions teilweise durchschnittlich pro Tag bei 25 Benutzern bei 6 Stunden pro session liegen. Außerdem werden alte Benutzer nie wieder erkannt so dass ich genauso viele neue Nutzer wie Nutzer habe was für ein Analytics Tool nicht so sinnvoll ist. Was würdet ihr da empfehlen? Ich kenne außer Cookies nichts.
    https://poodletest.hundretsix.de/IMG_20200407_172316.jpg
  • in: Cookies und Session Cookies werden falsch gesetzt

    geschrieben von mehralsnurradio

    witze-dschungel schrieb:
    mehralsnurradio schrieb:
    [...]
    if(!isset($_SESSION["sess-id"])){
        session_start();
    }

    [...]
    $ersatz = $row["id"];     
     }
    session_start();


    Das session_start() gehört an den Anfang deines PHP-Skripts, direkt nach dem öffnenden <?php-Tag. Später wird es seinen Zweck nicht mehr erfüllen. Momentan ist es an mehreren Stellen in deinem Skript verteilt.

    Siehe: Meine Sessions funktionieren nicht! | lima-city Hilfe


    Also kann ich die Session immer am Anfang des Scripts starten egal ob sie schon gesetzt ist?
    Und wieso wird mein Cookie nach dem schließen des Browsers gelöscht?
  • in: Cookies und Session Cookies werden falsch gesetzt

    geschrieben von mehralsnurradio

    <?php
    include 'config/datas.php'; 
    
    $browser = get_browser(null, true);
    
    $uagent = $_SERVER['HTTP_USER_AGENT'];
    
    ;
    
    //Android
    
    if (strpos($uagent, "Android")){
    
    $pos = strpos($uagent,"Android");
    $rest = substr($uagent, $pos);
    
    $teiler1 = explode(";", $rest);
    $teiler2 = explode(")", $teiler1[1]);
    $teiler3 = explode(" Build", $teiler2[0]);
    $teiler4 = explode("/", $teiler3[0]);
    
    $teilerx = explode(")", $teiler1[0]);
    
    $teiler1lol = $teiler1[1] . "lol";
    
    if(strpos($uagent, ")") <= 41){
    $version = $teilerx[0];
    $device = "Unknown";
    }
    
    elseif(strpos($teiler1[1], "-") == 3 AND (strpos($teiler1lol, "lol") == 6 OR strpos($teiler1lol, "lol") == 4 OR strpos($teiler1lol, "lol") == 3)){
    $teiler2x = explode(")", $teiler1[2]);
    $teiler3x = explode(" Build", $teiler2x[0]);
    $teiler4x = explode("/", $teiler3x[0]);
    
    $version = $teiler1[0];
    $device = $teiler4x[0];
    }
    
    else{
    $version = $teiler1[0];
    $device = $teiler4[0];
    }
    
    }
    
    
    //iOS
    
    if (strpos($uagent, "iPod") OR strpos($uagent, "ipod")) {
     $iosbrand = "iPod";
    }
    elseif (strpos($uagent, "iPhone") OR strpos($uagent, "iphone")) {
     $iosbrand = "iPhone";
    }
    elseif (strpos($uagent, "iPad") OR strpos($uagent, "ipad")) {
     $iosbrand = "iPad";
    }
    elseif (strpos($uagent, "WeatherReport")) {
     $iosbrand = "iPhone";
    }
    
    if($iosbrand == "iPad" OR $iosbrand == "iPhone" OR $iosbrand == "iPod"){
    
    if (strpos($uagent, $iosbrand) != 13 AND strpos($uagent, $iosbrand) != 14){
     if(strpos($uagent, "WeatherReport")){
      $device = $iosbrand;
      $version = "Unknown";
      $br = TRUE;
      $browserx = "WeatherReport";
     }
     elseif(strpos($uagent, "Outlook")){
      $device = $iosbrand;
      $version = "Unknown";
      $browserx = "Outlook";
      $br = TRUE;
     }
    
    else{
     $device = $iosbrand;
     $version = "Unknown";
    }
    }
    
    else {
    
    $pos = strpos($uagent,"OS");
    $rest = substr($uagent, $pos);
    
    $resty = str_replace("_", ".", $rest);
    
    $teiler1 = explode(" like", $resty);
    $version = "i".$teiler1[0];
    $device = $iosbrand;
    
    }
    }
    
    
    //Windows
    
    if(strpos($uagent, "Windows NT")){
     $pos = strpos($uagent,"Windows NT");
     $rest = substr($uagent, $pos);
     $device = "Computer (Windows)";
     $teiler1 = explode(";", $rest);
     $teiler2 = explode(")", $teiler1[0]);
     switch ($teiler2[0]){
      case "Windows NT 5.1":
       $version = "Windows XP";
       break;
      case "Windows NT 5.2":
       $version = "Windows XP Professional";
       break;
      case "Windows NT 6.0":
       $version = "Windows Vista";
       break;
      case "Windows NT 6.1":
       $version = "Windows 7";
       break;
      case "Windows NT 6.2":
       $version = "Windows 8";
       break;
      case "Windows NT 6.3":
       $version = "Windows 8.1";
       break;
      case "Windows NT 6.4":
       $version = "Windows 10";
       break;
      case "Windows NT 10.0":
       $version = "Windows 10";
       break;
     }
    }
    
    //Linux
    
    if(strpos ($uagent, "Ubuntu")){
     $version = "Linux Ubuntu";
     $device = "Unknown";}
    elseif(strpos ($uagent, "inux-gnu") OR strpos ($uagent, "Debian")){
     $version = "Linux Debian/GNU";
     $device = "Unknown";}
    elseif(strpos ($uagent, "Tizen")){
     if(strpos ($uagent, "SMART-TV")){
     $version = "SMART-TV (Tizen/Linux)";
     $device = "Unknown";}
     else{
     $version = "Linux Tizen";
     $device = "Unknown";}}
    elseif(strpos ($uagent, "Fedora")){
     $version = "Linux Fedora";
     $device = "Unknown";}
    
    else{
    if(strpos($uagent, "inux") AND strpos($uagent, "Android") === FALSE AND strpos($uagent, "Windows") === FALSE){
     $version = "Linux";
     $device = "Unknown";
    }}
    
    
    //Mac (+iOS 13)
    
    if(strpos($uagent, "Macintosh")){
     $device = "Computer (Apple Mac)";
    
    $pos = strpos($uagent,"OS X");
    $rest = substr($uagent, $pos+4);
    $resty = str_replace("_", ".", $rest);
     $teiler1 = explode(";", $resty);
     $teiler2 = explode(")", $teiler1[0]);
     $teiler3 = explode(".", $teiler2[0]);
     $teilxyx = "10." . $teiler3[1];
    
     switch ($teilxyx){
      case 10.0:
       $version = "macOS X Cheetah 10.0";
       break;
      case 10.1:
       $version = "macOS X Puma 10.1";
       break;
      case 10.2:
       $version = "macOS X Jaguar 10.2";
       break;
      case 10.3:
       $version = "macOS X Panther 10.3";
       break;
      case 10.4:
       $version = "macOS X Tiger 10.4";
       break;
      case 10.5:
       $version = "macOS X Leopard 10.5";
       break;
      case 10.6:
       $version = "macOS X Snow Leopard 10.6";
       break;
      case 10.7:
       $version = "OS X Lion 10.7";
       break;
      case 10.8:
       $version = "OS X Mountain Lion 10.8";
       break;
      case 10.9:
       $version = "OS X Mavericks 10.9";
       break;
      case 10.10:
       $version = "OS X Yosemite 10.10";
       break;
      case 10.11:
       $version = "OS X El Capitan 10.11";
       break;
      case 10.12:
       $version = "macOS Sierra 10.12";
       break;
      case 10.13:
       $version = "macOS High Sierra 10.13";
       break;
      case 10.14:
       $version = "macOS Mojave 10.14";
       break;
      case 10.15:
       $version = "macOS Catalina 10.15";
       break;
      defaukt:
       $version = "Unknown";
       break;
     }
    }
    elseif(strpos($uagent, "mac") OR strpos($uagent, "Mac")){
     $device = "Computer (Apple Mac)";
     $version = "Unknown";
    }
    
    
    //Bots
    
    if(strpos($uagent, "http://") OR strpos($uagent, "https://") OR strpos($uagent, ".com") OR strpos($uagent, "Bot") OR strpos($uagent, "bot")){
    
    if(strpos($uagent, "compatible")){
    $pos = strpos($uagent,"compatible");
    $rest = substr($uagent, $pos);
     $teiler1 = explode(";", $rest);
     if(strpos($teiler1[2], "http")){
      $teiler2 = explode(")", $teiler1[2]);
      $boturlz = explode("+", $teiler2[0]);
    if(strpos($boturlz[1], "ttp")){
     $boturl = $boturlz[1];
    } //
    elseif(strpos($boturlz[0], "ttp")){
     $boturl = $boturlz[0];
    } //
    else{
     $boturl = "Unknown";
    } //
      $botnamey = explode("/", $teiler1[1]);
      $botname = $botnamey[0];
    if(is_int($botnamey[1])){
      $botversion = $botnamey[1];}else{
    $res = preg_replace("/[^a-zA-Z]/", "", $botnamey[1]);
      $botversion = $botnamey[1];
    } //
     } //
    
    $device = "Bot (Name: $botname, URL: $boturl)";
     $version = $botversion;
    
    } //
    
    elseif(strlen ($uagent) <= 45){
     if(strpos($uagent, "/")){
      $botv = explode("/", $uagent);
      $device = "Bot ($botv[0])";
      $version = $botv[1];
     }
     else{
      $device = "Bot ($uagent)";
      $version = "Unknown";
     }
    }
    
    elseif(strpos($uagent, "http")){
     $pos = strpos($uagent,"http");
     $rest = substr($uagent, $pos);
     $teiler1 = explode(";", $rest);
     $teiler2 = explode(")", $teiler1[0]);
     $device = "Bot (URL: $teiler2[0])";
     $version = "Unknown";
    }
    
    else{
     $device = "Bot";
     $version = "Unknown";
    }
    
    if($stripx == 1 AND $strip != 1 AND strpos($uagent, "http")){
     $pos = strpos($uagent,"http");
     $rest = substr($uagent, $pos);
     $teiler1 = explode(";", $rest);
     $teiler2 = explode(")", $teiler1[0]);
     $device = "Bot (URL: $teiler2[0])";
     $version = "Unknown";
    }
     
    
    } //x
    
    
    if($br === TRUE){
    }
    else{
     $browserx = $browser[browser];
    }
    
    
    $langteiler = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
    
    //MYSQLI PDO
    
     $pdo = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
    
    $comefrom = $_SERVER['HTTP_REFERER'];
    if(empty($comefrom)){$comefrom = "Direct";}
    
    $cometo = $_SERVER['SCRIPT_NAME'];
    $hostname = $_SERVER['HTTP_HOST'];
    
    $timestamp = time();
    $code = rand(1,9999999999);
    
    if(isset($_COOKIE["poo-id"])){
              $statement = $pdo->prepare("SELECT * FROM POODLE_users WHERE id =
     :cookie");
              $statement->execute(array(':cookie' => $_COOKIE["poo-id"]));
                        while($row = $statement->fetch()) {
                          if(!isset($_SESSION["sess-id"])){
                            session_start();
                            }
                            $statement = $pdo->prepare("INSERT INTO POODLE_sessions (user, hostname, timestamp, newuser, header, comefrom, cometo, klicks, sites, browser, endtime)
                                                        VALUES (:cookie, :hostname, :timestamp, :newuser, :header, :comefrom, :cometo, :klicks, :sites, :browser, :endtime) WHERE id = :cookie");
                            $statement->execute(array(':cookie' => $_COOKIE["poo-id"], ':hostname' => $hostname, ':timestamp' => $timestamp, ':newuser' => 'no', ':header' => $uagent,
                                                         ':comefrom' => $comefrom, ':cometo' => $cometo, ':klicks' => '0', 'sites' => $cometo, ':browser' => $browserx, ':endtime' => $timestamp));
                        $statement = $pdo->prepare("SELECT * FROM POODLE_sessions WHERE user = :cookie ORDER BY id DESC LIMIT 1");
                        $statement->execute(array(':cookie' => $_COOKIE["poo-id"]));
                        while($row = $statement->fetch()) {                                                
                         $_SESSION["sess-id"] = $row["id"];
                        }
    
       }
                          if(isset($_SESSION["sess-id"])){
                               $statement = $pdo->prepare("SELECT * FROM POODLE_sessions WHERE id = :sessid");
                               $statement->execute(array(':sessid' => $_SESSION["sess-id"]));
                               while($row = $statement->fetch()) {
                               if(empty($row['klicks'])){$klicks = 1;}else{
                               $klicks = $row['klicks'] + 1;}
                               if(empty($row['sites'])){$sites = 1;}else{
                               $sites = $row['sites'] . ", " . $cometo;
                               }}
                               $statement = $pdo->prepare("UPDATE POODLE_sessions SET klicks = :klicks, sites = :sites, endtime = :endtime WHERE id = :sessid");
                               $statement->execute(array(':sessid' => $_SESSION["sess-id"], ':klicks' => $klicks, 'sites' => $sites, ':endtime' => $timestamp));
                          }
    }
    else{
                               $statement = $pdo->prepare("INSERT INTO POODLE_users (language, device, system, code)
                                                        VALUES (:language, :device, :system, :code)");
                               $statement->execute(array(':language' => $langteiler[0], ':device' => $device, ':system' => $version, ':code' => $code));
    
              $statement = $pdo->prepare("SELECT * FROM POODLE_users WHERE code = :code");
              $statement->execute(array(':code' => $code));
              while($row = $statement->fetch()) {    
               setcookie("poo-id", $row["id"], time() + (10 * 365 * 24 * 60 * 60),"/", $_SERVER["HTTP_HOST"], 0);                     
               $ersatz = $row["id"];     
              }
              session_start();
    
                            $statement = $pdo->prepare("INSERT INTO POODLE_sessions (hostname, user, timestamp, newuser, header, comefrom, cometo, klicks, sites, browser, endtime)
                                                        VALUES (:hostname, :cookie, :timestamp, :newuser, :header, :comefrom, :cometo, :klicks, :sites, :browser, :endtime)");
                            $statement->execute(array(':hostname' => $hostname, ':cookie' => $ersatz, ':timestamp' => $timestamp, ':newuser' => 'yes', ':header' => $uagent,
                                                         ':comefrom' => $comefrom, ':cometo' => $cometo, ':klicks' => '1', 'sites' => $cometo, ':browser' => $browserx,
                                                         ':endtime' => $timestamp));
                        $statement = $pdo->prepare("SELECT * FROM POODLE_sessions WHERE user = :cookie ORDER BY id DESC LIMIT 1");
                        $statement->execute(array(':cookie' => $ersatz));
                        while($row = $statement->fetch()) {                                                
                         $_SESSION["sess-id"] = $row["id"];
                        }
    
    }


    Das ist der Code.
    Der Anfang ist für die Cookies irrelevant, dort werden nur die gängigsten Modelle überprüft.
  • in: Cookies und Session Cookies werden falsch gesetzt

    geschrieben von mehralsnurradio

    Das Problem ist ja gar nicht unbedingt die Session Dauer, das eigentliche Problem ist, dass der Cookie mit der eindeutigen UserID gar nicht gesetzt wird.
    Auch die Session wird nicht gesetzt.
  • in: merkwürdige Zugriffsquelle auf meiner Website

    geschrieben von mehralsnurradio

    noxious schrieb:
    mehralsnurradio schrieb:
    Also ist das ein Bot, der seinen User Agent gefälscht hat und behauptet, dass er bei Bing "Amazon" eingegeben hat?
    Davon gehe ich aus - da das ganze auf einem Server gelandet ist, der gestern erst aufgesetzt wurde und nichts anderes als eine leere Seite zeigt...Es wäre ein ziemlicher Zufall, wenn wenn zufällig - nur Minuten nach dem Aufsetzen eines Servers da irgendwelche Leute drauf landen.
    Aber ansich kann das alles und jeder sein. Es gibt entsprechende Browser-Plugins, welche sowas fälschen. Das ist keine hohe Kunst.

    Ich persönlich gehe in meinem Fall davon aus, dass es sich um Bots handelt, welche versuchen "unauffällig" nach Sicherheitslücken zu suchen. Denn das sind im wesentlichen die einzigen, welche meine Seite bisher besuchen.


    Die Seite ist ja auch nicht leer, sie hat schon Inhalt und ca. 15 Benutzer pro Tag..
    Und sie ist schon fast 2 Monate vorhanden...
  • in: merkwürdige Zugriffsquelle auf meiner Website

    geschrieben von mehralsnurradio

    noxious schrieb:
    mehralsnurradio schrieb:
    Hallo, ich habe eine Website, die eigentlich nur für eine App gedacht ist. Sie umfasst auch nur eine seite. Allerdings habe ich nichts hinzugefügt, um die Website nur über die App zugänglich zu machen weil ich nichts gegen eine andere Nutzung habe.
    Gestern ist etwas merkwürdiges geschehen. Laut Google Analytics und laut meiner eigenen Seite, die die Zugriffsquellen selbst auch speichert, ist jemand auf meine Seite verwiesen worden, nachdem er auf Bing "Amazon" eingegeben hatte. Das ergibt jedoch absolut keinen Sinn, weil meine app nichts mit Amazon zu tun hat und auch nie irgendwie auf Amazon verfügbar war. Der Zugriff soll über einen ganz normalen Windows 7 erfolgt sein.
    Hat jemand eine Idee, was das für ein Zugriff gewesen sein könnte? Der User Agent sieht nicht nach einem bot aus wobei die ja eigentlich auch immer direkt zugreifen...
    Meine Seite ist noch nicht Mal bei Bing gelistet...
    Ich habe dasselbe - da sind imho aktuell einige Bots unterwegs.. Das ganze ist bekannt unter Referer Spoofing. Ansich harmlos, wenn auch für Nutzer von Google-Analytics & Co möglicherweise verwirrend.


    Also ist das ein Bot, der seinen User Agent gefälscht hat und behauptet, dass er bei Bing "Amazon" eingegeben hat?
  • in: merkwürdige Zugriffsquelle auf meiner Website

    geschrieben von mehralsnurradio

    Hallo, ich habe eine Website, die eigentlich nur für eine App gedacht ist. Sie umfasst auch nur eine seite. Allerdings habe ich nichts hinzugefügt, um die Website nur über die App zugänglich zu machen weil ich nichts gegen eine andere Nutzung habe.
    Gestern ist etwas merkwürdiges geschehen. Laut Google Analytics und laut meiner eigenen Seite, die die Zugriffsquellen selbst auch speichert, ist jemand auf meine Seite verwiesen worden, nachdem er auf Bing "Amazon" eingegeben hatte. Das ergibt jedoch absolut keinen Sinn, weil meine app nichts mit Amazon zu tun hat und auch nie irgendwie auf Amazon verfügbar war. Der Zugriff soll über einen ganz normalen Windows 7 erfolgt sein.
    Hat jemand eine Idee, was das für ein Zugriff gewesen sein könnte? Der User Agent sieht nicht nach einem bot aus wobei die ja eigentlich auch immer direkt zugreifen...
    Meine Seite ist noch nicht Mal bei Bing gelistet...
  • in: Cookies und Session Cookies werden falsch gesetzt

    geschrieben von mehralsnurradio

    Hallo, ich teste gerade ein Tool welches messen soll wie viele Benutzer eine Seite hat. außerdem soll gezeigt werden wie viele neue Benutzer die Seite an einem z.B. Tag gekriegt hat. Dafür wird ein Cookie gesetzt, der zehn Jahre lang halten soll und der die Benutzer wiedererkennen soll. außerdem wird ein Session-Cookie gesetzt um zu gucken wie lange die Session dauert, das heißt der timestamp wird gespeichert und der letzte timestamp. Nun habe ich aber zwei große Probleme: erstens erkennt die Seite die Nutzer nicht wieder, wenn Sie ein zweites Mal nach einiger Zeit die Seite besuchen. Die Seite erkennt die Nutzer aber wieder, wenn sie innerhalb von kurzer Zeit die Seite besuchen Punkt das zweite Problem ist, dass die Session anscheinend viel zu lange dauert. Das führt dazu, das Benutzer die Seite am Morgen aufrufen und sie haben abend noch mal aufrufen immer noch die gleiche session verwenden. Das ist problematisch weil so die Session Dauer auf einem ganzen Tag aufgezeichnet wird.
    Das ganze läuft im Prinzip so ab das erste prüft wird ob der Cookie vorhanden ist, wenn ja wird ein Session-Cookie gesetzt und eine Session Zeile in die Datenbank hinzugefügt, wenn nicht wird zusätzlich noch der 10 Jahre Cookie gesetzt und der User in die Datenbank eingefügt. Hat irgendjemand eine Idee was ich falsch gemacht haben könnte?
  • in: Multiplayer-Games mit PHP

    geschrieben von mehralsnurradio

    Ich habe ein PHP-Multiplayer-Game programmiert, etwas ganz simples. Das ganze läuft über Datenbanken und POST-Variablen. Nun habe ich des öfteren gehört, dass es unsicher ist, über PHP Multiplayer-Games zu programmieren und konnte bisher aber nichts im Netz finden.
    Mir ist bewusst, dass es umständlich ist mit PHP, weil die Seite immer aktualisieren muss, aber ich würde ungern wegen ein, zwei kleinen Spielen eine neue Programmiersprache anfangen.
    Oder gibt es da eine einfache Sprache oder Variante, welche auf Lima-City Webspace läuft?
    Den Anbieter würde ich nämlich auch ungern wechseln.
    Und was ist eigentlich an den Sicherheitsbedenken dran?
  • in: Woocommerce Template finden

    geschrieben von mehralsnurradio

    Ich finde WoodMart am übersichtlichen und somit auch für die Kunden am ansprechendsen, die sich schließlich nur auf den Inhalt konzentrieren wollen :approve:
  • in: WordPress Code anzeigen

    geschrieben von mehralsnurradio

    Hallo, ich arbeite gerade an einer Wordpress-Seite mit PHP Tutorials und würde gerne wissen, ob es möglich ist, diesen mit dem Design anzeigen zu lassen wie in anderen Tutorials, also mit dem offiziellen Design.
  • in: SmartWatch zeigt keine Cloud Benachrichtigungen

    geschrieben von mehralsnurradio

    Hallo, ich benutze die Huawei Watch 2 4G mit Wear OS zusammen mit einem Redmi Note 8 Pro. funktioniert auch, außer dass ich keine Benachrichtigungen empfange, wenn ich nicht über Bluetooth mit dem Handy verbunden bin. Cloud-Synchronisation ist aktiviert. Das ganze hat auch funktioniert, bis ich die Uhr aufgrund eines Fehlers zurückgesetzt hat. Ohne Bluetooth wird in der Wear OS App auch nicht mehr "Verbunden" angezeigt, was früher der Fall war.Hat jemand eine Idee, was das Problem ist?

    EDIT: Ich habe dir Uhr zurückgesetzt, jetzt funktioniert es!
  • in: ZIP Datei von anderen Server entpacken

    geschrieben von mehralsnurradio

    Ok, danke
    Hat funktioniert
  • in: ZIP Datei von anderen Server entpacken

    geschrieben von mehralsnurradio

    Hallo,
    Ich habe einen Baukasten programmiert, der auf den Servern der Benutzer installiert werden kann.
    Ich brauche, um Updates ab die Benutzer zu senden, eine ZIP Datei, die auf meinem Server liegt (und unter einem Link erreichbar ist). Darin befinden sich die Php Scripts. Gibt es eine Möglichkeit, die ZIP Datei auf deren Server zu entpacken, obwohl sie auf meinem Server liegt?
  • in: Script Error - unecspected...

    geschrieben von mehralsnurradio

    Nach vergleichen mit anderen PDO-Syntaxen in meiner Seite konnte ich keinen Unterschied feststellen und habe mich so an den Inhalt gemacht.
    Ich bin dann darüber gestolpert, dass es gar nicht funktionieren konnte, weil ich die Spalte "Option" erwähne, "Option" ist aber ein reserviertes MYSQL-Wort.
    Ich habe daher alles mit Anführungszeichen versehen und jetzt funktioniert es.

    (Thread kann geschlossen werden)
  • in: Script Error - unecspected...

    geschrieben von mehralsnurradio

    Zwei Sachen:

    1. Was stellt meine jetzige Anwendung für Sicherheitslücken / Risiken dar?

    2. Wir sind Mal wieder vom eigentlichen Thema abgewichen:
    - Die PDO-Meldung ist mit ausgeklammerter Weiterleitung weiter vorne im Thread

    Gibt's hier eventuell jemanden der sich mit PDO auskennt???
  • in: Script Error - unecspected...

    geschrieben von mehralsnurradio

    OK, danke!
    Dann hatte sich Zeile 28 wegen dem include verschoben...

    Bringt mich jetzt aber auch nicht weiter!

    Das INSERT ist immer noch nicht gelöst
  • in: Script Error - unecspected...

    geschrieben von mehralsnurradio

    sec.php:

    if($_COOKIE['data'] != "yes"){
     die('<script>window.location = "https://xxxx/xxxx/datadie.php";</script>');
    }
    
    
    if($_SERVER['HTTP_X_REQUESTED_WITH'] == "com.xxxx"){
    }
    else{
     die('<script>window.location = "https://play.google.com/store/apps/details?id=com.xxxx";</script>');
    }
    
    
    $pdo = new PDO('mysql:host=localhost;dbname=xx', 'xx', 'xx');
    if(isset($_COOKIE['logname'])){
     $statement = $pdo->prepare("SELECT * FROM users WHERE Name = :username");
     $statement->execute(array('username' => $_COOKIE["logname"]));   
     while($row = $statement->fetch()) {
     if ($_COOKIE["logpass"] != $row["Passwort"]){
      die('<title>Cookie gef&aumllscht!</title>
           <p>Bitte App neu installieren, der Username wurde gef&aumllscht!</p>');
      }
     }
    }
    
    
    
    if ($_GET['new'] == "yes" AND $_GET['id'] != "3-0"){
    die('<meta name="viewport" content="width=device-width">
    <title>UPDATE ERFORDERLICH!</title>
    <h1>Update erforderlich!</h1>
    <a href="market://details?id=com.hundretsix.games.xxx">Zum Store</a>');
    }


    Neuer Code:

    <?php
    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    
    include('sec.php');
    
      $option = $_POST["option"];
      $name = $_COOKIE["logname"];
    
    $pdo = new PDO('mysql:host=localhost;dbname=xxxx', 'xxxx', 'xxxx');
     $statement = $pdo->prepare("SELECT COUNT(*) AS anzahl FROM challenge WHERE Status = 'not started' AND name1 = :name");
     $statement->execute(array('name' => $name));   
         while($row = $statement->fetch()){
          if($row["anzahl"] > 0){
                   die('<title>Raum schon vorhanden!</title><h1>Fehler!</h1>
                        <p>Sie haben bereits einen offenen Raum erstellt!</p><br>
                        <a href="room.php?id=' . $row["ID"] . '">Zum Raum</a>');
         }
    else {
     $statementx = $pdo->prepare("INSERT INTO challenge (name1, Ext1, Status, Option)
    VALUES (:name, 'OIMELkill', 'not started', :option)");
     $statementx->execute(array('name' => $name, 'option' => $option));   
    
        echo "\nPDO::errorInfo():\n";
        print_r($pdo->errorInfo());
    
     $statementz = $pdo->prepare("SELECT * FROM challenge WHERE Status = 'not started' AND name1 = :name");
     $statementz->execute(array('name' => $name));   
         while($rowz = $statementz->fetch()){
         $id = $rowz["ID"];
          }
    echo('<script>window.location = "room.php?id=' . $id . '";</script>');
    }
    }
  • in: Script Error - unecspected...

    geschrieben von mehralsnurradio

    Das else wird ja ausgeführt, es wird ja auch weitergeleitet.

    Mit der Zeile 28 hast du aus deiner Perspektive Recht, aber da ich noch ein bisschen was geändert habe ... aber auch ich lag falsch, nach erneutem Kontrollieren hab ich die als Zeile 28 gezählt:
    $statementz->execute(array('name' => $name));


    Das verstehe ich zwar nicht, weiterbringen würde uns eine Lösung aber wahrscheinlich eh nicht .

    Das ist ja das execute vom SELECT am Ende und nicht das vom INSERT ...
  • in: Script Error - unecspected...

    geschrieben von mehralsnurradio

    So, hier die beiden Fehlermeldungen:
    Notice: Undefined index: new in /home/webpages/lima-city/xxxxxxx on line 28

    Ich sehe im Script nur das new bei new pdo, aber in den vorherigen Abfragen hat es ja auch funktioniert.
    Allerdings liegt das INSERT ja auch gar nicht in line 28!

    PDO::errorInfo(): Array ( [0] => 00000 [1] => [2] => )

    Daraus werde ich gar nicht schlau ... Aray scheint für mich nicht falsch zu sein...
  • in: Script Error - unecspected...

    geschrieben von mehralsnurradio

    Nur zu meinem Verständnis:
    Was hätte die von mir angewandte Methode denn für Nachteile, weil auf allen anderen meinen Seiten funktioniert es.
    (Sonst müsste ich nämlich alle seiten wieder ändern)
    Anmerkung: Daher hab ich das https://www.php-einfach.de/mysql-tutorial/php-prepared-statements/
  • in: Script Error - unecspected...

    geschrieben von mehralsnurradio

    Also, ich hab mir eure Tipps zu Herzen genommen und auf Prepared Statements umgestellt (überall). Pws sind auch geändert. Cookies werden per 'sec.php' auf Richtigkeit geprüft (username-password) per Datenbank.

    Jetzt zum eigentlichen Thema: den script error bin ich mittlerweile los, aber jetzt habe ich ein anderes Problem: Bedingung
    if($statement->rowCount() > 0){
    wird wenn nötig ausgeführt, Prepared Statements funktionieren auch. Aber die das INSERT im
    else{
    funktioniert nicht, aus diesem Grund auch das nachfolgende SELECT, Weiterleitung aber schon:

    <?php
    include('sec.php');
    
      $option = $_POST["option"];
      $name = $_COOKIE["logname"];
    
    $pdo = new PDO('mysql:host=localhost;dbname=xxxx', 'xxxx', 'xxxx');
     $statement = $pdo->prepare("SELECT * FROM challenge WHERE Status = 'not started' AND name1 = :name");
     $statement->execute(array('name' => $name));   
     if($statement->rowCount() > 0){
         while($row = $statement->fetch()){
    
                   die('<title>Raum schon vorhanden!</title><h1>Fehler!</h1>
                        <p>Sie haben bereits einen offenen Raum erstellt!</p><br>
                        <a href="room.php?id=' . $row["ID"] . '">Zum Raum</a>');
         }
        }
    else {
     $statementx = $pdo->prepare("INSERT INTO challenge (name1, Ext1, Status, Option)
    VALUES (:name, 'game', 'not started', :option)");
     $statementx->execute(array('name' => $name, 'option' => $option));   
     $statementz = $pdo->prepare("SELECT * FROM challenge WHERE Status = 'not started' AND name1 = :name");
     $statementz->execute(array('name' => $name));   
         while($rowz = $statementz->fetch()){
         $id = $rowz["ID"];
    }
          
       echo('<script>window.location = "room.php?id=' . $id . '";</script>');
    }
  • in: Script Error - unecspected...

    geschrieben von mehralsnurradio

    Hallo, ich hab eine Frage und zwar habe ich das unten gezeigte Script schon lange auf meinem Webspace laufen. Es soll in eine Datenbank einfügen bzw. wenn schon eingefügt ist Fehler anzeigen. Hat bis jetzt auch geklappt aber jetzt wird immer Error unecspected ... angezeigt und das sogar an mehreren Stellen. Ich weiß nicht wie ich das beheben soll weil der jeweilige Scriptabschnitt auf einer leeren Seite fehlerfrei funktioniert.

    <?php
    
      $servername = "###";
      $username = "###";
      $password = "###";
      $dbname = "###";
      $conn = new mysqli($servername, $username, $password, $dbname);
    
      $option = $_POST["option"];
      $name = $_COOKIE["logname"];
    
             $sqlv = 'SELECT Status FROM challenge WHERE Status="not started" AND name1="'.$name.'";
             $result = mysqli_query($conn, $sqlv);
             if (mysqli_num_rows($result) > 0) {
                while($row = mysqli_fetch_assoc($result)) {
                   die('<title>Raum schon vorhanden!</title><h1>Fehler!</h1>
                        <p>Sie haben bereits einen offenen Raum erstellt!</p><br>
                        <a href="room.php?id=' . $row["ID"] . '">Zum Raum</a>');
                }
             }
    
      $sql = "INSERT INTO `challenge` (`name1`, `Ext1`, `Status`, `Option`)
    VALUES ('" . $name . "', 'Game', 'not started', '" . $option . "')";
      if ($conn->query($sql) === TRUE) {
         $query = "SELECT * FROM challenge WHERE name1='" . $name . "'";
         if ($result = $conn->query($query)) {
        while ($row = $result->fetch_assoc()) {
         $id = $row["ID"];
          }}
       echo('<script>window.location = "room.php?id=' . $id . '";</script>');
       }
  • in: SESSION Variable spinnt

    geschrieben von mehralsnurradio

    Hallo, ich habe einen Code, ein PHP Quizspiel. Nun gibt es eine Seite, wo man raufkommt wenn man fertig ist aber der Gegner noch nicht. Alles schön und gut, diese Seite aktualisiert sich sekündlich (um zu prüfen ob der Gegner fertig ist). Das funktioniert auch alles, war bisher das Problem dass ein Spieler einfach das Spiel verlassen konnte, und dann hörte der Gegner schloss der Gegner halt irgendwann auch das Spiel weil er keine Zeit oder Lust mehr hatte zu warten. Darum habe ich eine Automatik programmiert, die nach 13 Sekunden das Spiel automatisch beendet:
    Hier der Anfang
    <?php
      $id = $_GET["id"];
      $servername = "xxx";
      $username = "xxx";
      $password = "xxx";
      $dbname = "xxx";
      $base = new mysqli($servername, $username, $password, $dbname);
      $querya = "SELECT * FROM challenge WHERE name1='" . $_COOKIE['1logname'] . "' AND id='" . $_GET['id'] . "'";
       if ($result = $base->query($querya)) {while ($row = $result->fetch_assoc()) {$p1 = $row["p1"];$p2 = $row["p2"];if($row["Status"] == "set"){echo "<script>window.location = 'not.php?id=" . $id . "';</script>";}}}
      $queryb = "SELECT * FROM challenge WHERE name2='" . $_COOKIE['1logname'] . "' AND id='" . $_GET['id'] . "'";
       if ($result = $base->query($queryb)) {while ($row = $result->fetch_assoc()) {$p2 = $row["p1"];$p1 = $row["p2"];if($row["Status"] == "set"){echo "<script>window.location = 'not.php?id=" . $id . "';</script>";}}}
      $sql1 = "UPDATE challenge SET Status='" . $_COOKIE['1logname'] . "-maked' WHERE Status='joined' AND id='" . $_GET['id'] . "'";
      $sql2 = "UPDATE challenge SET Status='set' WHERE Status='" . $_GET['other'] . "-maked' AND id='" . $_GET['id'] . "'";
       if ($base->query($sql1) === TRUE) {}
       if ($base->query($sql2) === TRUE) {}

    Hier die Automatik und das Ende:
    session_start();
      if($_SESSION["gegner"] == $p2){
       $_SESSION["secs"] = $_SESSION["secs"] - 1;
       if($_SESSION["secs"] == "0"){
        $sqlsql = "UPDATE challenge SET Status='set' WHERE id='" . $_GET['id'] . "'";
        if ($base->query($sqlsql) === TRUE) {
         $ergo = "yes";
        }
       }
      }
      else{
       $_SESSION["secs"] = 13;
      }
      $_SESSION["gegner"] = $p2;
      ?>
    <meta http-equiv="refresh" content="1">
    <meta name="viewport" content="width=device-width">
    <body style="background-color: lightblue;">
     <h1>F E R T I G !</h1>
     <b>Warte, bis der andere fertig ist oder das Spiel verlässt!</b><br>
     <p>Deine errungenen Punkte: <b><?php echo $p1;?></b></p>
     <p>Aktuelle Gegner-Punkte: <b><?php echo $p2;?></b></p>
     <hr>
    <?php    echo "<p style='color:red;'>Kicktimer fuer den Gegner: noch " . $_SESSION['secs'] . " Sekunden.</p>"; 
             if($ergo == "yes"){
             echo "<script>window.location = 'not.php?id=" . $id . "';</script>";
             }
    ?>
    </body>

    Das Problem ist nur, dass Session "gegner" nicht gleich "p2" ist, obwohl sich bei meinem Test die "p2" (Punktzahl des Gegners) nicht veränderte und ja am Ende des letzten PHP Scripts vor dem ersten HTML Code immer gleichgesetzt wird.
    Daurch funktioniert das Script nicht.
    Vielen Dank und wenn ihr weitere Fehler (nicht Anmerkungen!) habt bitte auch bescheid sagen,
    HundretSix Apps
  • in: PHP Seite zeigt Script Error

    geschrieben von mehralsnurradio

    Vielen Dank,
    ich habe das Problem jetzt lösen können.
  • in: PHP Seite zeigt Script Error

    geschrieben von mehralsnurradio

    OK, dann habe ich noch eine Frage: was ist hier falsch (die Sandbox Antwort verstehe ich nicht)?
    <html>
    <!--With PHP-->
     <?php if(!isset($_COOKIE["username"])){
           echo ("<script>window.location = '/';</script>");
         }
    if ($_POST["own"] != strip_tags($_POST["own"])){
     die("Your input can't contains HTML Code");
     }
      ?>
    <head>
    <meta name="viewport" content="width=device-width">
    <title>getShort - Your URL</title>
    </head>
     <body>
    <h1>getShort</h1>
    <b>Your URL:</b><br><br>
    <?php
     $url = $_POST["url"];
    $servername = "xxxx";
    $username = "xxxx";
    $password = "xxxx";
    $dbname = "xxxx";
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    if($_POST["pwq"] == "yes"){
      $pw = $_POST["pw"];
    }
    else{
      $pw = "no";
    }
    
    //For "owns"
    if($_POST['ownq'] == "yes"){
    $rand = $_POST["own"];
    $sql = "INSERT INTO url (krypto, user, password, url)
    VALUES ('" . $rand . "', '" . $_COOKIE["username"] . "', '" . $pw . "', '" . $url . "')";
     if ($conn->query($sql) === TRUE) {
       $randomy = "".$rand.".html";
    if($_POST['ganalyticsq'] == "yes"){
        $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script>
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src='https://www.googletagmanager.com/gtag/js?id='UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "'></script>
    <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "');</script>";
    }
    else{
       $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script>";
    }   $datei = fopen($randomy ,"w");
       fwrite($datei, $weiterleitung);
       fclose($datei);
       echo "<a href='https://getShort.de.cool/" . $rand . "'><code>https://getShort.de.cool/" . $rand . "</code></a>";
        }
     else{
       die ("Fehler!");
       }}
    //For "randoms" (not-own)
    else{ 
    $rand = rand(1, 9999999);
    $sql = "INSERT INTO url (krypto, user, password, url)
    VALUES ('" . $rand . "', '" . $_COOKIE["username"] . "', '" . $pw . "', '" . $url . "')";
     if ($conn->query($sql) === TRUE) {
       $randomy = "".$rand.".html";
    if($_POST['ganalyticsq'] == "yes"){
        $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script>
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src='https://www.googletagmanager.com/gtag/js?id='UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "'></script>
    <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "');</script>";
    }
    else{
       $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script>";
    }   $datei = fopen($randomy ,"w");
       fwrite($datei, $weiterleitung);
       fclose($datei);
       echo "<a href='https://getShort.de.cool/" . $rand . "'><code>https://getShort.de.cool/" . $rand . "</code></a>";
     } else {    
        $rand = rand(1, 9999999);
    $sql = "INSERT INTO url (krypto, user, password, url)
    VALUES ('" . $rand . "', '" . $_COOKIE["username"] . "', '" . $pw . "', '" . $url . "')";
        if ($conn->query($sql) === TRUE) {
       $randomy = "".$rand.".html";
    if($_POST['ganalyticsq'] == "yes"){
        $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script>
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src='https://www.googletagmanager.com/gtag/js?id='UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "'></script>
    <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'UA-" . $_POST['ganalytics1'] . "-" . $_POST['ganalytics2'] . "');</script>";
    }
    else{
       $weiterleitung = "<script>window.location = 'checker?krypto=" . $rand . "';</script>";
    }   $datei = fopen($randomy ,"w");
       fwrite($datei, $weiterleitung);
       fclose($datei);
       echo "<a href='https://getShort.de.cool/" . $rand . "'><code>https://getShort.de.cool/" . $rand . "</code></a>";
     } else {    
       echo "Please try it again!";
     }}}
    
    
    ?>
    <hr>
    <a href="/">Back to Homepage</a>
    </body>
    </html>
  • in: PHP Seite zeigt Script Error

    geschrieben von mehralsnurradio

    mein-wunschname schrieb:
    Probiere mal
    $squery = "SELECT * FROM challenge WHERE name1='" . $s1 . "' OR name2 ='" . $s2 .  "' OR name1='" . $s2 . "' OR name2 ='" . $s2 .  "'";

    OK, danke, jetzt klappt es.
    Nur komisch, dass es bis vor kurzem einwandfrei funktioniert hat...
  • in: PHP Seite zeigt Script Error

    geschrieben von mehralsnurradio

    Ich würde mich über eine korrekte Lösung von dir freuen...
  • in: PHP Seite zeigt Script Error

    geschrieben von mehralsnurradio

    Ja, genau das sagte die Sandbox auch.
    Was bedeutet das???
  • in: PHP Seite zeigt Script Error

    geschrieben von mehralsnurradio

    Hallo, ich habe ein Multiplayer Quizspiel programmiert.
    BITTE keine Kommentare zum Inhalt sondern zum Script!
    Es lief bis jetzt echt super, aber jetzt wird auf einer der PHP Seiten ein Script error angezeigt:
    <?php
     $id = $_GET["id"];
     $servername = "xxxx";
     $username = "xxxx";
     $password = "xxxx"; 
     $dbname = "xxxx";
     $base = new mysqli($servername, $username, $password, $dbname);
       $query = "SELECT * FROM challenge WHERE ID='" . $id . "'";
       if ($result = $base->query($query)) {
        while ($row = $result->fetch_assoc()){
         $game = $row["Option"];
    $s1 = $row["name1"];
    $s2 = $row["name2"];
      }
     }
    $pts = 0;
    $pts1 = 0;
       $squery = "SELECT * FROM challenge WHERE name1='" . $s1 . "' OR name2 ='" . $s2 .  "' OR name1='" . $s2 . "' OR name2 ='" . $s2 .  "';
       if ($result = $base->query($squery)) {
        while ($rowy = $result->fetch_assoc()) {
         if($row['Status'] == "set"){
    if($rowy['name1'] == $s1 && $rowy['p1'] > $rowy['p2']){$pts = $pts+2;}
    if($rowy['name1'] == $s1 && $rowy['p1'] == $rowy['p2']){$pts = $pts+1;}
    if($rowy['name1'] == $s1 && $rowy['p1'] < $rowy['p2']){$pts = $pts-1;}
    if($rowy['name2'] == $s1 && $rowy['p2'] > $rowy['p1']){$pts = $pts+2;}
    if($rowy['name2'] == $s1 && $rowy['p2'] == $rowy['p1']){$pts = $pts+1;}
    if($rowy['name2'] == $s1 && $rowy['p2'] < $rowy['p1']){$pts = $pts-1;}
    
    if($rowy['name1'] == $s2 && $rowy['p1'] > $rowy['p2']){$pts1 = $pts1+2;}
    if($rowy['name1'] == $s2 && $rowy['p1'] == $rowy['p2']){$pts1 = $pts1+1;}
    if($rowy['name1'] == $s2 && $rowy['p1'] < $rowy['p2']){$pts1 = $pts1-1;}
    if($rowy['name2'] == $s2 && $rowy['p2'] > $rowy['p1']){$pts1 = $pts1+2;}
    if($rowy['name2'] == $s2 && $rowy['p2'] == $rowy['p1']){$pts1 = $pts1+1;}
    if($rowy['name2'] == $s2 && $rowy['p2'] < $rowy['p1']){$pts1 = $pts1-1;}
     }}}
    ?>
    <meta name="viewport" content="width=device-width">
    <meta http-equiv="refresh" content="10; URL=game/<?php echo $game;?>.php?act=retro&id=<?php echo $id;?>&name=<?php echo $_COOKIE['logname'];?>">
    <body style="background-color: lightblue;">
    <?php
       if ($result = $base->query($query)) {
        while ($row = $result->fetch_assoc()){
           echo("<h3>Nach 10 Sekunden geht es weiter...</h3>");
           echo('<p>Option: ');
    switch($row["Option"]){
    case "wild30seconds":
    echo 'Wer schafft mehr in 30 Sekunden';
    break;
    case "wild60seconds":
    echo 'Wer schafft mehr in 60 Sekunden';
    break;
    case "1life30seconds":
    echo 'Wer schafft mehr mit 1 Leben in 30 Sekunden';
    break;
    case "1life60seconds":
    echo 'Wer schafft mehr mit 1 Leben in 60 Sekunden';
    break;
    case "1lifewild":
    echo 'Wer schafft mehr mit 1 Leben';
    break;
    case "2lifewild":
    echo 'Wer schafft mehr mit 2 Leben';
    break;
    case "3lifewild":
    echo 'Wer schafft mehr mit 3 Leben';
    break;
    case "1lifetime":
    echo 'Wer haelt laenger durch mit 1 Leben';
    break;
    case "2lifetime":
    echo 'Wer haelt laenger durch mit 2 Leben';
    break;
    case "3lifetime":
    echo 'Wer haelt laenger durch mit 3 Leben';
    break;
     }
    
     echo("<br><br><b>" . $s1 . " (" . $pts . " pts) - " . $s2 . " (" . $pts1 . " pts)</b><br/>");
       }
      }
    ?>
    </body>

    Ist auf LimaCity gehostet (FREE).
    Alle möglichen Sandboxes können mir auch nicht weiterhelfen.
    Bitte um Hilfe,
    mehralsnurradio
  • in: RoundCube mit LimaCity-Server?

    geschrieben von mehralsnurradio

    invalidenturm schrieb:
    Im Filemanager von Lima-city einloggen https://filemanager.lima-city.de, Ordner auswählen (Häckchen in den Kasten davor setzen), Zugriffsrechte anklicken, dann sollte so eine Ansicht erscheinen https://imgur.com/a/MOM68NQ Dort die für den Ordner benötigten Rechte ankreuzen, oder per Chmod Value (744) zuweisen. "Zugriffsrechte auch für Unterordner dieses Ordners setzen" ankreuzen. Eventuell auch für Dateien mit ankreuzen. Zum Schluss auf den grünen Haken (oben links) klicken. Fertig.
    Für den Unterordner /Data sollte das dann so aussehen https://imgur.com/a/q4SyCp8 744 sollte eigentlich reichen also kann bei Group und User execute weg. Danach kommt dann von Lima der Bericht zur Änderung https://imgur.com/a/z0nGzTV. Das gleiche machst Du dann noch mit dem im Rainloop Verzeichnis befindlichen Unterordner Rainloop (744)

    Klappt immer noch nicht...
    Vielleicht stimmt die Version nicht ... ich habe 1.12.1 Community! Und man muss das wirklich einfach nur hochladen und es funktioniert?
  • in: RoundCube mit LimaCity-Server?

    geschrieben von mehralsnurradio

    Sorry, ich kenn mich da nicht so aus...
    Weißt du wie man bei LimaCity-FTP Rechte setzt? Ich sehe da nur "Zugriffsrechte" und da kann man keinen Code eingeben
  • in: php "post" wird "get"?

    geschrieben von mehralsnurradio

    Hallo, mir ist auf meinem WebSpace (Free) etwas komisches passiert. Neuerdings werden Formulardaten nicht mehr per POST, sondern mit GET (über die Domain) weitergegeben! Man kann sie dann auch nicht mehr über POST abrufen. Was ist passiert?
    mehralsnurradio
  • in: RoundCube mit LimaCity-Server?

    geschrieben von mehralsnurradio

    Also, ich hab mir Mal RainLoop auf meinen LimaCity FTP-Server geladen...
    Aber egal, was ich mache, kommt "You don't have permission to access / on this server."
    Was habe ich falsch gemacht? Das mit dem ?admin habe ich auch schon gemacht...

  • in: RoundCube mit LimaCity-Server?

    geschrieben von mehralsnurradio

    Hallo, ich dachte mir neulich, dass es doch schön wär, eine eigene Mailseite für seine Domain zu haben, im Prinzip so wie mail.lima-city.de. Was liegt da näher als RoundCube? Also habe ich mir RoundCube auf meinen Webspace geladen und mit einer Webseite verknüpft, als IMAP und SMTP-Daten bei der Installation habe ich die LimaCity-Daten angegeben, da meine Domain unter LimaCity läuft.
    Nun, die Anmeldeseite lädt und so weiter, aber wenn man sich anmelden will steht da "Verbindung zum Speicherserver fehlgeschlgen".
    Weiß jemand, was das Problem ist? Ich denke irgendwie an DNS, aber weiß es nicht und würde gerne die Meinung von einem Server- oder RoundCube-Experten hören, da das nicht so mein Fachgebiet ist...
    Vielen Dank,
    mehralsnurradio
  • in: "if-in" PHP

    geschrieben von mehralsnurradio

    Hallo, ich brauche für ein PHP-Script eine Funktion, die ich schon Mal bei Python benutzt habe. Ich wollte wissen, ob es die in PHP auch gibt:
    xxx = "Hallo"
    if xxx in (Hallo, Tschüss, Auf Wiedersehen){
    ...
    }


    Danke, mehralsnurradio
  • in: MediaWiki MobileView

    geschrieben von mehralsnurradio

    cayce schrieb:
    Hola,

    welche Extension/Skin benutzt du denn für den MobileView? MobileFrontend oder was anderes? https://www.mediawiki.org/wiki/Extension:MobileFrontend

    Bis du dir sicher, dass du richtige Version passend zu deinem MediaWiki Core installiert hast? Ist der Skin MinervaNeue installiert und in der LocalSetting.php aktiviert (das kannst du auf deiner Spezial:Version Seite prüfen)?

    Übrigens musst du normalerweise nicht die gesamte Software neu installieren, wenn eine Extension Probleme macht, Du kannst sie auch erstmal in der LocalSettings.php mittels einem # vor den Einträge auskommentieren/deaktivieren.

    Danke schön, ich habe das Problem schon gelöst, ich hatte die falsche Pluginversion installiert...
  • in: Server Kosten

    geschrieben von mehralsnurradio

    Hi, ich überlege, mir einen Webserver (CLOUD VPS) bei Lima City zu kaufen. Nur die Preise habe ich nicht kapiert . . .
    Wenn da steht "Pro Stunde", heißt das, dass jede Stunde Kosten anfallen oder dass die Kosten nur in den Stunden anfallen, in denen ich den Server benutzen möchte (z. B. 2 Stunden)?
    Kann man die Webserver auch mit Python und PHP programmieren (Webserver-Scripts) oder muss man da eine bestimmte Sprache benutzen?

    Danke, mehralsnurradio
  • in: FTP-Anbieter mit Java?

    geschrieben von mehralsnurradio

    muellerlukas schrieb:
    Hmm, interessant. Okay. Macht aber auch ein bisschen Sinn wegs Binary.
    JAR-Dateien sind grob gesagt einfach nur Class-Files in einem Zip-Archiv.
    Die sind rein technisch im Free-Tarif schon nicht möglich.

    Du kannst sie aber natürlich trotzdem bei Google hochladen und dann einbinden. Aber überleg dir gut, ob du das wirklich willst. Hatte ja schon geschrieben, dass die Technologie am sterben ist.

    Ich hatte die Dateien ja schon bei Google hochgeladen. Das Problem ist, dass wenn ich den Link aufrufe die Datei automatisch von Google heruntergeladen wird. Weiß jemeand einen anderen Anbieter, der class unterstützt?
  • in: FTP-Anbieter mit Java?

    geschrieben von mehralsnurradio

    muellerlukas schrieb:
    Ah, jetzt kommen wir der Sache näher. Also keine Webseite mit Java, sondern irgendein Spaß, der auf dem Client laufen soll.
    Für Applets brauchst du keinen extra Anbieter.
    Es reicht, wenn der Hoster Zip-Files kann (hier im Freespace also leider nicht). Wenn du dein Applet klein hälst und alles in eine Klasse quetscht, dann geht das auch so indem du direkt das class-File nutzt.

    Allerdings solltest du das einfach vergessen. Applets werden auf absehbare Zeit eingestellt. Und - wo Horschtl recht hat - braucht natürlich dann der Browser ein Java-Plugin. Das allerdings ist seit Erscheinen von Firefox 60 ESR auch nicht mehr unterstützt.
    Leider wird Java WebStart ebenso eingestellt.

    Falls du doch spielen willst:
    Du musst die Klasse schon Applet-Gerecht schreiben. Einfach so geht das auch nicht.
    > https://www.tutorialspoint.com/java/java_applet_basics.htm

    Was hast du denn eigentlich vor? Evtl. lässt sich das auch mit modernen Technologien einfach umsetzen.

    Ich habe schon ein Mal einen Supporter angeschreieben, der meinte, CLASS-Dateien sind nicht erlaubt. Wisst ihr, ob JAR-Dateien erlaubt sind? Darüber kann man Javaappletts auch einbinden, oder?

    Ich möchte eigengtlich nur kleinere Java-Applets auf meinen Websites einbinden, mehr nicht...
  • in: FTP-Anbieter mit Java?

    geschrieben von mehralsnurradio

    muellerlukas schrieb:
    Mooooment, was hast du genau vor?
    So ähnlich würde das mit Applets ausschauen. Die haben aber damit nix zu tun und sind auch nicht wirklich für die Webseitenentwicklung geeignet.
    Schau für den Anfang mal am besten nach einem JSP-Tutorial. Das ist zumindest mal ein Einstieg.

    Sorry, ich will ja APPLETS!
  • in: FTP-Anbieter mit Java?

    geschrieben von mehralsnurradio

    muellerlukas schrieb:
    Du suchst einen Webhoster, der die gratis deine Java-Seite hostet? Du wirst da wenig Glück haben, weil es (im Gegensatz zu sowas wie PHP) massig an Resourcen braucht. Schau dir mal den Gratis-Plan von Google App Engine an. Ob dir das für eine Live-Seite tauge ist allerdings fraglich.

    horstexplorer schrieb:
    Ein FTP Anbieter mit Java Unterstützung? Was soll denn das sein für eine Kombination.
    Java im Web zu nutzen um irgendetwas umzusetzen ist recht ungünstig außer bei serverseitiger Datenverarbeitung. Zumal es dafür nicht gedacht ist und meines Wissens nen Plugin bräuchte um im Browser zu funktionieren.

    Bitte, Horschtl. Wenn du keine Ahnung oder nur Halbahnung hast, lass es einfach. Schau dir einfach J2EE/Java EE an.
    Was du meinst sind Java-Applets, die nix kaum was mit serverseitiger Java-Entwicklung zu tun haben.

    Es klappt mit Google Cloud Plattform App Engine (zumindest das hochladen...).
    Ich habe jetzt den Code auf meine Seite eingefügt:
    <object codebase="https://storage.cloud.google.com/mehralsnurradiosql.appspot.com" archive="HelloWorld.jar" classid="java:HelloWorld.class" 
        codetype="application/x-java-applet" width="800" height="600">
    </object>

    WIESO klappt es nicht?

Login zum Webhosting ohne Werbung!