Razem z kolegą wykorzystaliśmy PHP do napisania programu, który odnosi się do bazy danych MySQL. Problem w tym, że PHP za bardzo nie znamy i postanowiliśmy posiłkować się forum, Google i książką. Jakoś połączyliśmy całość i faktycznie wszystko działa. Problem w tym, że po kliknięciu edytuj, otwiera się formularz, wprowadzamy zmienione dane i... zamiast edytować rekord, zostaje dodany nowy z wprowadzonymi zmianami, a stary jak bym tak jest.
Oto fragment kodu, czy ktoś może nam powiedzieć gdzie jest błąd?
<head> <style type="text/css"> #lista1, #lista2, #lista3, #lista4, #lista5 { display: none; } </style> <script type="text/javascript"> <!-- function pokazAlboUkryj(co) { var obiekt = document.getElementById(co); if (obiekt.style.display == 'block') { obiekt.style.display = 'none'; } else { obiekt.style.display = 'block'; } } --> </script> </head> <a href="#lista1" onclick="pokazAlboUkryj('lista1'); return false;">Dodaj wpis</a> <br><br> <form action="reklamacje.php" method="post"> <div id="lista1"> id_klienta:<br /> <input type="text" name="id_klienta" /><br /> opis_usterki:<br /> <input type="text" name="opis_usterki" /><br /> model:<br /> <input type="text" name="model" /><br /> imei:<br /> <input type="text" name="imei" /><br /> data:<br /> <input type="text" name="data" /><br /> <input type="submit" value="dodaj" /> </form><br><br> <?php $id_klienta = $_POST['id_klienta']; $opis_usterki = $_POST['opis_usterki']; $model = $_POST['model']; $imei = $_POST['imei']; $data = $_POST['data']; if($id_klienta and $opis_usterki and $model and $imei and $data) { // łączymy się z bazą danych // dodajemy rekord do bazy $ins = @mysql_query("INSERT INTO REKLAMACJE SET id_klienta='$id_klienta', opis_usterki='$opis_usterki', model='$model', imei='$imei', data='$data'"); if($ins) echo "Rekord został dodany poprawnie<br>Wracam do strony glownej! <meta http-equiv='refresh' content='0;url=http://aplikacjaphp.yoyo.pl/reklamacje.php'>"; else echo "Błąd nie udało się dodać nowego rekordu<br>Wracam do strony glownej! <meta http-equiv='refresh' content='0;url=http://aplikacjaphp.yoyo.pl/reklamacje.php'>"; } ?> </div> <?php // łączymy się z bazą danych /* wyświetlamy wyniki, sprawdzamy, czy zapytanie zwróciło wartość większą od 0 */ /* jeżeli wynik jest pozytywny, to wyświetlamy dane */ echo "<td> <a href=\"reklamacje.php?usun={$r->id}\">DEL</a> <a href=\"reklamacje.php?a=edit&id={$r->id}\">EDIT</a> </td>"; } } ?> <?php /* zapytanie do tabeli */ id='$id'") /* wyświetlamy wyniki, sprawdzamy, czy zapytanie zwróciło wartość większą od 0 */ /* odczytujemy zawartość wiersza z tabeli */ /* wczytujemy dane do formularza */ /* w formularz znajdują się ukryte pola "a" z wartością "save" i pole "id" z wartością zmiennej id */ echo '<form action="reklamacje.php" method="post"> <input type="hidden" name="a" value="save" /> <input type="hidden" name="id" value="'.$id.'" /> id_klienta:<br /> <input type="text" name="id_klienta" value="'.$r['id_klienta'].'" /><br /> opis_usterki:<br /> <input type="text" name="opis_usterki" value="'.$r['opis_usterki'].'" /><br /> model:<br /> <input type="text" name="model" value="'.$r['model'].'" /><br /> imei:<br /> <input type="text" name="imei" value="'.$r['imei'].'" /><br /> data:<br /> <input type="text" name="data" value="'.$r['data'].'" /><br /> <input type="submit" value="popraw" /> </form>'; } } elseif($a == 'save') { /* odbieramy zmienne z formularza */ $id = $_POST['id']; /* uaktualniamy tabelę test */ opis_usterki='$opis_usterki', model='$model', imei='$imei', data='$data' WHERE id='$id'") } ?> <br><br> <?php //plus np. przekierowanie if($ok) echo "Rekord został usunięty poprawnie<br>Wracam do strony glownej! <meta http-equiv='refresh' content='0;url=http://aplikacjaphp.yoyo.pl/reklamacje.php'>"; $i = 0; { $i++; } ?>