Ankündigung

Einklappen
Keine Ankündigung bisher.

Umprogrammierung von Java zu PHP

Einklappen

Neue Werbung 2019

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

  • Umprogrammierung von Java zu PHP

    Hallo erstmal
    Da ich absoluter neuling in php bin wende ich mich nun hier einmal an euch.
    Ich habe einen Javaskript geschrieben, der erstmal eine Browserabfrage macht. Wenn ein mobiler Browser erkannt wird, so wird eine benutzerabfrage gestartet.
    Wenn man dort auf ja klickt, so sollen die stylecheets xy geladen werden. Klickt man auf abrechen so werden die CSS Datein xyz geladen.
    Mit Java kann ich das. Aber bei php bin ich am ende. Es wäre super lieb von euch, wenn ihr mir dabei helfen kööntet.
    Hier der Java Quellcode:

    function CookieSave(name, value, days)
    {
    if (typeof days != 'undefined') {
    var date = new Date();
    date.setTime(date.getTime() + (days*24*60*60*1000));
    var expires = "; expires=" + date.toGMTString();
    } else {
    var expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
    }

    function CookieGet(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') {
    c = c.substring(1,c.length);
    }
    if (c.indexOf(nameEQ) == 0) {
    return c.substring(nameEQ.length,c.length);
    }
    }
    return null;
    }

    function mredirect(){
    var mconfirm = confirm('Wollen Sie auf die mobile Version weitergeleitet werden?\n\n\
    Achtung Aufbauphase! Die Funktion steht leider noch nicht zur Verfuegung.');
    if(mconfirm == true){
    // window.location.href = "http://www.mobile.feuerwehr-rodenberg.de"; // Verzeichnis festlegen

    }else{
    document.write('<link rel="stylesheet" type="text/css" href="/templates/fwrodenberg/style.css" rel="stylesheet" type="text/css">');

    // Cookiespeicherung
    //CookieSave('NoMobile', '1', '90'); // Hier den Cookie-Namen ändern
    }
    }


    function Client() {
    }

    Client.prototype.mobileClients = ["240x320","blackberry","netfront","nokia","panason ic","portalmmm","sharp","sie-","sonyericsson","symbian","windows ce","benq","mda","mot-","philips","pocket pc","sagem","samsung","sda","sgh-","vodafone","xda","iphone","android","iemobile"," windows phone"];

    Client.prototype.OperaMini = ["midp","opera mini"]

    Client.prototype.isMobileClient = function(userAgent)
    {
    userAgent=userAgent.toLowerCase();
    for (var i in this.mobileClients) {
    if (userAgent.indexOf(this.mobileClients[i]) != -1) {
    return true;
    }
    }
    return false;
    }

    Client.prototype.isOperaMini = function(userAgent)
    {
    userAgent=userAgent.toLowerCase();
    for (var i in this.OperaMini) {
    if (userAgent.indexOf(this.OperaMini[i]) != -1) {
    return true;
    }
    }
    return false;
    }

    if(CookieGet('NoMobile') != 1) { // Hier den Cookie-Namen anpassen

    var client = new Client();
    if (client.isMobileClient(navigator.userAgent)) {
    mredirect();
    }
    else if(client.isOperaMini(navigator.userAgent)){
    document.observe('dom:loaded', mredirect);
    }
    }

    Danke schonmal für eure Hilfe

  • #2
    2 Threads mit den selben Inhalt sind in Foren ungern gesehen :P

    Ich glaube, man könnte es mit Session lösen.

    PHP-Code:
    if(isset($_SESSION['mobile']) == true)
    {
          
    // ... load css file (mobile version)
    }
    else {
         
    // ... load css file (desktop version)

    Edit 1:
    Wenn du Mobile ansicht hast, dann könnte man nen Link (Zur Desktop Version) auf eine .php Datei haben, die dann $_SESSION['mobile'] auf false setzt und dann leitest du den user einfach auf die vorherige Page zurück. so könnte man dies vllt machen xD gibt aber bestimm bessere lösungen dafür

    Edit 2:
    Wie Sakron unten schon geschrieben hat: das ist Javascript. Mit Leuten, die mit JavaScript arbeiten, darf man niemals Java sagen. Da kriegen die meisten einen ausraster wenn sie das hören xD

    Kommentar


    • #3
      Java Quellcode ???
      Das ist Javascript Quellcode, du hast noch keine Zeile Java geschrieben und willst, dass wir dir das mit php schreiben.


      ohjee..
      No Sacrifice , no Glory--

      Kommentar


      • #4
        ich hab halt leider davon nicht so viel ahnung aber brauch es :/
        aber sowas ist generell mit php möglich oder?

        Kommentar


        • #5
          Zitat von tbchris112 Beitrag anzeigen
          Ich habe einen Javaskript geschrieben
          Alleine wegen dieser dreisten Lüge sollte der Thread schon geschlossen werden.

          http://andreknieriem.de/iphone-umlei...-mobile-seite/
          [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

          Kommentar


          • #6
            Mit Html5/CSS3 sicher, aber sonst (wie zb Desktop Version auf Smartphone) geht auch PHP (siehe oben mein 1. Beitrag)

            Kommentar


            • #7
              95% von dem nicht in Code-Tags gefassten Source ist nicht notwendig in PHP.

              Du willst eine automatische Umleitung wenn der reinkommende Client ein mobiles Gerät ist. Was nur Sinn macht wenn du Server-seitig auch spezielle Funktionalität bereitstellen willst die nur mobilen Geräten zur Verfügung stehen soll. Ist dir das klar ?
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar


              • #8
                Zitat von tr0y Beitrag anzeigen
                95% von dem nicht in Code-Tags gefassten Source ist nicht notwendig in PHP.
                Wie meinst das genau?

                Kommentar


                • #9
                  Zitat von tr0y Beitrag anzeigen
                  Du willst eine automatische Umleitung wenn der reinkommende Client ein mobiles Gerät ist.
                  Was ich möchte ist, dass wen ein mobiler client reinkommt das erkannt wird und er eine abfrage bekommt (möchten sie zu der mobilen seite wechseln?)
                  wenn der client ja drückt dann soll xy passieren und wenn er nein drückt soll xyz passieren. mehr brauche ich eigentlich garnicht.

                  Kommentar


                  • #10
                    PHP Grundlagen - Quakenet

                    Das reicht für deine Bedürfnisse. Erst PHP lernen, dann damit arbeiten. Andersrum geht zwar auch, aber wie man hier sehen kann brauchst du die Grundlagen erstmal.

                    Kommentar


                    • #11
                      Danke für den Link. Das werd ich mir dann mal alles durchlesen

                      Nur ist jetzt noch mein Problem das das ganze für mein Abschlussprojekt in der Schule ist.
                      Wollte das eigentlich anders Lösen aber mein Lösungsweg geht leider nicht.
                      Daher muss ich das jetzt mit php machen.

                      Könntet ihr mir vllt trotzdem einen Code senden, den ich verwenden kann? Wäre echt lieb.

                      Kommentar


                      • #12
                        Browserabfrage habe ich. Nur weiß ich jetzt nicht wie ich ein Fenster generieren kann wo der Benutzer auswählen kann ob er auf die mobile Ansicht wechseln möchte oder nicht.

                        Kommentar


                        • #13
                          Zitat von Jumper93 Beitrag anzeigen
                          Wie meinst das genau?
                          - Innerhalb von PHP muss man setcookie nicht wrappen.
                          - $_COOKIE ist bereits ein (Superglobales) Array
                          - Redirects müssen in im Globalen Scope ebenfalls nicht in einer Funktion gewrappt werden.
                          - Client-Detection ist so wie aus Client-Sicht nicht umsetzbar

                          Das WURFL-Projekt stellt eine API mit PHP-Binding bereit die das erkennen von Device-Capabilities ermöglicht ( mobile, desktop, smarttv, ... ).

                          http://wurfl.sourceforge.net/php_index.php

                          so das du schlicht nur die API bedienst und mit einem IF-Konstrukt abfragst ob das ziel gerät ein mobiles gerät ist und entsprechend nurnoch mit header() umleitest.

                          Oder in seinem Fall eine Auswahl bereit stellt ( quasi eine Zwischenseite ) die abfragt ob der User die mobile Ansicht oder die Desktop-Ansicht anschauen möchte.

                          Im Grunde ist diese "Browser-Detection" im Zeitalter von responsive Designs sinnlos. Allenfalls im Client könnte man ein Modal einblenden wenn der Browser client-seitig als mobiles Gerät identifiziert wurde. Da auf PHP-Seite rumzufuchteln ist - meiner Ansicht nach - worst Practice.
                          [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                          Kommentar


                          • #14
                            Code nein, aber ich kann dir meine Lösung vorschlagen

                            index.php
                            prüfe, ob eine $_SESSION['mobile'] gesetzt ist. Wenn nein, gebe mir das Formular dafür
                            PHP-Code:
                            session_start();

                            if(isset(
                            $_SESSIOn['mobile']))
                            {
                                 require_once 
                            'formular.php';
                            }
                            else
                            {
                                 require_once 
                            'startseite.php';

                            formular.php
                            PHP-Code:
                            if(isset($_POST['submit'] == 'yes')
                            {
                                
                            //Setzt eine SESSION Variable
                                
                            $_SESSION['mobile'] = true;

                               
                            //Leitet dich wieder zurück auf index.php
                                
                            header('Location: index.php');
                            }
                            else
                            {
                                
                            $_SESSION['mobile'] = false;

                                
                            header('Location: index.php');

                            startseite.php
                            PHP-Code:
                            <?php ?>
                            <html>
                               <head>
                                   <?php
                                       
                            if(isset($_SESSION['mobile'] == true)
                                       {
                                            include_once 
                            'pfad zur deiner CSS datei für die Mobile ansicht';
                                       }
                                       elseif(isset(
                            $_SESSION['mobile'] == false)
                                       {
                                           include_once 
                            'pfad zur deiner CSS datei für die PC ansicht';
                                       }
                                       else{}
                                   
                            ?>
                               </head>
                            Jetzt hab ich doch noch code geschrieben... naja was solls

                            Edit 1:
                            @tr0y ich habe mich damit noch nicht beschäftigt. Als Anfänger würde ich das aber so machen, wenn ich hinterher noch entscheiden möchte, auf Mobilen Gerät die Desktop version zuhaben statt die Mobile version.
                            Ich würde für meine Projekte HTML5/CSS3 dafür anwenden und darauf verzichten, welche Version ich nun genau haben will.
                            Dennoch ein danke für die Info

                            Kommentar


                            • #15
                              okay. dafür recht vielen dank

                              Jetzt wäre noch die frage mit dem fenster was sich ööfnen soll damit der besucher der homepage auswählen kann, ob er die mobile seite besuchen möchte oder nicht. wie kann man der realisieren?

                              Kommentar

                              Lädt...
                              X