Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmienne nie są zachowywane
Forum PHP.pl > Forum > Przedszkole
revyag
Witam.
Mam taki problem.
Jest strona, którą mam podzieloną na 2 ramki. W jednej ramce jest menu, w drugiej jest formularz z textarea i przyciskiem submit. Kiedy wybieram z menu jakiś link do textarea jest ładowany tekst z bazy danych. Robię to tak:
Ramka Menu:
  1. <a href="index.php?id=1&amp;name=main" target="editor">link1</a>

Ramka Editor:
  1. <form name="area1" action="editor.php" method="post">
  2. <textarea name="edit" rows="20" cols="70"></textarea><br>
  3. <input type="submit" value="submit">
  4. </form>

Ładowanie do textarea:
  1. <?php
  2. $id=$_GET[&#092;"id\"];
  3. $name=$_GET[&#092;"name\"];
  4. $query=&#092;"select * from tabela where id=$id and name='$name'\";
  5. $res=mysql_query($query);
  6. $row = mysql_fetch_object($res);
  7. echo $row->tresc;
  8. ?>

Następnie po modyfikacji tekstu, wysyłam go z powrotem do bazy danych, akcja ta następuje po naciśnięciu przycisku submit.
  1. <?php
  2. if(isset($submit))
  3. {
  4. $tresc=$_POST[&#092;"edit\"];
  5. $query=&#092;"update tabela set tresc='$tresc' where id=$id and name='$name'\";
  6. }
  7. ?>

I tu jest własnie problem, bo po naciśnięciu submit zmienne $id i $name znikają, to znaczy ich wartości są nadpisywane pustymi wartościami.
Próbowałem zapisywać to w zmiennych pomocniczych,w dodatkowej tablicy, to też nic nie dawało. Po przeładowaniu ramki wartości tych zmiennych się ulatniają.
Wiem że można to ominąć stosując zapis do bazy danych, ale może robię jakiś głupi błąd ?
j00seph
Hmm... spróbuj tak :

kod formularza :
  1. <?
  2. echo('<form name=\"area1\" action=\"editor.php\" method=\"post\"> ');
  3. echo('<textarea name=\"edit\" rows=\"20\" cols=\"70\"></textarea>');
  4. echo('<input type=hidden name=id value='.$_GET[&#092;"id\"];.'>');
  5. echo('<input type=hidden name=name value='.$_GET[&#092;"name\"];.'>');
  6. echo('<br> <input type=\"submit\" value=\"submit\"> </form>');
  7. ?>



kod skryptu:
  1. <?php
  2. if(isset($submit))
  3. {
  4. $tresc=$_POST[&#092;"edit\"];
  5. $id=$_POST[&#092;"id\"];
  6. $name=$_POST[&#092;"name \"];
  7. $query=&#092;"update tabela set tresc='$tresc' where id=$id and name='$name'\";
  8. }
  9. ?>


Nie gwarantuje ze zadziala - nie sprawdzalem - pisze z marszu - ale tak chyba powinno to wygladac
revyag
Ok. Bangla jak trzeba biggrin.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.