AddoN
22.11.2012, 07:58:58
Witajcie,
mam problem ze zrobieniem formularza, którego zadaniem będzie wstawianie tekstu z pola tekstowego do określonego rekordu bazy.
Do wyświetlenia rekordu UserTresc używam kodu
Sortowanie po $id ponieważ każdy użytkownik ma w bazie swój rekord UserTresc
$id = $_SESSION['imie'];
$go = mysql_query("SELECT UserTresc FROM serwis_users WHERE imie = '$id'");
No i tutaj zaczynają się schody. Bo chciałbym żeby w textarea wyświetlała się obecna zawartość UserTresc, żeby można ją było zmodyfikować i z powrotem zapisać do bazy
<input type="submit" name="submit" value="Wyślij">
Mógłby ktos pomóc?
nospor
22.11.2012, 08:09:16
Mówisz o ID a porównujesz z IMIE. Jesteś pewien że tak ma być?
ps: zanim napiszesz kolejnego posta zastosuj się do:
Temat: Jak poprawnie zada pytanie
AddoN
22.11.2012, 08:17:08
Cytat(nospor @ 22.11.2012, 08:09:16 )

Mówisz o ID a porównujesz z IMIE. Jesteś pewien że tak ma być?
[/url]
Tak, id to tylko nazwa, całość wygląda tak i działa, ponieważ w tym przypadku pobierane są z bazy rekordy imie, nazwisko, a nie id.
$id = $_SESSION['imie'];
$id2 = $_SESSION['nazwisko'];
$go = mysql_query("SELECT UserTresc FROM serwis_users WHERE imie = '$id'");
nospor
22.11.2012, 09:37:24
No dobra, to z czym masz problem bo już nie wiem.
AddoN
22.11.2012, 09:46:04
Wszystko napisałem w pierwszym poście.
nospor
22.11.2012, 09:47:42
No to widziałem. ALe nadal nie wiem jaki masz problem.
Czy o to:
<textarea name=UserTresc><? echo $row['UserTresc']; ?></textarea>
ci nie działa? Nie masz w textarea zawartosci z bazy? No chyba masz, skoro przed chwilą napisałes, ze zawartosc ci sie pobiera poprawnie
AddoN
22.11.2012, 09:53:57
Pobierać do formularza się pobiera, chodzi mi, aby z textarea można było zapisać jakiś tekst do komórki UserTresc.
nospor
22.11.2012, 10:02:50
No dobra, i pytam się ponownie: w czym problem?
Formualarza nie umiesz wysłać?
Nie umiesz odebrać w php danych z forma?
Czy nie umiesz wykonac zapytania sql UPDATE, które zmodyfikuje komórkę na podstawie danych odebranych z forma?
AddoN
22.11.2012, 10:06:14
Z formularzem sobie poradzę. Chciałem prosić o pomoc w napisaniu odpowiednich formułek php i sql które będą wstawiać tekst zapisany w tekstarea do bazy bo naciśnięciu przycisku submit.
nospor
22.11.2012, 10:08:38
$sql = "update tabela set pole='".mysql_escape_string($_POST['pole_z_forma'])."' where poleinne='jakaswartosc'";
AddoN
22.11.2012, 12:12:24
Dzięki, tylko że teraz wyskakuje błąd z bazą
$id = $_SESSION['imie'];
$id2 = $_SESSION['nazwisko'];
$go = mysql_query("SELECT UserTresc FROM serwis_users WHERE imie = '$id'");
$sql = "update serwis_users set imie = '$id'".mysql_escape_string($_POST['wiadomosc'])."' where poleinne='jakaswartosc'";
echo '<form action="wiadomosc">'; echo '<textarea name="wiadomosc"></textarea>'; echo '<input type="submit" name="wiadomosc" value=" zapisz zmiany " />';
Co trzeba wpisać w tym where poleinne='jakaswartosc'"?
Shido
22.11.2012, 12:34:40
$sql = "update tabela set pole='".mysql_escape_string($_POST['wiadomosc'])."' where poleinne='jakaswartosc'";
To powinieneś jeszcze objąć jakimś if'em który sprawdzi czy formularz został wysłany, bo tak co odświeżenie to ci wysyła pustą zmienna do bazy.
Chociażby:
if(isset($_POST['wiadomosc'])) {
$sql = "update tabela set pole='".mysql_escape_string($_POST['wiadomosc'])."' where poleinne='jakaswartosc'"; }
nospor
22.11.2012, 12:39:21
No nawet prostych wartosci nie można samemu podstawić...wszystko trzeba z forum brac...
$sql = "update serwis_users set UserTresc='".mysql_escape_string($_POST['wiadomosc'])."' where imie = '$id'";
plus to co napisał shido
AddoN
22.11.2012, 12:59:00
Dziękuję, dziękuję.
Proszę jeszcze o 5g cierpliwości
echo '<form action="wiadomosc">'; echo '<textarea style="width: 100%; height: 250px;" name="wiadomosc">'; echo '<input type="submit" name="sql" value=" zapisz zmiany " />';
Przycisk wywala błąd
Not Found
The requested URL /edytormg/wiadomosc was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
nospor
22.11.2012, 13:00:23
action="wiadomosc"
Po co to wstawiłeś? Co to niby ma robić? Wywal to.
AddoN
22.11.2012, 13:13:53
teraz przenosi do strony głównej, ale do bazy zmiany nie są zapisywane. Nadal jest wcześniejsza zawartość UserTresc.
Akcja przycisku
w formularzu
echo '<input type="submit" name="zapis" value=" zapisz zmiany " />';
nospor
22.11.2012, 13:24:33
No ale na stronie głównej masz ten kod czy gdzie?
AddoN
22.11.2012, 13:30:56
Nie, to jest modyfikacja w panelu admina jednego CMS. Te zmiany są w pliku users.php który obsługuje kilka stron;
strona główna panelu to index.php
nospor
22.11.2012, 13:34:57
Jeśli z FORM wywalasz ACTION to formularz leci tam gdzie był. Więc jeśli poleciał ci na stronę główną, znaczy że wcześniej też byłeś na stronie głównej. No chyba że ty wcześniej do tej strony przeszedłej jakoś postami.
Jeśli więc form nie przekierowuje cię tam gdzie chcesz, to musisz w FORM ustawić ACTION. Ale to ma być pełny adres do strony a nie jak ostatnio "wiadomosc"
AddoN
22.11.2012, 13:42:19
Już mniejsza z przekierowaniem, bo bez tego da sie żyć. Przycisk nie wywołuje akcji która wstawi tekst z textarea do bazy. Cały czas jest pobierana stara zawartość
nospor
22.11.2012, 13:43:35
Cytat
Już mniejsza z przekierowaniem, bo bez tego da sie żyć
No ale jak cię przenosi nie tam gdzie masz akcję UPDATE to niby jakim cudem ma ci sie coś zmienic?
AddoN
22.11.2012, 14:18:37
edytormg/index.php?id=6&user=1
gdzie 1 to id użytkownika któremu edytuje się wiadomość.
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.