Ankündigung

Einklappen
Keine Ankündigung bisher.

Felehrhafter Code - Hilfe!

Einklappen

Neue Werbung 2019

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

  • Felehrhafter Code - Hilfe!

    Also ich bin "neu" in diesem ganzen php buisiness... man könnte sagen ich bin ein noob. Nun zerbreche ich mir schon seit längerem meinen Kopf an dieser pipifaxen Studienarbeit, könnte mir jemand Helfen? Ich glaube was hier erreicht werden soll ist klar; es soll ein simples Affenformular erstellt werden, in Form eines Forums.. Nun wenn ich dies auf meinem Server teste, passiert folgendes:
    Der Code:
    PHP-Code:
    str_replace(array("\n""\r"),'',$_REQUEST['text']); 
    wird einfach nicht funktionieren. Dazu kommt, dass der Betreff, Text und Autor irgendwie falsch aus der externen .txt Datei abgelesen werden..
    Hiiilfee!
    PHP-Code:
    <?php
    $beitraege 
    = array();
    beitrag_schreiben();
    beitraege_einlesen();
    function 
    beitraege_anhaengen($beitraege

       
    $datei=fopen("beitraege.txt","a"); 
       
    $text_ohne_nl str_replace(array("\n""\r"),'',$_REQUEST['text']);

           if (!
    $datei
          { 
                print 
    "Kann Datei nicht erstellen!"
          } 
          if (!empty(
    $_REQUEST['text'])) 
          { 
               
    fputs ($datei,$_REQUEST['text']); 
          } 
          else 
          { 
               
    fputs ($datei,"ohne Text"); 
          } 
       } 
    }  
    function 
    beitrag_schreiben($datei "beitraege.txt"
    {     
       
    $dh fopen($datei"a"); 
           if (!
    $dh
           { 
                print 
    "Kann Datei nicht erstellen!\n"
           } 
           if (!empty(
    $_REQUEST['betreff'])) 
           { 
                
    fputs ($dh,$_REQUEST['betreff']."\n"); 
           } 
           else 
           { 
                
    fputs($dh,"kein betreff\n"); 
           } 
           { 
                 if (!empty(
    $_REQUEST['text'])) 
                { 
                       
    fputs ($dh,$_REQUEST['text']."\n"); 
                } 
                else 
                { 
                       
    fputs($dh,"kein Text\n"); 
                }    
                             if (!empty(
    $_REQUEST['autor'])) 
                             { 
                                     
    fputs ($dh$_REQUEST['autor']."\n"); 
                             } 
                             else 
                             { 
                                     
    fputs ($dh"unbekannt\n"); 
                             } 
                                     
    fclose ($dh); 
                             } 
             } 
    function 
    beitraege_einlesen($datei "beitraege.txt"

       global 
    $beitraege
       
    $dh fopen($datei"r"); 
              
         if(!
    $dh
         { 
             print 
    "Kann Datei \"$datei\" nicht &ouml;ffnen!\n"
         } 
         else 
         {  
             for (
    $i 0; !feof($dh);$i++) 
         { 
             
    $zeile fgets($dh); 
                     if (
    $zeile != "")      
                     { 
                            
    $beitraege[$i]['betreff'] = $zeile
                            
    $beitraege[$i]['text'] = $zeile
                            
    $beitraege[$i]['autor'] = $zeile;  
                     } 
              } 
         
    fclose($dh); 
      } 
    }  
    function 
    beitrag_ausgeben($beitrag

        print 
    "betreff: ".$beitrag['betreff']."\n"
        print 
    "<br>";     
         
        print 
    "Eintrag: ".$beitrag['text']."\n"
        print 
    "<br>"
        print 
    "Autor: ".$beitrag['autor']."\n"

    function 
    formular_ausgeben()
    {
    ?>
            <form method="POST" action="<?php print $_SERVER['PHP_SELF'?>">
            <b><p><strong>betreff</strong>: </b><input type="text" name="betreff">
            </p>
            <b>Text: </b><textarea name="text" cols="50" rows="10">
            <?php echo $_POST['text'];?></textarea>
            <br />
            <b>Autor: </b><input type="text" name="autor">
            <br /> 
            <input type="submit" value="absenden">
            </form>
    <?php
    }
    ?>

  • #2
    Erste Baustelle: http://de.wikipedia.org/wiki/EVA-Prinzip

    Zweite Baustelle: Functions sollten Logisch angelegt werden. Funktionen erzeugen einen Scope. Das schlüsselwort global oder eine Superglobale ist der Falsche weg etwas in eine Function hineinzubekommen.
    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

    Kommentar


    • #3
      Dies ist was mir gegeben wurde.
      Momentan brauche ich keine Tipps wie ich den Code vereinfachen kann usw.
      Ich bräuchte nur Hilfe von jemanden, um das Script zum Laufen zu bringen.

      Kommentar


      • #4
        Naja vereinfachen ist das weniger, eher ein in die richtige Bahn bringen. Es ist nichts damit gewonnen etwas schlecht entwickeltes zu reparieren. Grundsätzlich ist dieses Forum dafür da Hilfe zu Selbst-Hilfe zu geben. Wir bieten allerdings auch die Möglichkeit der "Auftragsarbeiten im Rahmen des Schmalen Talers".
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar


        • #5
          Hat denn niemand eine Ahnung? :/

          Kommentar


          • #6
            Bitte?

            Kommentar


            • #7
              Zitat von iProFIFA Beitrag anzeigen
              Hat denn niemand eine Ahnung? :/
              Ich kann dir versichern, tr0y weiss wovon er spricht.

              Kommentar


              • #8
                Ich habe auch seine Fähigkeiten nicht in Frage gestellt, nur es ist so;
                mir wurde ein Code vom Studium gegeben, und in diesen soll ich


                PHP-Code:
                $text_ohne_nl str_replace("\n","",$_REQUEST['text']); 
                und

                PHP-Code:
                $text_ohne_nl trim($_REQUEST['text']); 
                einfügen. Es war nie die rede vom 'verbessern' des Codes, dies geht ohne Zweifel einfacher, aber ich bin halt ein Anfänger..

                Am Ende versuche ich nur herauszufinden, wo ich diese zwei Zeilen einbauen soll.

                Achja, übrigens, der Code den ich da oben gepostet habe war nur das Produkt von mir am Experimentieren, so sieht der eigentliche Code aus:

                PHP-Code:
                <?php
                $beitraege 
                = array();
                beitrag_schreiben();
                beitraege_einlesen();

                function 
                beitrag_schreiben($datei "beitraege.txt")
                {
                  if (!empty(
                $_REQUEST['text']))
                  {
                    
                $dh fopen($datei"a");
                    if (!
                $dh)
                    {
                      print 
                "Kann Datei nicht erstellen!\n";
                    }
                    else
                    {
                      
                fputs($dh$_REQUEST['text']."\n");
                      if (!empty(
                $_REQUEST['autor']))
                      {
                        
                fputs ($dh$_REQUEST['autor']."\n");
                      }
                      else
                      {
                        
                fputs ($dh"unbekannt\n");
                      }
                      
                fclose ($dh);
                    }
                  }
                }

                function 
                beitraege_einlesen($datei "beitraege.txt")
                {
                  global 
                $beitraege;

                  
                $dh fopen($datei"r");
                  if(!
                $dh)
                  {
                    print 
                "Kann Datei \"$datei\" nicht &ouml;ffnen!\n";
                  }
                  else
                  {
                    for (
                $i 0; !feof($dh); $i++)
                    {
                      
                $zeile fgets($dh);
                      if (
                $zeile != "")
                      {
                        
                $beitraege[$i]['text'] = $zeile;
                        
                $beitraege[$i]['autor'] = fgets($dh);
                      }
                    }
                    
                fclose($dh);
                  }
                }

                function 
                beitrag_ausgeben($beitrag)
                {
                    print 
                "Eintrag: ".$beitrag['text']."\n";
                    print 
                "<br>";
                    print 
                "Autor: ".$beitrag['autor']."\n";
                }

                function 
                formular_ausgeben()
                {
                ?>
                      <form method="POST" action="<?php print $_SERVER['PHP_SELF'?>"> 
                        <b><p><strong>Betreff</strong>: </b><input type="text" name="Betreff"> 
                        </p> 
                        <b>Text: </b><textarea name="text" cols="50" rows="10"><?php echo $_POST['text'];?></textarea> 
                        <br /> 
                        <b>Autor: </b><input type="text" name="autor"> 
                        <br />  
                       <input type="submit" value="absenden"> 
                      </form>
                <?php
                }
                ?>
                Leider bin ich sozusagen ein "newbie" und weiss nicht wo, und nicht zu 150% wie ich dies lösen soll. Darum bitte ich um Rat.
                Kann mir jemand hierbei bitte weiterhelfen?

                Kommentar


                • #9
                  Hat sich erledigt.

                  Kommentar


                  • #10
                    Ej Mann ej, da lese ich mir den ganzen Krampf bis zum Ende durch und dann heißt es am Schluß
                    Hat sich erledigt.
                    [B]Es ist schon alles gesagt. Nur noch nicht von allen.[/B]

                    Kommentar


                    • #11
                      Ej Mann ej, da lese ich mir den ganzen Krampf bis zum Ende durch
                      Wer macht denn auch sowas?!
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar

                      Lädt...
                      X