PHP Wartungsscript

...komplette Frage anzeigen

1 Antwort

mir ist nicht ganz klar, was Du willst. WO willst Du denn den Wartungsmodus ein-/ausschalten? Anbieten würde sich dafür eine "Adminseite" passwortgeschützt - evtl in einem htaccess-geschützten Verzeichnis.

Auf dieser Adminseite dann ein Formular, dass auf die gleiche Seite verweisst mit einem Button "Wartung an/aus".

Beim Laden der Seite prüft PHP erstmal, on Button gedrückt wurde und den aktuellen Datenbankstatus. Evtl wird dann der Datenbankstatus neu gesetzt (wenn Buttonrückgabewert vorhanden) und der entsprechende Button (An oder Aus) wird angezeigt.

01tobias01 17.03.2012, 20:57

Vielen Dank für die schnell Antwort, genau sowas suche ich.!

Den An Aus Button will ich dan auf meine Adminseite einbinden.!

Kannst mir den einer so ein Script, mit einem An Aus Button schreiben.!

0
freixen 17.03.2012, 21:04
@01tobias01

Ich würde Dir auf´s Pferd helfen, aber reiten musst Du alleine. zu deutsch: Versuche es erstmal alleine und wenn Du nicht weiter weißt, stelle eine konkrete Frage. Dann helfe ich Dir gerne.

0
01tobias01 17.03.2012, 21:41
@freixen

Leider habe ich noch nicht viel erfahrung mit MYSQL Datenbank, Formularen und Functionen.!

Könnte ihr mir bitte weiterhelfen, bräuchte ein Script wo man die Datenbank mit änderen kan, also die Wartungsseite an machen und mit aus macht, also ein an und aus button mit function.!

0
freixen 17.03.2012, 22:29
@01tobias01

ein Formular: "< form action="adminseite.php" method="post"> ....

ein Button: "< input type='submit' name='status' value='aus'>

Prüfen, ob Button gedrückt wurde: if(isset($_POST["status"]))

Prüfen ob Button "aus" geglickt wurde: if($_POST["status"]=="aus")

Soweit müsstest Du das Button-Prob in den Griff bekommen(?)

0
freixen 17.03.2012, 22:37
@freixen

ups - verrechtschreibt - sollte natürlich "geklickt" heissen.

Unklar ist mir, was Du mit der Tabelle "Wartung" willst. Genügt da nicht EIN Feld (z.B. Status) und ein dazugehöriger Wert vom Typ Boolean (WAHR oder FALSCH)?

0
01tobias01 17.03.2012, 23:38
@freixen

Vielen Dank

Das habe ich auch, aber ich habe eine Tabelle mit den Namen Wartung und dan ein Feld Status, da ich mehrere Sachen in der Datenbank habe.!

0
freixen 18.03.2012, 00:27
@01tobias01

Habe gerade Dein neues Script gesehen. Das Ding ist viel zu umständlich. Du brauchst keine wartungon.php oder wartungoff.php. Auch ist mit nicht klar, was das "else" am Ende der index.php machen soll. Der Wartungsmodusbutton wird nur aufgerufen, wenn der Status 0 ist?

Vorschlag: index, php

<?php

require_once "config.inc.php";

if(isset($_POST["status"])){

if($_POST["status"]=="aus"){

$sql = 'UPDATE wartung

SET status="0"

WHERE status=1';

$status=0; } if($_POST["status"]=="an"){

$sql = 'UPDATE wartung

SET status="1"

WHERE status=0';

$status=1;

}

}

else {

$wartung = mysqlfetchassoc(mysql_query("SELECT status FROM wartung"));

if ($wartung['status'] == "0") $status=0; if ($wartung['status'] == "1") $status=1; }

echo"< form action="adminseite.php" method="post"> Wartungsstatus: ";

if($status=0) echo "< input type='submit' name='status' value='an'>";

if($status=1) else echo "< input type='submit' name='status' value='aus'>";

echo "";

// Hier wird die eig. Index Seite via Inlcude eingefügt, sprich die eig // index datei in index 2 umbenennen!

