Gästebuch / Forumscript geht net :(

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gästebuch / Forumscript geht net :(

    Hallo an Euch , bin hier grad am verzweifeln ...

    a.)In folgendem Script sollen die Newlines gelöscht werden , mit Hilfe der Funktion $text_ohne_nl = str_replace ("\n", "", $text_mit_nl);
    Es sind momentan also Zeilenumbrüche mit in der Ausgabe, sodaß wenn einer nen mehrzeiligen Beitrag schreibt, sich alles verschiebt
    Es sollte aus dem einzeilgem Textfeld ein mehrzeiliges gemacht werden ...puh, dass hab ich tatsächlich hinbekommen ;O)
    b.)Weiterhin soll ein weiteres Eingabefeld (BETREFF) erscheinen ( bekomm ich scho hin, aber der Inhalt wird nicht übermittelt
    c.)Das Betrefffeld soll fett ausgegeben werden ??? <b> </b> is klar, aber wo ? Und es soll, wenn niemand ein Betreff eingibt : "kein Betrff" ausgegebenwerden und gespeichert werden im Beitraege.txt.

    Nachstehend das Funktionscript von mir geändert (soweit richtig?, die Originalen anbei als Zip):
    <?php
    function beitrag_ausgeben ($beitrag) {
    print $beitrag ["betreff"];
    print $beitrag ["text"];
    print "<br>Autor: ";
    print $beitrag ["autor"];
    print "<hr>";
    }

    function beitrag_hinzufuegen () {
    global $text, $autor;
    $texte = file ("beitraege.txt");
    $neuer_text = $text;
    $letzter_textindex = count ($texte)-2;
    if (trim($texte[$letzter_textindex]) !=$neuer_text) {
    $datei = fopen ("beitraege.txt", "a");
    fputs ($datei, "$betreff");
    fputs ($datei, "\n$neuer_text\n");
    fputs ($datei, "$autor");
    fclose ($datei);
    }
    }
    function formular_anzeigen () {
    ?>
    <form action="forum.php" method="POST">
    <p>Betreff:
    <input name="Betreff" type="<b>text</br>" size=20></p>
    <p>Text:
    <textarea name="text" cols="50" rows="10"></textarea></p>
    <br>
    Autor:
    <input type="text" size=20 name="autor">
    </p>
    <p><input type="submit" value="Abschicken"
    </form>
    <?php
    }
    ?>

    Hier noch die Beitraege.php (lediglich die Betreffzeile wurde hier von mir eingefügt; richtig ?):

    <?php
    $datei = fopen ("beitraege.txt", "r");
    $i = 0;
    while (!feof($datei)) {
    $beitrag[$i]["betreff"] = fgets ($datei, 1024);
    $beitrag[$i]["text"] = fgets ($datei, 1024);
    $beitrag[$i]["autor"] =fgets ($datei, 1024);
    $i++;
    }
    fclose ($datei);
    ?>



    HIIIIIIIIIIIIIILFE ....kann mir jemand weiterhelfen ?
    Liebe Grüße und für heute GUTE NACHT !
    Angehängte Dateien
    Zuletzt geändert von levignion; 21.10.2006, 22:58.

  • #2
    also was du unter a) meinst musst du mir nochmal erklären. ich weiß nicht ganz was du meinst.

    aber in dem betreffeingabe feld sind gleich zwei fehler:

    b) wenn du einen wert in einem eingabefeld vordefinieren willst, dann musst du das value-attribut benutzen. das type-attribut ist dafür die art des eingabefeldes festzulegen, und das ist in diesem fall "text"

    c) die einzigste art und weise den inhalt eines eingabefeldes fett zu setzen ist mit css.

    hier der richtige tag: <input type="text" name="Betreff" value="Betreff" style="font-weight: bold;">

    noch ein tipp: die groß- und kleinschreibung bei der benennung der variablen ist nicht egal

    Kommentar


    • #3
      erst lesen, danke!
      http://www.php-resource.de/forum/sho...threadid=50454

      Kommentar


      • #4
        Wow, vielen Dank an Dich R4fT4m4N ...

        ... des allein hat mir scho sehr weitergeholfen.

        Mit a) meine ich:
        Wenn der Benutzer nen Text im Textfeld eingibt und die Entertaste drückt, dann verrutscht die Ausgabe des Textes in die Autorzeile.

        Und man sagte uns, das die sogenannten Newlines \n gelöscht werden müssen, eben mit der genannten Funktion $text_ohne_nl = str_replace ("\n", "", $text_mit_nl); .

        Na ich versuch mein Glück nochmal ....

        ALso, nochmals vielen Dank für die Hilfe ...

        P.S. Der Tip war gut , aber ich glaube ich hab mcih drangehalten odeeeeer ?

        Gruß Levignion

        Kommentar


        • #5
          PHP-Code:
          <?php
               
          function beitrag_ausgeben ($beitrag)  {
                           print 
          "<br>Betreff: ";
                   print 
          $beitrag ["betreff"];
                        print 
          $beitrag ["text"];
                        print 
          "<br>Autor: ";
                        print 
          $beitrag ["autor"];
                        print 
          "<hr>";
               }

               function 
          beitrag_hinzufuegen () {
                        global 
          $betreff$text$autor;
                        
          $text_ohne_nl str_replace ("\n"""$text_mit_nl);
                        
          $texte file ("beitraege.txt");
                        
          $neuer_text $text;
                        
          $letzter_textindex count ($texte)-2;
                        if (
          trim($texte[$letzter_textindex]) !=$neuer_text) {
                           
          $datei fopen ("beitraege.txt""a");
                           
          fputs ($datei"$betreff");
                           
          fputs ($datei"\n$neuer_text\n");
                           
          fputs ($datei"$autor");
                           
          fclose ($datei);
                           }
                        }
                        function 
          formular_anzeigen () {
                                 
          ?>
                                 
                                 <form action="forum.php" method="POST">
                                                       <p>
                                     Betreff:
                                       <input type="text" name="betreff" value="kein betreff" style="font-weight: bold;">
          </p>
                                                       <p>Text:
                                       <textarea name="text" cols="50" rows="10"></textarea>
                                       <br>
                                       Autor:
                                       <input type="text" size=20 name="autor">
                                   </p>
                                                       <p><input type="submit" value="Abschicken">
          </form>
                                 <?php
                        
          }
               
          ?>
          bekomme die newlines nicht raus .... HILF MIR BITTE MAL EINER

          Kommentar


          • #6
            woher kommt $text_mit_nl?
            du bastelst dir $text_ohne_nl und schreibst trotzdem $text in die datei? sinnfrei.

            übrigens, solltest du "\r" u.u. auch rausnehmen.

            Kommentar


            • #7
              Danke fuer Deine Info.

              Ich sollte dazuschreiben, dass die von mir genannte Funtkion nur ein Beispiel des Tutors is. Mit der Funktion str_replace sollen wir das erledigen.
              Nur wie ?????

              Hier mal die momentane Ausgabe, damit ists vieleicht verständlicher, was getan werden soll:

              Betreff: Computer sind doof Bill Gates
              Autor: Ufos existieren
              --------------------------------------------------------------------------------

              Betreff: Fox Mulder Linux ist besser als Windows
              Autor: Linus Torvalds[COLOR=limegreen]kein betreff [/COLOR]
              --------------------------------------------------------------------------------

              Betreff: [COLOR=limegreen]dgagfadg fdgagadg[/COLOR]
              Autor:

              kein Betreff > steht hinter Autor vom letzten Beitrag
              dgagfadg > in der Betreffzeile obwohls der Text ist
              und fdgagadg > steht ebenfalls in der betreffzeile obwohls der autor sein soll


              Vor lauter PHP kann ich mcih scho gornimmer richtig ausdruecken ....

              \r ???

              Die Dateien im Anhang sind die von der Schule und in meinem Beitrag ist meine abgeänderte. Zur Info vieleicht.

              Gruß Nadine
              Zuletzt geändert von levignion; 23.10.2006, 14:28.

              Kommentar


              • #8
                Hi,

                lies mal hier nach.

                LG

                Kommentar


                • #9
                  Danke fuer die Info, klingt gut das da steht, aber hilft mir nicht wirklich weiter .....
                  WO binde ich denn diese Funktion ein ? Bei Beitrag_binzufuegen ????
                  Hab ich versucht, aber hilft nichts. :O(

                  Kann mri bitte einer genau die passende Funktion nennen und den EInbindungsort bei den 3 hier angehaengten Datein ?

                  Ich dreh gleich durch mit dem Mist. "Alleskönner" und NICHT blond ;O) müsste man sein ....

                  Dankeeeeeeeeee

                  Kommentar


                  • #10
                    PHP-Code:
                    <?php
                         
                    function beitrag_ausgeben ($beitrag)  {
                                     print 
                    "<br>Betreff: ";
                             print 
                    $beitrag ["betreff"];
                                  print 
                    $beitrag ["text"];
                                  print 
                    "<br>Autor: ";
                                  print 
                    $beitrag ["autor"];
                                  print 
                    "<hr>";
                         }

                         function 
                    beitrag_hinzufuegen () {
                                  global 
                    $betreff$text$autor;
                                  
                    $text str_replace ("\n"""$text);
                                  
                    $texte file ("beitraege.txt");
                                  
                    $neuer_text $text;
                                  
                    $letzter_textindex count ($texte)-2;
                                  if (
                    trim($texte[$letzter_textindex]) !=$neuer_text) {
                                     
                    $datei fopen ("beitraege.txt""a");
                                     
                    fputs ($datei"$betreff");
                                     
                    fputs ($datei"\n$neuer_text\n");
                                     
                    fputs ($datei"$autor");
                                     
                    fclose ($datei);
                                     }
                                  }
                                  function 
                    formular_anzeigen () {
                                           
                    ?>
                                           
                                           <form action="forum.php" method="POST">
                                                                 <p>
                                               Betreff:
                                                 <input type="text" name="betreff" value="kein betreff" style="font-weight: bold;">
                    </p>
                                                                 <p>Text:
                                                 <textarea name="text" cols="50" rows="10"></textarea>
                                                 <br>
                                                 Autor:
                                                 <input type="text" size=20 name="autor">
                                             </p>
                                                                 <p><input type="submit" value="Abschicken">
                    </form>
                                           <?php
                                  
                    }
                         
                    ?>
                    Hbas mal so versucht, aber tut sich nichts ....

                    Kommentar


                    • #11
                      fang mal ganz von anfang an: http://tut.php-q.net/
                      arbeite dich durch die menüpunkte von oben nach unten durch, insbesondere die "formularverarbeitung" und "funktionen" sind von interesse.

                      Kommentar


                      • #12
                        Na ja, zumindest schreibst du jetzt schon mal den veränderten Text in die Datei. Aber wenn Ihr z.B.
                        an Windows-Rechnern sitzt, bringt es Dir nichts, nur "\n" zu ersetzen. Du hast meinen Link noch
                        nicht berücksichtigt. Was genau hast Du daran nicht verstanden?

                        LG

                        Kommentar


                        • #13
                          PHP-Code:
                          <?php
                               
                          function beitrag_ausgeben ($beitrag)  {
                                           print 
                          "<br>Betreff: ";
                                   print 
                          $beitrag ["betreff"];
                                   print 
                          "<br/>";
                                        print 
                          $beitrag ["text"];
                                        print 
                          "<br>Autor: ";
                                        print 
                          $beitrag ["autor"];
                                        print 
                          "<hr>";
                               }

                               function 
                          beitrag_hinzufuegen () {
                                        global 
                          $betreff$text$autor;
                                        
                          $text str_replace ("\n"""$text);
                                        
                          $texte file ("beitraege.txt");
                                        
                          $neuer_text $text;
                                        
                          $letzter_textindex count ($texte)-2;
                                        if (
                          trim($texte[$letzter_textindex]) !=$neuer_text) {
                                           
                          $datei fopen ("beitraege.txt""a");
                                           
                          fputs ($datei"$betreff");
                                           
                          fputs ($datei"\n$neuer_text\n");
                                           
                          fputs ($datei"$autor\n");
                                           
                          fclose ($datei);
                                           }
                                        }
                                        function 
                          formular_anzeigen () {
                                                 
                          ?>
                                                 
                                                 <form action="forum.php" method="POST">
                                                                       <p>
                                                     Betreff:
                                                       <input type="text" name="betreff" value="kein betreff" style="font-weight: bold;">
                          </p>
                                                                       <p>Text:
                                                       <textarea name="text" cols="50" rows="10"></textarea>
                                                       <br>
                                                       Autor:
                                                       <input type="text" size=20 name="autor">
                                                   </p>
                                                                       <p><input type="submit" value="Abschicken">
                          </form>
                                                 <?php
                                        
                          }
                               
                          ?>

                          des rätsels lösung ;O)
                          wobei der betreff noch immer nicht dick ausgegeben wird, sondern nur der anfangswert "kein Betreff" dick is ...
                          aber des bekomm ich auch noch hinne ...

                          danke fuer die rege beteiligung !!!!!

                          Cooles Forum hier ...

                          Kommentar

                          Lädt...
                          X