Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Prosty formularz i mały problem.
Forum PHP.pl > Forum > PHP
Szymon80
Witam.

zrobiłem prosty skrypt formularza do zapisywania rekordu w bazie danych

  1. $zap = "update ".$prefix."template set wartosc='".$_POST[smstext]."' WHERE nazwa='smstext' ";
  2. $res = mysql_query($zap);
  3. echo '<form action="kody.php" method="post">
  4. <textarea name="smstext" cols="70" rows="11" >'.$tpl[smstext].'</textarea><br/>
  5. <input type="submit" value="Zapisz tekst" class=button>
  6. </form>';


Jednak coś jest nie tak. Skrypt zapisuje dane do bazy danych ale na moment.
Po zapisaniu formularz jest pusty (chociaż wstawiłem zmienną w textarea, która powinna pobierać wartość z bd), a po odświeżeniu strony lub ponownym wejściu na nią z innej strony, komórka w bd jest czyszczona.

Z pewnością ja robię jakiś błąd ale próbowałem już na wiele sposobów to naprawić,a le nie dało to żadnych rezultatów.
Czy ktoś mógłby doradzić mi jak skonstruować taki prosty formularz który by nie poprawnie zapisywał i wyświetlał zawartość z bd.
darko
$_POST[smstext] != $_POST["smstext"]
$tpl[smstext] != $tpl["smstext"]
ciekawostka: w linii 0 (zero) dodaj:
  1. define("smstext", "smstext");

i będzie działać dopóki nie zmienisz wartości atrybutu name dla textarea winksmiley.jpg
Szymon80
Dzięki, ale gdzie dokłądnie mam władować te zmienne ?

  1. $_POST[smstext] != $_POST["smstext"]
  2. $tpl[smstext] != $tpl["smstext"]
kusiu
Cytat(Szymon80 @ 3.01.2010, 04:35:54 ) *
Dzięki, ale gdzie dokłądnie mam władować te zmienne ?

  1. $_POST[smstext] != $_POST["smstext"]
  2. $tpl[smstext] != $tpl["smstext"]


He, kolega Ci tylko dał przykład tego, że $_POST[smstext] to nie jest to samo co $_POST["smstext"]. Po prostu używaj " w zmiennych.
emtiej
  1. $zapytanie = "UPDATE $prefix.template
  2. SET wartosc='$_POST['smstext']'
  3. WHERE nazwa='smstext'";
  4.  
  5. $wynik = mysql_query($zapytanie);
  6. if($wynik)
  7. {
  8.  
  9. echo '<form action="kody.php" method="POST">
  10. <textarea name="smstext" cols="70" rows="11">';
  11. echo $tpl['smstext']; //nie wiem co to za zmienna, jeżeli to ma być zaktualizowany tekst z bazy, to do $tpl['smstext'] musisz wyciągnąć wartość z bazy mysql
  12. echo '</textarea><br />
  13. <input type="submit" value="Zapisz tekst" class="button">
  14. </form>';
  15.  
  16. }else{ // jeżeli zapytanie jest złe i MySQL zwraca jakiś błąd
  17. die("Złe zapytanie");
  18. }


Wcześniej zaraz po zapisaniu tekstu do bazy musisz wyciągnąć ten sam tekst i przypisać go to zmiennej $tpl['smstext'], aktualnie z tego kodu nic nie wynika, żeby $tpl['smstext'] miała jakąś wartość, jest ona zmienną niezadeklarowaną.
Szymon80
Niestety nie podziałało.

Może podam cały kod skryptu w którym chciałem umieścić tą funkcję.

http://www.wklejto.pl/52363

lukaszgolder
Nie widzę nigdzie w tym kodzie przypisania zmiennej: $tpl[smstext]. No a nawet jak jest gdzieś wcześniej, to najpierw pobierasz jej wartość, a potem ją aktualizujesz w bazie?
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.