include('index2.html');

} else {

0
freixen 18.03.2012, 00:39
@freixen

hier liese sich einiges noch kürzen - allerdings scheinen mir Lesbareit und Verständlichkeit wichtiger.

Ich habe das Ding aus dem Kopf raus geschrieben: Mag also sein, dass da Fehler drin sind. Einer ist mir gerade aufgefallen: Anstatt "adminseite.php" müsste es "index.php" heissen.

0
01tobias01 18.03.2012, 00:53
@freixen

Vielen Dank für den Script, leider ist das immernoch ne fehler drin.!

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /webspaces/a4/ u001879/html/h4-hpderwelt.de/index.php on line 33

0
01tobias01 18.03.2012, 00:58
@01tobias01

<?php

require_once "config.inc.php";

if ($_POST['1'])

{

    UPDATE wartung
    SET status="0"
    WHERE status=1';

}

if ($_POST['0'])

{

    UPDATE wartung
    SET status="1"
    WHERE status=0';

}

?>

Kommt aber auch ein Fehler.!

Parse error: syntax error, unexpected T_STRING in /webspaces/a4/u001879/html/h4-hpderwelt.de/onoff.php on line 11

0
freixen 18.03.2012, 01:07
@01tobias01

ups - ja! sind die "Gänsefüßchen bei echo"< form action="adminseite.php" method="post"> Wartungsstatus: ";

Entweder Du änderst die in einfache Hochkomma ', oder maskierst sie mit /"

Noch aufgefallen: Am Ende musst Du das Formular noch mit echo"" beenden

0
freixen 18.03.2012, 01:14
@freixen

nochmal nachbearbeitet

index.php

<?php

require_once "config.inc.php";

if(isset($_POST["status"])){

if($_POST["status"]=="aus"){

$sql = 'UPDATE wartung

SET status=0

WHERE status=1';

$status=0;

}

if($_POST["status"]=="an"){

$sql = 'UPDATE wartung

SET status=1

WHERE status=0';

$status=1;

}

}

else {

$wartung = mysqlfetchassoc(mysql_query("SELECT status FROM wartung"));

if ($wartung['status'] == "0") $status=0;

if ($wartung['status'] == "1") $status=1;

}

echo"< form action='index.php' method='post'> Wartungsstatus: ";

if($status=0) echo "< input type='submit' name='status' value='an'>";

if($status=1) echo "< input type='submit' name='status' value='aus'>";

echo "";

?>

0
freixen 18.03.2012, 01:21
@freixen

Der verschluckt hier Zeichen !

Die voletzte Zeile lautet: echo "< /form>";

0
01tobias01 18.03.2012, 11:08
@freixen

Habs geändert kommt immer noch ne Fehler.!

<?php

require_once 'config.inc.php';

if(isset($_POST['status'])){

if($_POST['status']=='aus'){

$sql = 'UPDATE wartung

SET status=0

WHERE status=1';

$status=0;

}

if($_POST['status']=='an'){

$sql = 'UPDATE wartung

SET status=1

WHERE status=0';

$status=1;

}

}

else {

$wartung = mysqlfetchassoc(mysql_query('SELECT status FROM wartung'));

if ($wartung['status'] == "0") $status=0;

if ($wartung['status'] == "1") $status=1;

}

echo '< form action='index.php' method='post'> Wartungsstatus ';

if($status=0) echo '< input type='submit' name='status' value='an'>';

if($status=1) echo '< input type='submit' name='status' value='aus'>';

echo '';

?>

Fehler meldung

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /webspaces/a4/u001879/html/h4-hpderwelt.de/index.php on line 43

0
freixen 18.03.2012, 11:45
@01tobias01

Ich habe momentan keine mysql-Datenbank laufen, wo ich testen könnte. Benutzt Du einen (zeilennummerierten) Editor (zB Phase 5), dann kannst Du nachsehen, was in der Zeile steht, wo er den Fehler meldet.

Meist sind es blöde Vertipper (Semikolon vergessen, oder Anführungszeichen statt Hochkomma.)

Zeile 43? hinter dem echo kommenAnführungszeichen, statt Hochkomma.

0
amschti 18.03.2012, 14:50
@01tobias01

man kanns auch kompliziert machen :) wenn nur du diese wartung ein und ausschalten willst kannst du das ganz einfach mit einer If anweisung machen und nach der blabla.php ?wartung=on oder wartung=off... schreiben, da kommt niemand drauf (kannst es ja auch anders formulieren, wie du willst ;) ...also soll heissen den Get parameter einfach direkt in die url adressleiste schreiben.... ;) fürs nächste mal :)

0
01tobias01 18.03.2012, 17:38
@amschti

Wirt gemacht.!

Script funktioniert jetzz komplett, habs bisschen umgeschrieben.!

Werde es bald online stellen.!

0

Was möchtest Du wissen?