tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
15
ZUGRIFFE
749
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Fabian Frank
    Fabian Frank Fabian Frank ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Beiträge
    288
    Hallo Leude,

    hab ein Problem. Und zwar brauch ich ein News-Script.

    Ich hab auch eins, das folgenden Quellcode hat (Betreff und Inhalt werden durch Formular in anderer Datei übergeben..is unwichtig):

    news_eintrag.php
    <?php

    $inhalt = $_POST['inhalt'];
    $betreff = $_POST['betreff'];
    $user_vorname = $_SESSION['user_vorname'];
    $user_nachname = $_SESSION['user_nachname'];
    $filename = 'news.htm';
    $news_eintrag = "<div align='center'><table border='0' cellspacing='1' width='395px' bgcolor='#0072BC' class='text'>
    <tr bgcolor='#0072BC' height='20'><td>&nbsp; <font color='#ffffff'>&nbsp; <b>$betreff</b> von $user_vorname</font></td></tr>
    <tr><td bgcolor='#ffffff'>
    <div align='center'>
    <br>
    $inhalt
    <br>
    </div>
    </td></tr>
    </table><br><br></div>";

    if (is_writable($filename)) {

    if (!$handle = fopen($filename, "r+")) {
    print "News.htm kann nicht geöffnet werden.";
    exit;
    }

    if (!fwrite($handle, $news_eintrag)) {
    print "Die Datei news.htm is nicht schreibbar!";
    exit;
    }

    header ("Location: intern.php");

    fclose($handle);

    } else {
    print "Die Datei news.htm existiert nicht! Bitte an Mathias oder Fabian wenden .";
    }
    ?>
    Also folgende Probleme:

    1. fügt er bei dem $user_vorname den Vornamen nicht ein
    und
    2. Wenn ich einen neuen Eintrag verfasse, ersetzt er den neuen mit dem alten und es wird nur der neue angezeigt...

    Danke für jegliche Art von Hilfe!

    Greetz,

    Fai

    Achja: Ich hab die Suche benutzt, nichts gefunden...Lass mich gerne eines besseren belehren, hab aber gründlich gesucht.
     

  2. #2
    Paula Paula ist offline Mitglied Gold
    Registriert seit
    Aug 2003
    Beiträge
    124
    Zu Frage 2 schau dir folgende Seite an:
    http://de.php.net/manual/de/function.fopen.php
    'a+'
    Öffnet die Datei zum Lesen und Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
     

  3. #3
    Avatar von Fabian Frank
    Fabian Frank Fabian Frank ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Beiträge
    288
    ok, danke erstmal

    Das hilft mir schon weiter. Jedoch werden jetzt die neuesten News unten angezeigt. Kann man das ganze dann von hinten auslesen, oder gibts da ne andere Möglichkeit?
     

  4. #4
    Registriert seit
    Sep 2003
    Ort
    Fürth(Franken)
    Beiträge
    1.060
    Blog-Einträge
    3
    In ein Array einlesen und dann array_reverse().

    Nur so ein Vorschlag!
     
    be inspired...simplify...

  5. #5
    Avatar von Fabian Frank
    Fabian Frank Fabian Frank ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Beiträge
    288
    gibts da auch ne simplere Variante ?
     

  6. #6
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Hmm, nein, einfacher gehts net wirklich.

    Code php:
    1
    2
    3
    4
    5
    
    $file = 'test.txt';
    $cont = file($file);
    $content = array_reverse($cont);
     
    print_r($content);

    Und schon fertig...
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  7. #7
    Avatar von Fabian Frank
    Fabian Frank Fabian Frank ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Beiträge
    288
    alles klar.
    Danke dir.

    Aber der Code ist ja der Code für die Ausgabe. Muss ich dann nicht beim einfügen schon nen array mit einbauen ?

    Ich probiers jetzt schnell ohne, wennst nicht geht, meld ich mich nochmal...

    EDIT: hm, ich glaub ich bau den falsch ein. Oder muss man doch noch beim schreiben in die Datei news.htm einen array mit einfügen=?
    Geändert von Fabian Frank (27.04.07 um 16:41 Uhr)
     

  8. #8
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Nein, musst du nicht, da es bei fwrite mit "a" einfach ans Ende drangehängt wird.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  9. #9
    Avatar von Fabian Frank
    Fabian Frank Fabian Frank ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Beiträge
    288
    hm...

    Ok, wenns mit "a" dran gehängt wird, geh ich jetzt einfach mal davon aus, dass das auch bei "a+" der Fall ist.

    Aber ich bekomm da bei der ausgabe in der datei nur so Wirres aus Zahlen und Folge-Pfeilen...

    Hier mal der Code, der sich in der Datei befindet, in der die News angezeigt werden:

    PHP-Code:
    <?
          $file 
    'news.htm';
          
    $cont file($file);
          
    $content array_reverse($cont);

          
    print_r($content); 
    ?>
     

  10. #10
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    print_r() sollte natürlich nur zum Testen verwendet werden

    Allerdings empfehle ich dir, nicht den HTML Code in der Seite zu speichern, sondern eher so zu verfahren:

    PHP-Code:
    <?php
    $inhalt 
    'TEST NEWS HALLO WIE GEHT ES EUCH <br/> TEST TESTME <br/>';
    $betreff 'Test';
    $user_vorname 'Hans';
    $user_nachname 'Mustermann';
    $filename 'news.htm';
    $news_eintrag $user_vorname."::".$user_nachname."::".$betreff."::".$inhalt;

    if (
    is_writable($filename)) {

    if (!
    $handle fopen($filename"a")) {
    print 
    "News.htm kann nicht geöffnet werden.";
    exit;
    }

    if (!
    fwrite($handle$news_eintrag)) {
    print 
    "Die Datei news.htm is nicht schreibbar!";
    exit;
    }

    #header ("Location: intern.php");

    fclose($handle);

    } else {
    print 
    "Die Datei news.htm existiert nicht! Bitte an Mathias oder Fabian wenden .";
    }
    ?>
    Und zum Auslesen dann so:
    PHP-Code:
    <?php
          $file 
    'news.htm';
          
    $cont file($file);
          
    $content array_reverse($cont); 
          
    foreach(
    $content as $value) {
    $content explode("::"$value);
    echo 
    "
    <div align='center'><table border='0' cellspacing='1' width='395px' bgcolor='#0072BC' class='text'>
    <tr bgcolor='#0072BC' height='20'><td>&nbsp; <font color='#ffffff'>&nbsp; <b></b> von "
    .$content[0]."</font></td></tr>
    <tr><td bgcolor='#ffffff'>
    <div align='center'>
    <br>
    "
    .$content[2]."
    <br>
    </div>
    </td></tr>
    </table><br><br></div>
    "
    ;
    }
    ?>
    Dadurch kannst du auch das "Template" ändern ohne die gesamte "Datenbank" des Skriptes zu verändern.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  11. #11
    -GS-Master -GS-Master ist offline Mitglied Platin
    Registriert seit
    Sep 2005
    Beiträge
    705
    Ist nicht fputs zum anhängen gedacht?
    Fängt zumindest am ende an, also beim Dateizeiger an ...
     

  12. #12
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Zitat Zitat von -GS-Master Beitrag anzeigen
    Ist nicht fputs zum anhängen gedacht?
    Fängt zumindest am ende an, also beim Dateizeiger an ...
    Nein, fputs() ist ein Alias von fwrite().
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  13. #13
    Avatar von Fabian Frank
    Fabian Frank Fabian Frank ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Beiträge
    288
    hm ok. Danke erstmal. Daweil gehts auch, indem man runterscrollt.

    Aber es gibt ein weiteres Problem. Und zwar möcht ich eine Tabelle in der MySQL-Datenbank ausgeben.

    Dazu habe ich folgenden Code:

    PHP-Code:
    <?
       $server 
    "localhost";
       
    $user "****";
       
    $pass "****";
       
    $datenbank "****";

       
    $verbindung mysql_connect($server,$user,$pass) or die ("Keine Verbindung möglich.");
       
    mysql_select_db($datenbank) or die ("Die Datenbank existiert nicht.");

    $details mysql_query("SELECT ID, Tag, Termin, Wachleiter, Wachgaenger FROM Wachplan WHERE ID = 1");
    $d mysql_fetch_array($details); 
    echo 
    $d['Count']; 
    ?>
    In der DB sind folgende Spalten: ID, Tag, Termin, Wachleiter und Wachgaenger

    Jedoch wenn ich es ausführe, kommt keine Fehlermeldung, aber es wird auch nichts angezeigt

    THX 4 Help
     

  14. #14
    -GS-Master -GS-Master ist offline Mitglied Platin
    Registriert seit
    Sep 2005
    Beiträge
    705
    Naja -.- dann wars halt etwas anders -.- aber einen Unterschied gibt es mit Optionalen Variablen ...

    So öffnest du die Datei um etwas anzuhängen (a = append):
    PHP-Code:
    PHP-Code:
    $fp fopen("datei.txt","a");
    oder
    $fp 
    fopen("datei.txt","a+");// Datei erstellen wenn nicht vorhanden 
    Das stimmt nun aber -.-
     

  15. #15
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Zitat Zitat von -GS-Master Beitrag anzeigen
    Naja -.- dann wars halt etwas anders -.- aber einen Unterschied gibt es mit Optionalen Variablen ...



    Das stimmt nun aber -.-
    Jein

    Es stimmt, dass bei a+ versucht wird die Datei zu erstellen. Dies ist aber genauso der Fall bei "a", "w", "w+", "x" und "x+".

    Und zu Fabian:

    Versuch es mal so:

    PHP-Code:
    <?
       $server 
    "localhost";
       
    $user "****";
       
    $pass "****";
       
    $datenbank "****";

       
    $verbindung mysql_connect($server,$user,$pass) or die ("Keine Verbindung möglich.");
       
    mysql_select_db($datenbank) or die ("Die Datenbank existiert nicht.");

    $details mysql_query("SELECT ID, Tag, Termin, Wachleiter, Wachgaenger FROM Wachplan WHERE ID = 1") or die(mysql_error());
    $d mysql_fetch_array($details); 
    echo 
    $d['Count']; 
    ?>
    Dann kriegen wir vielleicht eine Fehlermeldung, mit der wir weiterarbeiten können.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

Ähnliche Themen

  1. Eintrag zu Auswahlliste hinzufügen
    Von Sven4972 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 13.09.08, 21:45
  2. Eintrag in DB ersetzen
    Von Sasser im Forum PHP
    Antworten: 5
    Letzter Beitrag: 16.07.08, 21:21
  3. Autoplay - Eintrag hinzufügen
    Von Aiwonnie im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 14.07.08, 17:59
  4. Listbox-Eintrag hinzufügen
    Von rat-cop im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 23.05.06, 08:24
  5. textbausteine hinzufügen / ersetzen
    Von südpol im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 1
    Letzter Beitrag: 15.02.05, 10:40