Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit eigenem Updatesystem für CMS

Einklappen

Neue Werbung 2019

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

  • Problem mit eigenem Updatesystem für CMS

    Hallo Liebe Foren-User
    Ich möchte für mein eigenes CMS ein Updatesystem schreiben, nur habe ich momentan Probleme beim Überprüfen der Version.

    Code:
    if($system['version'] == $update['version'])
    {
    	echo "Keine Updates verfügbar.";
    } elseif($system['version'] <= $update['version']) {
    	echo "Updates sind verfügbar";
    }
    in $update['version'] steht: 1.1.5
    in $system['version'] steht: 1.1.5

    Ich habe mir beide Variablen ausgeben lassen, und komme immer dazu, dass sie identisch sind, ich habe keine Ahnung warum er das so nicht haben will.
    Also: Mein genaues Problem ist: Auch wenn die Versionsnummer gleich sind, sagt er, dass Updates verfügbar sind. (Dies soll er natürlich nicht) Wenn ich $update['version'] allerdings kleiner mache als $system['version'], dann funktioniert die Abfrage, und er sagt, dass keine Updates verfügbar sind.

  • #2
    Es gibt um Versionen zu vergleichen eine interne PHP-Funktion, probier mal diese aus.
    [man]version_compare[/man]

    Momentmal, in der ersten Abfrage musst du doch auf kleiner Prüfen. denn in deinem elseif schreibst du ja "<="
    "My software never has bugs, it just develops random features."
    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

    Kommentar


    • #3
      Problem behoben - Kann geschlossen werden.
      Es waren Leerzeichen vor einer der Array-Variablen. Diese habe ich mit trim() entfernt.

      Kommentar


      • #4
        Wie mein Vorredner schon bemerkte hast du einen Fehler in deinem Prüfblock:

        Deine Version:
        Code:
        elseif($system['version'] <= $update['version'])
        So sollte es aussehen:
        Code:
        elseif($system['version'] < $update['version'])

        Kommentar


        • #5
          Das hatte den Fehler auch nicht behoben, letztendlich waren es die leerzeichen

          Kommentar


          • #6
            Hast du mal compare_version ausprobiert? da wird warscheinlich auch ein trim() drauf gemacht. Um Versionen zu vergleichen, würde ich diese Funktion benutzen.
            "My software never has bugs, it just develops random features."
            "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

            Kommentar

            Lädt...
            X