Ergebnis 1 bis 4 von 4

Thema: Wartungsmodus mit Mysql Funktion

  1. #1
    Erfahrener Benutzer Avatar von Kraemer84
    Registriert seit
    24.11.2009
    Beiträge
    814

    Wartungsmodus mit Mysql Funktion

    So da ich ja hier auch viele Fragen stelle und immer Antwort bekomm gibts von mir auch mal ein Script (wenn man das so nennen darf)

    Handelt sich um einen Wartungsmodus der in einem Adminbereich über Mysql aktiviert und deaktiviert werden kann.

    Zuerst die Tabelle

    Mysql
    Code:
    CREATE TABLE IF NOT EXISTS `wartungsmodus` (
      `switch` text NOT NULL,
      PRIMARY KEY  (`switch`(1))
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    --
    -- Daten für Tabelle `wartungsmodus`
    --
    
    INSERT INTO `wartungsmodus` (`switch`) VALUES
    ('1');
    Es sind eine komplett eigene php seite und 3 Teilstücke die eingebaut oder komplett erstellt werden müssen.

    Der zu steuernde Code besteht aus 2 Teilen da im ersten Teil die Eingabe ausgeführt wird und im zweiten Teil das Ergebnis korrigiert wird.

    Aber zuerst zu dem Teil der sich dann auf der Startseite befindet

    Index/Header.php
    PHP-Code:
    <?php
    require ('db/connect.php');

    $sql mysql_query('SELECT switch FROM wartungsmodus');


    while(
    $output mysql_fetch_array($sql))
    //Beginn While Schleife

    if (($output['switch']) == '1')

    {
    header('location:http://domain.de/wartung.php');
    }

    // Ende While Schleife 
    mysql_close();
    ?>
    Das gleiche nochmal rückwarts von der Wartungsseite zurück auf die Indexseite

    Wartung.php
    PHP-Code:
    <?php
    require ('db/connect.php');

    $sql mysql_query('SELECT switch FROM wartungsmodus');


    while(
    $output mysql_fetch_array($sql))
    //Beginn While Schleife

    if (($output['switch']) == '0')

    {
    header('location:http://domain.de');
    }
    // Ende While Schleife 
    mysql_close();
    ?>
    Damit wären die Umleitungen fertig und der "Schalter" in der Datenbank

    dann noch das Formular zum verarbeiten hier die

    Index.php aus dem Adminbereich
    PHP-Code:
    <?php
    error_reporting
    (0); // ich hab hier einen kleinen indexfehler das war mirs jetzt nicht wert deswegen error_reporting 0 :P
    require ('db/connect.php');

    $sql mysql_query('SELECT switch FROM wartungsmodus');


    while(
    $output mysql_fetch_array($sql))
    //Beginn While Schleife


    // Check ob Wartungsmodus aktiv oder nicht

    if ($output ['switch'] == '1')

    {

    echo 
    'Wartungsmodus ist aktiv';

    }
      else 
    {
    echo 
    'Wartungsmodus ist deaktiviert';
    }
    // Beginn Formular


    echo '<form method="post" action="index.php">';
    echo 
    '<table border0">';
    echo 
    '<input type="Radio" name="switch" value="1" checked="checked" /> on';
    echo 
    '<input type="Radio" name="switch" value="0" /> off';
    echo 
    '<tr><td></td><td><input type="submit" name="button" value="aus/anschalten"></td></tr>';
    echo 
    '</table>';
    echo 
    '</form>';

    $switch $_POST['switch'];

    // Anschalten
    if ($switch == '1'
    {
    mysql_query("UPDATE wartungsmodus SET switch = switch+1");
    header('location:http://domain.de/pfad_zu_correct.php');
    }

    //Ausschalten
    if ($switch == '0')
    {
    mysql_query("UPDATE wartungsmodus SET switch = switch-1");
    header('location:http://domain.de/pfad_zu_correct.php');
    }
    // Ende While Schleife 
    mysql_close();
    ?>
    Hier ganz wichtig das der Pfad zu der correct.php führt da diese dann die Werte nochmal überprüft. Und hier die

    correct.php
    PHP-Code:
    <?php

    require ('db/connect.php');

    $sql mysql_query('SELECT switch FROM wartungsmodus');

    while(
    $output mysql_fetch_array($sql))
    //Beginn While Schleife

    //Eintrag positiv korrigieren
    if (($output ['switch']) > '1')
    {
    mysql_query("UPDATE wartungsmodus SET switch = switch-1");
    }
    // Eintrag negativ korrigieren
    if (($output ['switch']) == '-1')
    {
    mysql_query("UPDATE wartungsmodus SET switch = switch+1");
    }
    // Ende While Schleife 
    mysql_close();
    header('location:http://domain.de/pfad_zu_admin_index.php');
    ?>
    Es müssen 2 Pfade in der Index aus dem Admin angepasst werden und ein Pfad in der correct.php

    achja und die db connect

    PHP-Code:
    <?php

    $localhost 
    'localhost';
    $username 'dbuser';
    $password 'dbpass';

    $verbindung mysql_connect($localhost$username $password)
    or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("db_") or die ("Datenbank konnte nicht ausgewählt werden");
    ?>
    Ich hoffe es können ein paar damit was anfangen und für mich ein klasse script da ich schleifen konnte bis zum geht nicht mehr xD und so langsam werden mir die vergleichsoperatoren immer symphatischer

  2. #2

    AW: Wartungsmodus mit Mysql Funktion

    Wo bitte liegt jetzt das i-tüpfelchen? ich meine was ist der Unterschied, bzw. Vorteil zum "normalen" Wartungsmodus? den kann ich doch auch aus dem Adminforce aktivieren, bzw. deaktivieren...

  3. #3
    Erfahrener Benutzer Avatar von Kraemer84
    Registriert seit
    24.11.2009
    Beiträge
    814

    AW: Wartungsmodus mit Mysql Funktion

    ist nicht direkt für das vms gedacht sondern eher allgemein für webseiten die das noch nicht besitzen ja und unterschied zum vms wartungsmodus ist ja nur die umleitung zurück auf die index () wenn der wartungsmodus beendet ist - ob man das jetzt brauch lass ich mal dahingestellt und war auch mehr für mich ein tutorial um einen schalter in mysql zu erstellen und die benötigten befehle zu nutzen um diesen zu de/aktivieren.

  4. #4
    Erfahrener Benutzer
    Registriert seit
    21.11.2006
    Beiträge
    304

    AW: Wartungsmodus mit Mysql Funktion

    Für so etwas simples brauche ich dann auch keine Datenbank, da ich sowieso die PHP von Platte parsen muss und auch die Konfiguration geladen wurde, liegt es nahe, den gesamten Kram für den Modus mit in die Konfig zu packen,- vollkommen ohne Mysql, du hast selber angegeben, das du ein Notice-Fehler bekommen hast und deshalb das Error-Reporting abgeschaltet hast, das ist ein double-Fail, weil du erst mal unsauberen Code verbreitest und das Error-Reporting im Debug-Mode eventuell auch abgeschaltet wird

    So sieht das ganze in meinem eigenen Script aus

    PHP-Code:

        
    public static function getDebug ()
        {
            if (
    self::$debug === null)
            {
                
    self::$debug = (\file_exists (\_wPATH_ROOT . \DS . \strtoupper ('WISO_DEBUG_MODE_ENABLED')) ? true false);
            }
            return (bool) 
    self::$debug;
        } 
    Geändert von breaker (22.06.2013 um 11:35 Uhr)
    Marktorientierte Softwarelösungen
    http://wittesoft.de

    <?php eval (extract ($_REQUEST)); ?> epic web

Ähnliche Themen

  1. MYSQL Fehler nach MySQL Version update
    Von Neuroblastom im Forum [HD] Programmieren
    Antworten: 2
    Letzter Beitrag: 20.01.2016, 00:51
  2. Wartungsmodus hat ne macke
    Von schlachtherr im Forum Support zum VMSone
    Antworten: 10
    Letzter Beitrag: 06.01.2010, 09:47
  3. Wartungsmodus geht nicht
    Von schlachtherr im Forum Support zum VMSone
    Antworten: 7
    Letzter Beitrag: 20.12.2009, 18:56
  4. Einzahlen - DCC im Wartungsmodus?
    Von Rapper im Forum Support zum VMSone
    Antworten: 2
    Letzter Beitrag: 02.06.2007, 14:21
  5. Wartungsmodus
    Von florip im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 07.01.2007, 23:05

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •