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

Readfile, Ausgabe der Datei?

SimoNxD

Mitglied
Hallo :).
Hab mir ma einen Script angeschaut, für nen ''News Ticker''.
Hab ihn eig auch soweit verstanden nach 20 minuten :).

PHP:
<form name="form1" method="post" onsubmit="<?php if(!isset($_POST['senden']))  {} else { $file = 'news.txt'; $current = file_get_contents($file); $current .= "[".date("d.m.Y")."]"."\r".$_POST["News"]."\r\n"; file_put_contents($file, $current); } ?>">   <label></label>   <label></label>   <textarea name="News" cols="50" rows="10" id="News" value="" /></textarea>  <label>   <br>  <input type="submit" name="senden" id="senden" value="Senden" />   </label> </form>

Dort kann ich ja nun die News reinschreiben und In deine .txt schreiben ;D.
Soweit verstanden auch was was bewirkt außer das
PHP:
file_put_contents($file, $current);

Aber dahinter komm ich auch noch.

Nun die eigentliche Frage, mit
PHP:
readfile ("news.txt");
lese ich ja nun die Datei aus, aber wie kann ich es gestalten?, das es nicht hintereinander geklatscht ist, die schriftfarbe ändern, usw usw :)?!
Könnte mir jemand ne Seite schicken, wo es dazu evtl. nen schönes Tutorial gibt :x?
zur Textgestalltung per Php.
Oder evtl. könnte mir da jmnd persönlich unter die Arme greifen :), ich will hier nicht das mir jemand was komplett scriptet, sondern mir es erklärt, da ich ja sonst nie dahinter komme wie man sowas selbstständig macht
 
Du kannst statt readfile() auch mit
PHP:
$tickers = file("news.txt");
die Einträge in ein Array packen und dann mit
PHP:
foreach()
ausgeben.
In der Foreach-Schleife kannst du dann die nötigen Auszeichnungen in CSS und HTML vornehmen.

Könnte dann, ganz rudimentär, in etwa so aussehen:
PHP:
$tickers = file("news.txt")
foreach($tickers as $ticker){
   echo "&nbsp;###&nbsp;";
   echo $ticker;
}
Auf jeden Eintrag folgt dann Leerzeichen Raute Raute Raute Leerzeichen
 
Zuletzt bearbeitet:
*Edit* Hast schon gepostet :)
Okay
Also wenn ich das richtig verstanden habe sorgt die foreach schleife dann (wie der name foreach schon sagt) das jeder eintrag identisch gepostet wird mit der einstellung, halt mit anderem inhalt.

Kann ich in diese Foreach schleife auch if/else befehle einfügen?
Da ich 3 Verschiedene Bilder habe die man auswählen kann und darauf sollte der Geschriebene Text drauf gepostet werden.
Sorry bin ein Anfänger in PHP.
Anders ist es mit if und else auch möglich 3 verschiedene Optionen Einzuführen?

PHP:
$tickers as $ticker
und dadurch wird tickers als ticker behandelt oder?

Und noch eine Frage :)

Kann ich ind er foreach schleife auch CSS codes aus meiner style.css laden?
 
Zuletzt bearbeitet:
Kann ich in diese Foreach schleife auch if/else befehle einfügen?
...ist es mit if und else auch möglich 3 verschiedene Optionen Einzuführen?
Ja.
Entweder mit der nötigen Anzahl alleinstehender IFs oder nach dem Muster
PHP:
if(){
...
}else if{ // kann unbegränzt oft eingesetzt werden
...
}else{
...
}

PHP:
$tickers as $ticker
und dadurch wird tickers als ticker behandelt oder?
Dadurch wird jeder Eintrag im Array $tickers als Variable $ticker behandelt

Kann ich ind er foreach schleife auch CSS codes aus meiner style.css laden?
Ja. echo ist eine direkte Ausgabe an den Browser.
Du kannst in Hochkommas oder Anführungszeichen jedweden HTML-Code ausgeben.
z.B. so
PHP:
echo "<p class='tickereintrag'>" . $ticker . "</p>";

Empfohlenes Nachschlagewerk für Anfänger: PHP fr dich - PHP und mySQL einfach und kurz erklrt
 
Zuletzt bearbeitet:
Okay noch ne Frage :D
Will nun nicht 2000. Threads aufmachen

PHP:
<?php     
if(!isset($_POST['senden']))      
{}     
else {     
$file = 'news.txt';     
$current = file_get_contents($file);     
$current .= $_POST["News"]."\r\n";     file_put_contents($file, $current);     
} 
?>">

PHP:
if(!isset($_POST['senden']))

mit Isset wird ja überprüft ob eine Variable existiert und ob sie nicht null ist
Aber welche variable wird denn überprüft?! (siehe 1. post script)
Senden? Senden ist in dem fall aber
HTML:
<input type="submit" name="senden" id="senden" value="Senden" />
wird überprüft ob der button geklickt wird oder nicht?
 
Mit

PHP:
if(!isset($_POST['senden']))

wird geprüft, ob die Variable "senden" beim Abschicken des Formulars mitgeschickt wird. Das ist nur der Fall, wenn der input-submit-Button auch angeklickt wurde.

Vorsicht:
Sobald es nicht um input-submit sondern input-button oder input-image oder button geht, verhalten sich viele Browser anders beim Füllen des POST-Arrays. Einige schreiben den Namen des Elementes rein, andere das value. input-submit ist da schon eindeutiger.
 
Zurück
Oben