Pisze sobie taki kod, który będzie pobierał do formularza wpisy z bazy danych, z poziomu przeglądarki będzie można je edytować, a na końcu zapisać zmiany.
Problem polega na tym, że wszystko się dobrze pobiera do formularza, tylko wyświetla się taki oto błąd (przez to chyba też edytowany wpis nie zapisuje się w bazie danych):
Notice: Undefined index: edytuj_imie in edit_user_skrypt.php on line 45
Notice: Undefined index: edytuj_nick in edit_user_skrypt.php on line 46
Notice: Undefined index: edytuj_email in edit_user_skrypt.php on line 47
Notice: Undefined index: edytuj_gg in edit_user_skrypt.php on line 48
Poniżej daje fragment kodu odpowiedzialny za tą funkcję.
//Zapisywanie danych
$EdytujImie = $_POST['edytuj_imie'];
$EdytujNick = $_POST['edytuj_nick'];
$EdytujEmail = $_POST['edytuj_email'];
$EdytujGG = $_POST['edytuj_gg'];
$Zapisz = mysql_query("UPDATE team SET imie='$EdytujImie' nick='$EdytujNick' email='$EdytujEmail' gg='$EdytujGG'")
To musisz przenieść gdzieś powyżej linii
$Polecenie = mysql_query("SELECT imie, nick, email, gg FROM team WHERE nick='$nick'");
Pamiętaj - najpierw zapisujemy wszystko z $_POSTa, potem wyświetlamy (SELECT pola FROM…), nigdy odwrotnie. A poza tym błąd mówi że nie ma zdefiniowanego indeksu edytuj_linie itp. Czyli trzeba by w tych 4 liniach analogicznie przerobić
Zakładając, że ma pole id wystarczy się nim posłużyć do zapytania. Ja bym raczej tego tak nie zostawiał, bo ktoś by se mógł zmieniać wszystko (strzelając id)
$Polecenie = mysql_query("SELECT id,imie, nick, email, gg FROM team WHERE nick='$nick'");// potem twój kod $Zapisz = mysql_query("UPDATE team SET imie='$EdytujImie' nick='$EdytujNick' email='$EdytujEmail' gg='$EdytujGG' WHERE 'id=$Edytuj['id']"); [/code]
Hmm… Nie wiem czy dobrze zrozumiałem? Chodzi o coś takiego? (Niestety dopiero nabieram doświadczenia w PHP więc proszę o wyrozumiałość ) Niestety tak jak przerobiłem poniżej nie działa…
Rozumiem, tylko ja zamienić te cudzysłowy, aby nie było błądu?
Próbowałem na takie sposoby:
$Zapisz = mysql_query("UPDATE team SET imie='$EdytujImie' nick='$EdytujNick' email='$EdytujEmail' gg='$EdytujGG' WHERE 'id=$Edytuj['id']'");[/code]
[code=php]$Zapisz = mysql_query(“UPDATE team SET imie=’$EdytujImie’ nick=’$EdytujNick’ email=’$EdytujEmail’ gg=’$EdytujGG’ WHERE ‘\id=$Edytuj[‘id’]’”);
$Zapisz = mysql_query('UPDATE team SET imie="$EdytujImie" nick="$EdytujNick" email="$EdytujEmail" gg="$EdytujGG' WHERE "id=$Edytuj['id']"');[/code]
Trza było powiedzieć, że w moim kodzie jest błąd, wkradł się tam apostrof przed id, zamiast być po nim ;]
$Polecenie = mysql_query("SELECT id,imie, nick, email, gg FROM team WHERE nick='$nick'");// potem twój kod $Zapisz = mysql_query("UPDATE team SET imie='$EdytujImie' nick='$EdytujNick' email='$EdytujEmail' gg='$EdytujGG' WHERE id=\'$Edytuj['id']\'"); [/code]
Nie wiem czemu mi nie działa, chwilowo nie miałem czasu na udoskonalanie kodu, ale teraz spróbowałem jakoś tak, lecz dalej nic nie działa, tzn. wszystkie pola z bazy pobierają się i wyświetlają w polach formularza, lecz niestety po wciśnięciu przycisku zmiany się nie zapisują.