Seite 1 von 10 12345678 ... LetzteLetzte
Ergebnis 1 bis 10 von 97

Thema: Kommentarfunktion tut nicht ganz richtig

  1. #1
    Unregistriert
    Gast

    Standard Kommentarfunktion tut nicht ganz richtig

    Ich zeug euch erstmal das script:

    Code:
        <?php
            // Datei anlegen
            $dateiname = "kommentare.txt";
    
            // Kommentare an datei anhängen
            $dateiverweis = fopen($dateiname,"a");
    
            // wenn formular gesendet wird...
            if(isset($_POST['senden']))
            {
                //weise Inhalte Variablen zu
                $name = addslashes(htmlentities(strip_tags(trim($_POST['name']))));
                $kommentar = addslashes(htmlentities(strip_tags(trim($_POST['kommentar']))));
    
                if(isset($name) && isset($kommentar))
                {
                    // wenn ja weise die ausgabe $kommentar zu
                    $kommentar = '<p class="kommentar_name">Eingetragen von: <span>' .$_POST['name']. '</span></p><p class="kommentar_text">' .$_POST['kommentar'].'</p>';
                    // kommentar wird in datei geschrieben
                    fwrite($dateiverweis, $kommentar);
                }
            }
            // kommentar wird aus datei gelesen
            $dateiverweis = fopen($dateiname,"r");
            // Kommentare ausgeben
            $kommentare_ausgeben = fpassthru($dateiverweis);
            // Dateiverweis schliessen
            fclose($dateiverweis);
        ?>
        <form action="<?php $_SERVER['SCRIPT_NAME']; ?>" method="post">
            <p>Name:*<br /><input type="text" name="name" /></p>
            <p>Eintrag:*<br/><textarea name="kommentar" rows="2" cols="47"></textarea></p>
            <p><input type="submit" value="Eintrag &ouml;ffentlich machen" name="senden" /></p>
            <p class="hinweis">* Felder m&uuml;ssen ausgef&uuml;llt werden</p>
        </form>
    Immer wenn ich senden drücke dann schickt er trotzdem ein eintrag raus, soll er natürlich nicht. und wenn ihr sonstige verbesserungen entdeckt lasst es mich wissen^^

    schönen feiertag abend noch, ich mag diese ruhigen tage irgendwie nicht so..
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Unregistriert
    Gast

    Standard AW: Kommentarfunktion tut nicht ganz richtig

    Diesen Fehler kann man leicht finden mit


    Richtig debuggen

    Man bemerkt, dass ein Skript nicht das tut, was es soll.
    Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  3. #3
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Kommentarfunktion tut nicht ganz richtig

    Dein Problem liegt darin, dass du immer $name und $kommentar erstellst und dann abfragst, ob es existiert - tut es natürlich immer.

    Diese Zeile ist der Übeltäter:

    PHP-Code:
    if(isset($name) && isset($kommentar)) 
    Mach lieber das hier:

    PHP-Code:
            if(isset($_POST['senden'], $_POST['name'], $_POST['kommentar']))
            {
                
    //weise Inhalte Variablen zu
                
    $name addslashes(htmlentities(strip_tags(trim($_POST['name']))));
                
    $kommentar addslashes(htmlentities(strip_tags(trim($_POST['kommentar']))));

                if(empty(
    $name) && empty($kommentar))
                {
                    
    // wenn ja weise die ausgabe $kommentar zu
                    
    $kommentar '<p class="kommentar_name">Eingetragen von: <span>' .$_POST['name']. '</span></p><p class="kommentar_text">' .$_POST['kommentar'].'</p>';
                    
    // kommentar wird in datei geschrieben
                    
    fwrite($dateiverweis$kommentar);
                }
            } 
    Something big is coming. And there will be pirates and ninjas and unicorns...

  4. #4
    Unregistriert
    Gast

    Standard AW: Kommentarfunktion tut nicht ganz richtig

    Dodo, die Zeile
    PHP-Code:
    if(isset($_POST['senden'], $_POST['name'], $_POST['kommentar'])) 
    wird die Sache nicht besser machen, denn $_POST['name'] und $_POST['kommentar'] sind auch gesetzt, wenn sie leer sind.

  5. #5
    Unregistriert
    Gast

    Standard AW: Kommentarfunktion tut nicht ganz richtig

    HEy danke so schnelle hilfe. spitzzzzzze!

    So funktionierts dann jetzt auch, vielen Dank

    PHP-Code:
    <?php
            
    // Datei anlegen
            
    $dateiname "kommentare.txt";

            
    // Kommentare an datei anhängen
            
    $dateiverweis fopen($dateiname,"a");


            if(isset(
    $_POST['senden'], $_POST['name'], $_POST['kommentar']))
            {
                
    //weise Inhalte Variablen zu
                
    $name addslashes(htmlentities(strip_tags(trim($_POST['name']))));
                
    $kommentar addslashes(htmlentities(strip_tags(trim($_POST['kommentar']))));

                if(!empty(
    $name) && !empty($kommentar))
                {
                    
    // wenn ja weise die ausgabe $kommentar zu
                    
    $kommentar '<p class="kommentar_name">Eingetragen von: <span>' .$_POST['name']. '</span></p><p class="kommentar_text">' .$_POST['kommentar'].'</p>';
                    
    // kommentar wird in datei geschrieben
                    
    fwrite($dateiverweis$kommentar);
                }
            }
            
    // kommentar wird aus datei gelesen
            
    $dateiverweis fopen($dateiname,"r");
            
    // Kommentare ausgeben
            
    $kommentare_ausgeben fpassthru($dateiverweis);
            
    // Dateiverweis schliessen
            
    fclose($dateiverweis);
        
    ?>
        <form action="<?php $_SERVER['SCRIPT_NAME']; ?>" method="post">
            <p>Name:*<br /><input type="text" name="name" /></p>
            <p>Eintrag:*<br/><textarea name="kommentar" rows="2" cols="47"></textarea></p>
            <p><input type="submit" value="Eintrag &ouml;ffentlich machen" name="senden" /></p>
            <p class="hinweis">* Felder m&uuml;ssen ausgef&uuml;llt werden</p>
        </form>

  6. #6
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Kommentarfunktion tut nicht ganz richtig

    Zitat Zitat von Unregistriert Beitrag anzeigen
    Dodo, die Zeile
    PHP-Code:
    if(isset($_POST['senden'], $_POST['name'], $_POST['kommentar'])) 
    wird die Sache nicht besser machen, denn $_POST['name'] und $_POST['kommentar'] sind auch gesetzt, wenn sie leer sind.
    Lieber Gast, bitte bemerke, dass es noch mehr Änderungen gab.
    Ich habe das alte isset zu einem empty gemacht.

    Böse Zungen würden ja jetzt sagen "Wer lesen kann, ist klar im Vorteil"
    Something big is coming. And there will be pirates and ninjas and unicorns...

  7. #7
    Unregistriert
    Gast

    Standard AW: Kommentarfunktion tut nicht ganz richtig

    Und das kann man mit einer Zeile erschlagen:
    PHP-Code:
    if(!empty ($_POST['name']) && !empty($_POST['kommentar'])) 
    Böse Zungen würden ja jetzt sagen "Erst denken, dann schreiben"

  8. #8
    Unregistriert
    Gast

    Standard AW: Kommentarfunktion tut nicht ganz richtig

    Ich bin der unregistrierte der diesen Beitrag erstellt hat, soviel mal dazu.

    Hey Leude könnt ihr mir zeigen wie man die einträge automatisiert, sagen wir mal alle 3sec automatisch?

  9. #9
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Kommentarfunktion tut nicht ganz richtig

    Meinst du, alle 3 Sekunden automatisch einen Eintrag? O.o
    Something big is coming. And there will be pirates and ninjas and unicorns...

  10. #10
    Meister(in) Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: Kommentarfunktion tut nicht ganz richtig

    Zitat Zitat von Dodo Beitrag anzeigen
    Dein Problem liegt darin, dass du immer $name und $kommentar erstellst und dann abfragst, ob es existiert - tut es natürlich immer.

    Diese Zeile ist der Übeltäter:

    PHP-Code:
    if(isset($name) && isset($kommentar)) 
    Mach lieber das hier:

    PHP-Code:
            if(isset($_POST['senden'], $_POST['name'], $_POST['kommentar']))
            {
                
    //weise Inhalte Variablen zu
                
    $name addslashes(htmlentities(strip_tags(trim($_POST['name']))));
                
    $kommentar addslashes(htmlentities(strip_tags(trim($_POST['kommentar']))));

                if(empty(
    $name) && empty($kommentar))
                {
                    
    // wenn ja weise die ausgabe $kommentar zu
                    
    $kommentar '<p class="kommentar_name">Eingetragen von: <span>' .$_POST['name']. '</span></p><p class="kommentar_text">' .$_POST['kommentar'].'</p>';
                    
    // kommentar wird in datei geschrieben
                    
    fwrite($dateiverweis$kommentar);
                }
            } 
    Ich hab das Ganze jetzt nur mal so überflogen, aber macht diese Zeile hier Sinn?

    PHP-Code:
    if(empty($name) && empty($kommentar)) 
    Weil diese Abfrage würde nur eine Eintragung zulassen, wenn beide Variablen leer sind.

    Sollte es nicht eher heißen:

    PHP-Code:
    if(!empty($name) && !empty($kommentar)) 
    (Das ist mir jetzt nur so ins Auge gestochen )
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

Ähnliche Themen

  1. Bildergalerie mit Kommentarfunktion ausstatten
    Von TanjaP. im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 10.02.2010, 16:05
  2. Antworten: 6
    Letzter Beitrag: 12.09.2009, 21:02
  3. Kommentarfunktion in php
    Von Sunrise im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 27.04.2009, 21:39
  4. Kommentarfunktion
    Von Jens im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 12.02.2006, 22:20
  5. Ganz oder gar nicht
    Von umbenannt im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 03.07.2004, 20:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •