Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html]problem z formularzem
Forum PHP.pl > Forum > Przedszkole
tomekby
mam problem, bo chciałem zrobić coś w rodzaju opcji "edytuj" na forum, tylko nie wiem jak zrobić, żeby na przykład plik przyklad.html wyświetlał się w polu typu texarea sad.gif
może mi ktoś pomóc questionmark.gif
tsharek
  1. <?php
  2. echo '<textarea>'.htmlspecialchars(file_get_contents('przyklad.html')).'</textarea>';
  3. ?>
tomekby
a jeszcze takie pytanie :
jak to już mam, to da radę zrobić, aby był wcześniej formularz, gdzie się wpisuje nazwę pliku, który ma zostać otwarty, klika na przycisk (submit) i przenosi do formularza z otwartym danym dokumentem questionmark.gif
bo jak próbuję wewnątrz tamtego kodu użyć funkcji echo[php] to mi wyskakuje błąd sad.gif
Parse error: parse error in c:\... on line 20

ps. w razie co mam zainstalowany no kompie dobrze działający serwer biggrin.gif
pps. niestety w php jestem dość nowy, jedyny kontakt z tym językiem miałem przy używaniu skryptów i ich ewentualnym niewielkim modyfakajcom sad.gif
best-two
Można zrobić w taki sposób:

  1. <?php
  2. echo '<form method="POST" action="index.php">
  3. <input type="text" name="nazwa">
  4. <input type="submit"></form>';
  5.  
  6. if($_POST['nazwa']==true){
  7. echo '<textarea>'.htmlspecialchars(file_get_contents('$_POST[nazwa']')).'</textarea>;
  8. }
  9. ?>


Wszystko wykonuje sie w jednym pliku smile.gif
tomekby
jednak nie sad.gif
wyskakuje mi :
Parse error: parse error in c:\... on line 26

czyli w linii :

name="2">'.htmlspecialchars(file_get_contents('$_POST['1']')).'</textarea>;

wie ktoś o co chodzi questionmark.gif
drPayton
Usuń apostrofy wewnątrz file_get_contents (łączenie stringów się kłania winksmiley.jpg )
tomekby
dobra, teraz następny problem sad.gif
mam już formularz, w którym wyświetla się plik, ale jak próbuję wprowadzić zmiany, to zapisuje się to samo jeszcze raz + wprowadzone zmiany sad.gif
tutaj pytanie : jak zrobić, żeby można było wprowadzać dowolne zmiany i TYLKO to, co zatwierdzam się wyświetalało(to, co się znajduje w formularzu), a nie to co było + to co zatwierdzam questionmark.gif
tu jest plik :
Kod
       <HTML>
          
          <HEAD>
          
          </HEAD>
          
          <BODY>
          
             <form action="formularz.php" method="POST">
          <?php
          echo '<textarea rows=50 cols=101 name=TEKST>'.htmlspecialchars(file_get_contents('hr.html')).'</textarea>';
          ?>
             <input type=submit value="wyślij"/>
          
          <?
          {
          $file=fopen("hr.html", "r");
          flock($file, 1);
          
          for($lineNr=1;true;$lineNr++)
          {
          $linia=fgets($file, 81); // odczytuje kolejną linię z pliku
          
          if(!$linia)
          break; // kończy pętle, jeśli natrafi na koniec pliku
          
          $linie[$lineNr]=$linia; // dopisuje linię do tablicy $linie
          }
          
          flock($file, 3);
          fclose($file);
          
          $nLines=$lineNr; // zapisuje ilość lini w zmiennej $nLines
          
          $file=fopen("hr.html", "w");
          flock($file, 2);
          
          if($nLines<16) // jeżeli lini jest mniej niż 16 zapisywanie
          $lineNr=1; // do pliku zacznie się od pierwszej lini
          else // jeżeli 16 lub więcej, zapisywanie
          $lineNr=2; // zaczyna się od 2 lini
          
          for(;$lineNr<$nLines;$lineNr++) // zapisuje kolejne linie
          fwrite($file, $linie[$lineNr]);
          
          fwrite($file, $TEKST); // dopisuje linię podaną przez użytkownika
          fwrite($file, "\n");
          
          flock($file, 3);
          fclose($file);
          } ?>
          
          </FORM>
PawelC
Daj uprawnienia w+ plikowi który odczytujesz i poźniej w nim zapisujesz.
uprawnienie w+ otwiera plik do odczytu i zapisu, i gdy będziesz do niego zapisywał to wyczyści go i zapisze do niego tylko te dane które chcesz zapisać z formularza.
tomekby
a co zrobić, żeby akceptowało cudzysłowy questionmark.gif

np.: jak piszę kod :
  1. <body bgcolor="gold">

albo:
  1. <body bgcolor="red">

to wyświetla mi tak, jakbym napisał kod :
  1. <body bgcolor="black">

albo:
  1. <body bgcolor="limegreen">

przy okazji, jak chcę wyedytować plik, to przed i po cudzysłowach wyświetla mi po każdym zapisie jeden "/"
bez cudzysłowów wszystko działa poprawnie, prócz tego, że niektórych żeczy bez tego nie da się wykonać...
a jak próbuję wyedytować plik *.php to wszystkie funkcje wysiadają sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.