online 1
gast (50)

/ Forum / Webseiten/HTML

Webseiten/HTMLWebseiten/HTML

Fragevon JokaInThaHouse vom 12.04.2019, 12:58 Options

Jokaaa

Servus!

Bin gerade an einer Homepage fürs Intranet. Jetzt möchte ich gerne an die rechte Seite meiner Homepage Newseinträge haben: Ich habe das per HTML so realisiert:

HTML:

 <div id="sidebar">

            <div class="title">News<br /></div>

            <span class="date">[12.04.2007]</span>
            <br />
            Dies ist der erste Eintrag in meiner Newsleiste.
             <br /><br />

            <span class="date">[12.04.2007]</span>
            <br />
            ...und das ist der 2te.
            <br /><br />

	&nbsp;
</div>


CSS:
#sidebar 
{
width: 180px;
border-left: 1px solid #CECECE;
float: right;
margin-left: 9px;
margin-top: 5px;
padding-left: 8px;
text-align: left;
clear: both;
}



Ich möchte gerne, dass auch ein DAU/ Chef, ohne Programmierkenntnisse später News implementieren kann. Wie realisiere ich das am besten????

Ich kenn mich nur gut mit CSS und HTML aus. Kann ich da jetzt ein PHP Script reinquetschen, oder ein asp, oder kann man das irgendwie anders ELEGANT! realisieren?????

Dankeschöööön!

Joka


Antwort schreiben

Antwort 1 von some1unknown vom 12.04.2019, 13:36 Options

hi
wenn du wirklich nur möchtest dass jede neuigkeit einfach ganz oben eingefügt wird, kannst des enfach mit php und ohne mysql machen
dafür müsste dein script von ner html seite mit nem formular die neuigkeit entgegennehmen. Dan kannst dir in ner textdatei n template anlegen, dass deinen aufbau der news bestimmt, also zum beispiel so:

 <span class="date">[###DATUM###]</span>
<br />
###EINTRAG###
<br /><br />


dann machst dir eine textdatei in der der gesamte inhalt des divs steht. ganz oben setzt du dir dann nen marker rein

 
<!--###TOP###-->

<span class="date">[12.04.2007]</span>
<br />
Dies ist der erste Eintrag in meiner Newsleiste.
<br /><br />

<span class="date">[12.04.2007]</span>
<br />
...und das ist der 2te.
<br /><br />


Immer wenn dann ein DAU ein News anlegen will gibt er seine Daten ins formular ein, das php script übernimmt die dann, lädt das template und ersetzt die Marker durch die daten(str_replace()). Dann setzt es an den <nfang des striings den <!--###TOP###-->-Marker. ANschließend wird die 2.txtfile mit dem div-inhalt geladen und der marker ###top### mit der str_replace funktion durch deinen string mit dem neuen eintrag ersetzt. Dadurch erreichst du, dass der neuste eintrag immer zuerst stehen.

Naja und zuletzt liest du über php den div-inhalt in deine seite ein:

 <div id="sidebar">

<div class="title">News<br /></div>

<?php

readfile("news.txt")
or die("EIn Fehler ist aufgetreten");

?>

</div>


hoffe ich konnte dir helfen
mfg
some1unknown

PS: regt euch net über irgendwelche fehler auf, hab seit nem halben jahr nix mehr mit php gemacht

Antwort 2 von some1unknown vom 12.04.2019, 14:00 Options

also hast du am ende folgende dateien:
1.: index.php, deine eigentliche seite auf der die news angezeigt werden:

<html><head></head><body>
...

 <div id="sidebar">

<div class="title">News<br /></div>
<?php
readfile("news.txt")
or die("FEHLER");
?>
</div>

...
</body>
</html>


2.: styles.css, o deine styles drinn stehn:

#sidebar
{
   width: 180px;
   border-left: 1px solid #CECECE;
   float: right;
   margin-left: 9px;
   margin-top: 5px;
   padding-left: 8px;
   text-align: left;
   clear: both;
}


3.: news.txt, wo deine news gespeichert sind:

<!--###TOP###-->

<span class="date">[12.04.2007]</span>
<br />
Dies ist der erste Eintrag in meiner Newsleiste.
<br /><br />

<span class="date">[12.04.2007]</span>
<br />
...und das ist der 2te.
<br /><br />


3.: news_template.txt, wo dein news-template drin liegt:

 <span class="date">[###DATUM###]</span>
<br />
###EINTRAG###
<br /><br />


4.: news.html, wo das formular für den news-ersteller liegt:

<html><head></head><body>
<h1>News anlegen</h1>
<form action = "news_write.php" method = "post">
<textarea name = "news_text"></textarea>
</form>
</body>
</html>


5.: news_write.php, die deine news einträgt

<?php
$news_text = $HTTP_POST_VARS['news_text'];
$template_file = "news_template.txt";
$news_file = "news.txt";
$date = "DATUM VON HEUTE;";
$file = fopen($template_file);
$template = fread($file, filesize($file)); 

$template = str_replace($template, "###DATUM###", $date);
$template = str_replace($template, "###EINTRAG###", $news_text);

$file = fopen($news_file);
$news = fread($file, filesize($file)); 

$text2write = "<!--###TOP###-->";
$text2write .= $template;

$news = str_replace($news, "<!---###TOP###--->", $text2write);

ftruncate($file, 0);

fwrite($file, $news);

print("News erfolgreich geschreiben");

?>


mfg some1unknown

PS: siehe mein PS beim ersten post

Antwort 3 von some1unknown vom 12.04.2019, 14:10 Options

is natürlich nich unbedingt elegant^^

Antwort 4 von some1unknown vom 12.04.2019, 14:15 Options

eine weitaus elegantere(und auch weitaus aufwendigere) Lösung wär TYPO3 oder ein anderes cms.
dafür bräuchtest dann ein bissel mehr zeit und knowhow
also viel glück^^
mfg someûnknown

Antwort 5 von Jokaaa vom 12.04.2019, 15:11 Options

Servus und danke für die erschöpfende und geniale Erklärung!!!

Echt goil! Ich werde es gleich ausprobieren.

Also ich habe wie gesagt noch nicht viel mit PHP am Hut, aber eine Frage habe ich jetzt nach dem Durchlesen:

<form action = "news_write.php" method = "post">


...Action auf was? Brauch ich nicht noch ein 'submit' Button, damit die news_write.php gestartet wird? Oder passiert das auf die Enter-Taste????

Dankeschöööön!!!
jokaaa

Antwort 6 von some1unknown vom 12.04.2019, 15:26 Options

hi
jo hast recht, hab den submit-button vergessen^^
mfg

Antwort 7 von some1unknown vom 12.04.2019, 15:35 Options

desweiteren must du die zeile

$date = "DATUM VON HEUTE;";


ändern, so dass dem string $date halt ein korrektes Datum zugewiesen wird, also zum beispiel:

$date = date("d");
$date .= ".";
$date .= date("m");
$date .= ".";
$date .= date("Y");


dies solltes

Antwort 8 von some1unknown vom 12.04.2019, 15:40 Options

..sry für die un terbrechung^^...
das datum im format dd.mm.yyyy. anzeigen, kannst ja mit der date() funktion n bissel experimentieren^^
mfg

Ähnliche Themen

Firefox - Datei Download Einstellungen
ThaJokaa  19.02.2007 - 95 Hits - 2 Antworten

Neuer Virenschutz, mag Panda nicht mehr
ThaJokaa  24.02.2007 - 75 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026