Ankündigung

Einklappen
Keine Ankündigung bisher.

JS unterstützung per PHP überprüfen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JS unterstützung per PHP überprüfen

    Libe PHPler,

    ich habe folgendes Problem, ich habe ein CMS ... soweit os gut, nun, ich verwende in meinem Backend recht viel JS mit Ajax und so ... nun möchte ich schon vor dem einloggen überprüfen, ob JS vom browser unterstützt wird, sonst kann man sich nicht einloggen ... es gibt ja die möglichkeit get_browser() zu verwenden, wobei da das problem, mit der immer aktuellen Browser-Bibliothek, besteht, was für mich ein recht driftiger grund ist dies nicht zu verwenden, da ich mich nicht darum kümmern will !! ... gibt es weitere möglichkeiten die JS-Fähigkeit per PHP zu überprüfen ..?

    danke schon jetzt für eure unterstützung!!

    lg phillkill
    PHP-Code:
    if ( $humans >= ) {
       
    war ();


  • #2
    JS = Client, PHP = Server.

    Starte eine Session. Wenn $_SESSION['jsCheck'] nicht gesetzt ist, leitest du per JS auf index.php?js=true um und setzt jsCheck auf true. Wenn nun also beim nächsten Request jsCheck auf true ist und $_GET['js'] auch gesetzt ist und auf true ist, dann wurde der Nutzer per JS weitergeleitet. Wenn $_SESSION['jsCheck'] gesetzt ist und $_GET['js'] ist nicht vorhanden, dann hat der Nutzer einfach einen weiteren Link angeklickt und wahrscheinlich kein JS...

    Weitere Möglichkeit:
    Einfach einen AJAX Request abschicken und dort dann eine Session-Variable setzen (JS aktiv)

    Kommentar


    • #3
      Alternativ das Login-Formular mit JS einblenden.
      Im HTML-Quelltext steht dort dann eben ein freundlicher Text, der darüber aufklärt, dass man JS braucht um weiter zukommen und den der Anwender zu sehen bekommt, falls er JS nicht aktiviert hat.
      [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
      [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

      Kommentar


      • #4
        Danke für die schnelle antwort!!
        JS = Client, PHP = Server
        nanetnana ^^
        also ich werd die möglichkeit per PageRepload machen mit der Session und dem $_GET

        Alternativ das Login-Formular mit JS einblenden.
        das problem ist, dass man sich trotzdem, zwar durch etwas aufwand aber es funktioniert, anmelden kann ...

        was sagt ihr dazu, wenn wer sich unbedingt ohne JS anmelden kann, dann wird er es schaffen ... soll ich da so einen Aufwand treiben, dies zu verhindern ??
        oder einfach per <noscript> ... dem Benutzer melden, dass JS gebraucht wird um sich anzumelden ...?

        danke für eure meinungen !!
        PHP-Code:
        if ( $humans >= ) {
           
        war ();

        Kommentar


        • #5
          Ganz einfach: Deine ganze Seite sollte auch ohne JS perfekt funktionieren! Nur sollte es einfach benutzerfreundlicher mit JS werden.

          Kommentar


          • #6
            Zitat von PhillKill12 Beitrag anzeigen
            das problem ist, dass man sich trotzdem, zwar durch etwas aufwand aber es funktioniert, anmelden kann ...

            was sagt ihr dazu, wenn wer sich unbedingt ohne JS anmelden kann, dann wird er es schaffen ... soll ich da so einen Aufwand treiben, dies zu verhindern ??
            oder einfach per <noscript> ... dem Benutzer melden, dass JS gebraucht wird um sich anzumelden ...?
            Den Postrequest kann man genauso von Hand erledigen, ohne JS zu aktivieren.
            Ganz verhindern kannst du das nicht. Musst du auch nicht, denn wer soetwas macht, der sollte sich im klaren sein, dass es eigentlich nicht so gedacht war.
            [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
            [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

            Kommentar


            • #7
              Also ich hab mich dazu entschieden, den Benutzer darauf hinzuweisen, dass das Backend ohne JS nur beschränkt benutzt werden kann ...
              PHP-Code:
              if ( $humans >= ) {
                 
              war ();

              Kommentar

              Lädt...
              X