kleine shoutbox

Hab jetzt die Zeile
Code:
echo "<form action='".$PHP_SELF."' method='post'>";
gegen
Code:
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
getauscht, es tut sich aber immer noch nichts :/

Bin ich zu blöd, oder warum geht das bei mir einfach nicht? :confused:
 
du meinst
Code:
header("Location: $_SERVER['PHP_SELF']"); // ein reload...

Wenn ich das so hochlade tut sich gar nichts mehr auf der Site...
 
Also wenn $PHP_SELF und $_SERVER['PHP_SELF'] nicht funktioniert, welchen Server hast du installiert.

Ist zwar schon länger her aber ich hatte mit diesen Variablen (und somit mit dem kompletten Skript) auch das Problem das sie nicht vorhanden waren.
Zu dieser Zeit lief alles mit dem Windows eigenen PWS (Personal Web Server). Als ich dann XAMPP installierte hat alles geklappt, vielleicht liegt es bei dir auch an so etwas und nicht am Skript selber !
 
naja es liegt auf dem PHP fähigen Webspace den ich von meiner Uni bekomme, kann daher nicht sagen was da läuft, auf jeden fall was Linux mässiges...

Ich versuch mal irgendwo einen Webspace aufzutreiben (kostenlos) der PHP fähhig ist...
 
So gehts:

PHP:
<?php
ob_start ();
error_reporting (E_ALL);
 // festlegung der variablen
          
         $filename = "new.txt";
         $bool = 1;
         $htmlanzeigen = 1;
         
// neuen eintrag hinzuf&uuml;gen

if($_POST["a"] == "new"){
         $newtext = $_POST['text'];
                  
          //Schonmal geschrieben?
         $file = fopen($filename, "r");

         $cont = fread($file, filesize($filename));
         $cont = explode("|", $cont);

         for($i = 0; $i < sizeof($cont);$i++){
              if(strcmp($newtext, $cont[$i]) == 0){
                 $bool = 0;
                 echo "<p>das wurde schon geschrieben<br></p>";
              }
         }
         fclose($file);
         
         
         //txt aktualisieren falls der text nicht schon einmal geschrieben und die Länge größer null ist
         $file = fopen($filename, "a+");

         if($bool == 1 && strlen($newtext) > 0){
            fwrite($file,"|".$newtext);
         }


         fclose($file);
         
         header('Location:' . $_SERVER['PHP_SELF']); // ein reload...
}

/*********************************
// allgemeine ausgabe
*********************************/

         //auslesen
         $file = fopen($filename, "r");

         $out = fread($file, filesize($filename));

         $out = explode("|", $out);

         echo "<div>";
         for($i = 0; $i < sizeof($out);$i++){
              switch ($htmlanzeigen){
              
              case 1:
              echo $i." ". $out[$i] . "<br>";
              break;
              
              case 0:
              default:
              echo $i." ". htmlentities($out[$i]). "<br>";
              break;
              } 
         }

         echo "<p><br>Anzahl Einträge: ".sizeof($out) . "</p>";
         fclose($file);


         echo "</div>";
         echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
         echo "<textarea name='text' cols='50' rows='10'></textarea><br>";
         echo "<input type='hidden' name='a' value='new'>";
         echo "<input type='submit' value=' Blub '>";
         echo "</form>";

ob_end_flush ();
?>


Gewöhne dir am besten an, error_reporting (E_ALL); in jedes Script mit aufzunehmen, das du am testen bist. Denn so kann man Fehler viel einfacher finden.
 
Zuletzt bearbeitet:
ok, jetzt gehts Danke euch allen ^^

edit: Eine paar Fragen noch:

1) Was genau macht dieser Header Aufruf? Warum muss er gesetzt sein?
2)Selbiges für :

ob_start ();
ob_end_flush ();
 
Zuletzt bearbeitet:
Zurück