• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

HTML Seite - Laie soll einzelne Inhalte selbst editieren können

Da hier keine Antwort mehr kommt, habe ich mal angefangen das Template in Wordpress umzuschreiben. Sehr laienhaft, mit folgendem Code:

PHP:
<?php
            $welcomePage = get_post(171); // ID der Willkommensseite
            $content = apply_filters('the_content', $welcomePage->post_content);
            echo $content;
            ?>

Dann können sie einfache Inhalte selbst ändern. "Kompliziertere" Inhalte wie z.B. die Gallery mit Lightbox sind noch in HTML in der index.php, weil ich keine gute kostenlose Lightbox gefunden habe.

Passt wohl nicht mehr so in den Thread, aber meint ihr, man kann so vorgehen? Es soll ja kein Template für jedermann werden.

@Aaron3219 , an Deinem Script wäre ich trotzdem interessiert, falls ich mit dem Template nicht weiterkomme. Da ich nun aber genug "Rätsel" beim eigenen Wordpress One Page Template lösen muss, wäre mir Ein Stück für Stück lernen gerade etwas zu zeitintensiv..
 
Werbung:
Warum keine Antwort? Ich habe dir per Privatnachricht geschrieben!

Ich habe dir auch alles geschickt und gesagt, wenn fragen sind dann frag!
 
Oha hab ich nicht gesehen, sorry!!!!

Vielen Dank!
Ich melde mich, falls ich fragen habe!

Sorry und ein sehr großes Danke an Dich!

Macht es vielleicht Sinn, das ganze hier auch zum Download anzubieten, für andere Interessenten? Wohl zu speziell?
 
Werbung:
Tja wenn das alles wirklich gut geschrieben wäre ja.
Das Problem ist, dass alles auf meiner Dropbox ist, wo ich Regelmäßig ALLES lösche.
Am besten lädst du es also woanders erst hoch.
Eventuell kann mir ja sogar einer mal Verbesserungsvorschläge geben.
 
Wie der Herr befehlt:
Datei Nr. 1: Das ist die admin-page
PHP:
<?php
date_default_timezone_set('Europe/Berlin');
$current_date = date('d.m.Y');

$filedate = file_get_contents('test2.txt');

$anfang = substr("$filedate", 0, 10);
$ende = substr("$filedate", 11, 10);



$datetimebefore1 = date_create("$anfang");
$datetimebefore2 = date_create("$current_date");
$intervalbefore = date_diff($datetimebefore1, $datetimebefore2);
$finalintervalbefore = $intervalbefore->format('%R%a');


$datetimeleft1 = date_create("$current_date");
$datetimeleft2 = date_create("$ende");
$intervalleft = date_diff($datetimeleft1, $datetimeleft2);
$finalintervalleft = $intervalleft->format('%R%a');



$replaceletters = array("-", "+");
$replacebefore = str_replace($replaceletters, "", "$finalintervalbefore");
$replaceleft = str_replace($replaceletters, "", "$finalintervalleft");

if ($finalintervalbefore < 0) {
    echo '<style>#before {display: none;}</style>';
}

?>
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title>
            Admin-Bereich
        </title>
    </head>
    <body>
        <h1>INFO:</h1>
        Der Text, welcher AKTUELL auf der Internetseite steht, steht hier schon drinne.<br>
        Du musst den neuen Text einfach eingeben.<br><br>
        <a href='index.php'><u>Hier</u></a> <a>geht's zur Startseite, wo du dann das Fertige Ergebniss anschauen kannst!</a><br><br>
        <form method="post" action="save.php">
            <textarea style="width: 500px; height: 200px;" type="text" name="text" id="text"/><?php $file = file("test.txt");for ($i = 0; $i < count($file); $i++) {echo "$file[$i]";}?></textarea><br>
            
            <a>Aktuelles Startdatum</a>
            <input type="date" id="anfang" name="anfang" value="<?php echo $anfang; ?>" />
            
            <br><a>Aktuelles Enddatum</a>
            <input type="date" id="ende" name="ende" value="<?php echo $ende; ?>" /><br><br>
            <button type="submit" value="Speichern">Speichern</button>
        </form>
        <br><br>
        <p>Heute ist der <?php echo $current_date; ?></p>
        <p id="before">Es sind noch <?php echo $replacebefore ?> bis der Text angezeigt wird</p>
        <p>Es sind noch <?php echo $finalintervalleft ?> bis der Text nicht mehr angezeigt wird</p>
        
        <br><h4 style="margin-bottom: 0;">Hier ist der File-upload</h4>

        <h4 style="margin-top: 10px; margin-bottom: 10px;">Wichtige Info:</h4>
        <a style="font-size: 25px;"><u>Das File darf NUR den Namen index.pdf haben.</u></a><br><br>
        <form action="upload.php" method="post" enctype="multipart/form-data">
            Datei zum Hochladen:<br>
            <input type="file" name="fileToUpload" id="fileToUpload" accept="application/pdf"><br><br>
            <input type="submit" value="Hochladen" name="submit">
        </form>


        
      

    </body>
</html>
 
Werbung:
Datei Nr. 2: Das ist die Startseite, wo der Text angezeigt werden soll.

PHP:
<?php
date_default_timezone_set('Europe/Berlin'); // CDT

$current_date = date('Y-m-d');
$filedate = file_get_contents('test2.txt');

