wo ist der fehler?

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

  • wo ist der fehler?

    ich hab hier quasi versucht ein gäbu zu proggen. simpel, soll ja noch designed werden.

    problem, wenn man auf eintragen klickt, da kommt dann der eintrageformular. Dort kam nicht mal das echo "vielen dank" wenn man den button $eintrag drückt.
    hier mal der Script:
    <?
    //Wenn auf Eintrag gedrückt wurde
    if($button)
    {
    //Wenn auf eintrag gedrückt wurde
    if ($eintrag)
    {
    //das aktuelle Datum ermitteln
    $datum = date('d.m.y');
    //text im htmltext ändern (zeilenumbrüche)
    $kommentar = str_replace("\r\n","<br>",$text);

    //Setze einen neuen Beitrag zusammen
    $fp = fopen('gbu.txt','r');
    $input .= "$name + $email + $datum + $hp\n";

    //alte Einträge auslesen
    while(!feof($fp))
    {
    $input .=fgets($fp,800);
    }
    fclose($fp);

    //Hier wird der Inhalt der Datei geschrieben
    $fp = fopen('gbu.txt','w+');
    fputs($fp,$input, strlen($input));
    fclose($fp);

    //Bestätigung
    echo "Vielen Dank";
    }
    else
    {
    //Formular zum ausfüllen des gästebuches
    echo '<form name="einträge" action="'.$PHP_SELF.'" method="post">
    <table border="1">
    <tr>
    <td>Name</td><td><input type="text" name="name"</td></tr>
    <tr>
    <td>email</td><td><input type="text" name="email"</td></tr>
    <tr>
    <td>homepage</td><td><input type="text" name="hp"</td></tr>
    <tr>
    <td>Kommentar</td><td><textarea name="kommentar"></textarea>
    </td></tr>
    <tr>
    <td><input type="submit" name="eintrag" value="eintrag"></td></tr></table>';
    }
    }
    //Anfang, falls noch nix gedrückt wurde
    else
    {
    $fp = fopen('gbu.txt','r');
    echo '<form name="einträge" action="'.$PHP_SELF.'" method="post">
    <center><input type="submit" name="button" value="eintragen"></center>
    </form>';

    while(!feof($fp))
    {
    $zeile = fgets($fp,500);
    $daten = explode(" + ", $zeile);
    $name = $daten[0];
    $email = $daten[1];
    $datum = $daten[2];
    $hp = $daten[3];
    $kommentar = $daten[4];
    //Gib die Einträge sortiert aus
    echo '<table border="1">
    <tr>
    <td>'.$name.'</td><td>vom:'.$datum.'</td></tr>
    <tr>
    <td>'.$email.'</td><td>'.$kommentar.'</td></tr>
    <tr>
    <td>'.$hp.'</td></table>';
    }
    fclose($fp);
    }
    ?>


    oder kann es an der action vom Formular liegen? wie wäre die lösung?
    hoffentlich kann mir einer helfen
    || ||| |http://www.flash.codeworx.org|| | |||

  • #2
    Du machst die Forms auf, aber nicht zu (</form>). Außerdem solltest du Sonderzeichen maskieren:

    echo '<form name="eintr&auml;ge" action="'.$PHP_SELF.'" method="post">

    CAT Music Files

    Kommentar


    • #3
      ok, jetzt hab ich es so
      Code:
      <?
      //--------------------
      //Mein Gäbu
      //written by Ronny Klinger
      //-------------------
      
      //Wenn auf button gedrückt wurde
      if($button)
      {
      	//Wenn auf eintrag gedrückt wurde
      	if ($eintrag)
      	{
      		//das aktuelle Datum ermitteln
      		$datum = date('d.m.y');
      		//text im htmltext ändern (zeilenumbrüche)
      		$kommentar = str_replace("\r\n","<br>",$text);
      		
      		//Setze einen neuen Beitrag zusammen
      		$fp = fopen('gbu.txt','r');
      		$input .= "$name + $email + $datum + $hp\n";
      		
      		//alte Einträge auslesen
      		while(!feof($fp))
      		{
      			$input .=fgets($fp,800);
      		}
      		fclose($fp);
      		
      		//Hier wird der Inhalt der Datei geschrieben
      		$fp = fopen('gbu.txt','w+');
      		fputs($fp,$input, strlen($input));
      		fclose($fp);
      
      		//Bestätigung
      		echo "Vielen Dank";	
      	}
      	else
      	{
      	//Formular zum ausfüllen des gästebuches
      	echo '<form name="eintraege" action="'.$PHP_SELF.'" method="post">
      	<table border="1">
      	<tr>
      	<td>Name</td><td><input type="text" name="name"</td></tr>
      	<tr>
      	<td>email</td><td><input type="text" name="email"</td></tr>
      	<tr>
      	<td>homepage</td><td><input type="text" name="hp"</td></tr>
      	<tr>
      	<td>Kommentar</td><td><textarea name="kommentar"></textarea>
      	</td></tr>
      	<tr>
      	<td><input type="submit" name="eintrag" value="eintrag"></td></tr></table></form>';
      	}
      }
      //Anfang, falls noch nix gedrückt wurde
      else
      {
      	$fp = fopen('gbu.txt','r');
      	echo '<form name="eintraege" action="'.$PHP_SELF.'" method="post">
      	<center><input type="submit" name="button" value="eintragen"></center>
      	</form>';
      	
      	while(!feof($fp))
      	{
      		$zeile = fgets($fp,500);
      		$daten = explode(" + ", $zeile);
      		$name = $daten[0];
      		$email = $daten[1];
      		$datum = $daten[2];
      		$hp = $daten[3];
      		$kommentar = $daten[4];
      	//Gib die Einträge sortiert aus
      		echo '<table border="1">
      		<tr>
      		<td>'.$name.'</td><td>vom:'.$datum.'</td></tr>
      		<tr>
      		<td>'.$email.'</td><td>'.$kommentar.'</td></tr>
      		<tr>
      		<td>'.$hp.'</td></table>';
      	}
      	fclose($fp);
      }
      ?>
      </body></html>
      [Editiert von BrainBug am 16-01-2002 um 08:20]
      || ||| |http://www.flash.codeworx.org|| | |||

      Kommentar


      • #4
        funzt trotzdem noch nicht

        vielleicht kann ja einer das mal bei sich ausprobieren?
        || ||| |http://www.flash.codeworx.org|| | |||

        Kommentar


        • #5
          jetzt mal abgesehen von den html tags

          die sind bei mir shcon korrekt, sind beim kopieren durch zufall da
          || ||| |http://www.flash.codeworx.org|| | |||

          Kommentar


          • #6
            Im Teil "//Formular zum ausfüllen des gästebuches" vergisst du, die Felder mit einem > zu schließen.

            CAT Music Files

            Kommentar


            • #7
              @TsamHawk: Bitte benutzt doch, wenn du Code posten willst, am Anfang die Syntax {CODE} und am Ende {/CODE} -> beides natürlich in eckigen Klammern, also [ und ]. So ist der Code übersichtlicher und Einrückungen werden übernommen.

              P.S.: siehe dein Eintrag weiter oben -> da habe ich mal die Syntax eingefügt. Ist doch wirklich übersichtlicher, oder?!

              Kommentar


              • #8
                Für mich z.B. leider nicht - Opera stellt den <pre> Tag in diesem Fall nicht korrekt dar.

                CAT Music Files

                Kommentar


                • #9
                  oh

                  schade, war überzeugt, daß Opera meist zuverlässig ist.
                  Aber trotzdem denke ich, daß die Mehrzahl der Forumbesucher es übersichtlicher sieht.

                  Kommentar


                  • #10
                    danke für den tip mit den code

                    ja, also bin neu hier und hab seit 2 tage angefangen php zu lernen

                    ich hab momentan ein kontaktformular geschrieben und bin mit einen gäbu beschäftigt.

                    ok, schau mal nach mit den ">" schliessen, vielleicht hab ich echt was vergessen, was der debugger mir verschweigt
                    || ||| |http://www.flash.codeworx.org|| | |||

                    Kommentar


                    • #11
                      kann auch drei tage sein....
                      || ||| |http://www.flash.codeworx.org|| | |||

                      Kommentar


                      • #12
                        drei Tage (heute wohl schon vier) und schon ein Gästebuch. Fein, immer dran bleiben...

                        Kommentar


                        • #13
                          Link

                          wer's nicht glaub

                          heut ist der fünfte und wer beim Eintrag oder andere diverse smiley(die links eingeblendet sind) schreibt, werden irgendwie in grafiken verwandelt.

                          http://www.flash.codeworx.org/hawk_gbu.php

                          gäbu muss noch verfeinert werden aber sonst....
                          || ||| |http://www.flash.codeworx.org|| | |||

                          Kommentar

                          Lädt...
                          X