Kraemer84
12.06.2013, 20:13
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
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
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
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
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
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
$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 :D 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 :p
Handelt sich um einen Wartungsmodus der in einem Adminbereich über Mysql aktiviert und deaktiviert werden kann.
Zuerst die Tabelle
Mysql
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
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
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
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
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
$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 :D 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 :p