$anfang = substr("$filedate", 0, 10);
$ende = substr("$filedate", 11, 10);

$datetimeleft1 = date_create("$current_date");
$datetimeleft2 = date_create("$ende");
$intervalleft = date_diff($datetimeleft1, $datetimeleft2);
$finalintervalleft = $intervalleft->format('%R%a');



$datetimebefore1 = date_create("$anfang");
$datetimebefore2 = date_create("$current_date");
$intervalbefore = date_diff($datetimebefore1, $datetimebefore2);
$finalintervalbefore = $intervalbefore->format('%R%a');




if ($finalintervalbefore < 0) {
    /*echo "Noch $finalintervalbefore verbleibend";*/
    echo '<style>#date {display: none;}</style>';
}

elseif ($finalintervalleft >= 0) {
    /*echo '<br>'."Noch $finalintervalleft bis der Text verschwindet";*/
    echo '<style>#date {display: block;}</style>';
}

else {
    echo 'Die Frist zum anzeigen ist bereits abgelaufen';
    echo '<style>#date {display: none;}</style>';
}
?>

<!DOCTYPE html>
<html>
    <head>
        <title>
            test
        </title>
    </head>
    <body>
        <div style="width: 100%">
            <div style="margin: 0 auto">
                <a href="admin.php"><u><h3>Hier ist der Link zur admin-page</h3></u></a>
                <p><h4>Hier ist der Text:</h4><br></p>
                <div id="date">
                    <?php
                    $file = file("test.txt");
                    for ($i = 0; $i < count($file); $i++) {
                        echo "$file[$i]<br>";
                    }
                    ?>
                </div>
            </div>
        </div>
        <br><br><br><a><button href="./pdf/index.pdf">PDF-File Download</button></a>
    </body>
</html>
 
Datei Nr.3: Das ist eine kurze weiterleitungsseite, die alles in die Textdateien schreibt.

PHP:
<?php
header('Content-Type: text/html; charset=utf-8');
$text = $_POST['text'];
$anfang = $_POST['anfang'];
$ende = $_POST['ende'];

$dateizeiten = fopen('test.txt',"w");
echo fwrite($dateizeiten, "$text");
fclose($dateizeiten);


$dateidatum = fopen('test2.txt', "w");
echo fwrite($dateidatum, "$anfang $ende");
fclose($dateidatum);
?>

<script language="JavaScript" type="text/javascript">
setTimeout("location.href='admin.php'", 1000); 
</script>

<a><br>Speichern erfolgreich</a>
 
Datei Nr. 4: Das upload-Script.
Wichtige Info: Das Script habe ich nicht selber geschrieben, sondern hier kopiert und runtergebrochen, da dies ja nur zu Testzwecken diente.

PHP:
<?php
$target_dir = "pdf/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;

if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";

} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "Die Datei ". basename( $_FILES["fileToUpload"]["name"]). " wurde hochgeladen";
    } else {
        echo "Es ist ein Fehler beim Hochladen aufgetreten!";
    }
}
?>

Aber ja du hast ja recht. Es gehört nicht in eine PN.
Ich hielt es nur nicht für richtig, da ich ein PHP-Anfänger bin und das halt auch so geschrieben ist.
Es funktioniert einwandfrei, aber es geht bestimmt einfacher
 
Werbung:
Wenn ich mich mal hier einklinken darf:
  1. Eine Speisekarte index.pdf zu nennen, ist irritierend
  2. Wieso braucht man 2 Textdateien?
  3. Ein DateTimePicker würde die Eingabe komfortabler machen
  4. Werden Variablen zwischen Doublequotes w.z.B. hier date_create("$current_date"); besonders geadelt?
  5. Eine Weiterleitung per PHP wäre wohl sinnvoller.
  6. Wieso wird hier kein Affenformular benutzt?
  7. Es wird nicht auf einen Upload-Fehler geprüft.
  8. Es wird nicht auf eine PDF-Datei geprüft
  9. Erst $uploadOk = 1; und dann if ($uploadOk == 0) ist sinnbefreit
Bei genauerer Durchsicht wird man bestimmt noch mehr Fehler finden.
 
@m.scatello
@1. Ich hatte das upload-Skript aber so angepasst. Es ist ja aufgabe von Josi das für ihre Zwecke anzupassen. Man kann es ja jederzeit umbenennen, oder sogar einen variablen Namen.
@2. Ja du hast recht das braucht man nicht. Jedoch finde ich es einfacher zu differenzieren, welche nun Text und welche für das Datum und so ist. Das kann Josi ja auch ändern.
@3. Tja das ist das Ding als Anfänger. Ich wusste nicht mal das sowas existiert. Auch Google hat mich nicht auf die Lösung geführt. Aber Danke, jetzt weiß ich es für das nächste mal.
@4. Nein werden sie nicht. Kann ich weglassen ich weiß.
@5. Wo denn eine Weiterleitung?
@6. Weil bis ich es eben gegoogelt habe nicht wusste, dass man sowas machen kann.
@7. Ja weiß ich. Hab den Teil rausgenommen. Quelle ist angegeben, man kann es also einfach wieder einfügen.
@8. Dasselbe wie bei @7.
@9. Wie gesagt. Das upload-skript ist nicht von mir.

Also ich werde mal ein paar Dinge davon umsetzen. Ich bin beruhigt, dass nicht alles müll war ;)
 
Zurück
Oben