Persistente Speicherung von "Grundeinstellungen"

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Persistente Speicherung von "Grundeinstellungen"

    Ich grüße euch,
    folgendes Szenario liegt vor:
    Ich habe ein "System", bei dem es ganz normal ein Fron-End Bereich gibt, welcher gewisse Statistiken, News und sonstige Meldungen preisgibt.
    Ein Back-End für die Mitglieder, besonders Moderatoren und Administratoren gibt es ebenfalls.
    Hier möchte ich dem Administrator die Möglichkeit bieten mit Hilfe von Formularen die CSS-Datei einzustellen.

    Welche ist nun die beste Variante es persisten auch zu speichern?
    1) Ich speichere alle Einstellungen, die getätigt werden in der Datenbank und lasse sie auslesen, als auch via str_replace() ersetzen?
    2) Ich speichere es in einer externen Datei und lasse sie von dort aus auslesen?
    3) Ich habe gehöhrt PHP kann persistent Objekte speichern. Welche ist nun die effektivste und/oder einfachste Form mein Anliegen umzusetzen?

    Dabei sollte alles objektorientiert und leistungsoptimiert geschehen, sowie eine hohe Sicherheit bieten.
    Der Aufwand ist mir nebensächlich und kann ruhig Stunden mit sich bringen.
    Lieber benötige ich die 5-fache Zeit für mein Projekt, als dass ich irgendwelche Mängel im System mitbringe.

    Vielen Dank
    Sheldon
  • Hi!
    Ich würde die Daten in der Datenbank speichern und dann mit PHP auslesen.
    Bloß nicht in einer externen Datei speichern wenn du höchstmögliche Sicherheit haben willst.
    Ich würde das ganze so machen:
    ( Hab ich extra für dich gemacht hab ne Stunde daran gesessen! )

    Für die Datenbank:

    Quellcode

    1. CREATE TABLE IF NOT EXISTS `css` (
    2. `cssdatei` int(50) NOT NULL AUTO_INCREMENT,
    3. `user` varchar(150) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
    4. PRIMARY KEY (`cssdatei`)
    5. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


    Quellcode

    1. // MYSQL Tabellenname ist css
    2. // datenbank verbindung
    3. class css {
    4. public function cssstyleauswaehlen()
    5. {
    6. public $namedesadmins = "Sheldon Cooper";
    7. // 1, 2 oder 3
    8. // Du musst natürlich noch ein entsprechendes Formular mit HTML machen
    9. // am besten mit einem "select" mit der value 1, 2 oder 3
    10. if (isset($_POST['CSSDATEI']) AND $_POST['Submit'] === 'Los!') {
    11. $sql = "INSERT INTO css (cssdatei, user) VALUES ('".$_POST['CSSDATEI']."', '$namedesadmins')";
    12. $eintragen = mysql_query($sql) OR die('Es hat etwas nicht geklappt!');
    13. }else {
    14. echo "Ein Fehler ist aufgetreten!";
    15. }
    16. $auslesen = mysql_query("SELECT * FROM css");
    17. while($row = mysql_fetch_object($auslesen)) {
    18. $css = $row->cssdatei;
    19. }
    20. if($_COOKIE['cssstyle'] === 'normal') {
    21. $cssSTYLE = 'normal';
    22. echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"normaler css style\"/>";
    23. }
    24. elseif($_COOKIE['cssstyle'] === '2') {
    25. $cssSTYLE = '2';
    26. echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"2. css style\"/>";
    27. }
    28. elseif($_COOKIE['cssstyle'] === '3') {
    29. $cssSTYLE = '3';
    30. echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"3. css style\"/>";
    31. }else {
    32. switch($css) {
    33. case("1"):
    34. $cssSTYLE = 'normal';
    35. echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"normaler css style\"/>";
    36. setcookie("cssstyle", "normal");
    37. break;
    38. case("2"):
    39. $cssSTYLE = '2';
    40. echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"2. css style\"/>";
    41. setcookie("cssstyle", "2");
    42. break;
    43. case("3"):
    44. $cssSTYLE = '3';
    45. echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"3. css style\"/>";
    46. setcookie("cssstyle", "3");
    47. break;
    48. // usw....
    49. }
    50. }
    51. }
    52. }
    Alles anzeigen


    Zum ändern etwas in der Richtung:

    Quellcode

    1. if ($cssSTYLE = 'normal') {
    2. $aendern = "UPDATE css Set cssdatei = 'normal' WHERE cssdatei = '1";
    3. }
    4. if ($cssSTYLE = '2') {
    5. $aendern = "UPDATE css Set cssdatei = '2' WHERE cssdatei = '2";
    6. }
    7. if ($cssSTYLE = '3') {
    8. $aendern = "UPDATE css Set cssdatei = '3' WHERE cssdatei = '3";
    9. }




    Ich hoffe es hilft dir, ich hab mich lange damit rumgequält!

    P.s wofür brauchst du das?
  • Wow,
    viele Dank für deine ausführliche Antwort.

    Ich werde es direkt versuchen umzusetzen.
    Deine Bemühungen weiß ich durchaus zu schätzen.
    Vielen Dank dafür.

    Was deine letzte Frage betrifft:
    Ich möchte selbst ein Basis-System programmieren, welches es ermöglicht ohne Programierkenntnisse
    eine gewöhnliche Website zu erstellen, als auch diverse erweiterte Neuerungen, welche dann MSSQL-spezifisch sind
    und abgestimmt sind auf ein weiteres Programm, welches auf die hießige Datenbank zugreift.

    Nochmals vielen Dank für dein Engagement.

    Mit freundlichen Grüßen
    Sheldon