mam taki skrypcik do edycji filmów w bazie, wybiera się tytuł filmu i następnie zostają pobierane dane do formularza za pomocą ajaxa. Tyle że mam problem z przesłaniem ich po edycji. Ogólnie jak edytuje pola i kliknę zapisz, to w bazie dane się zmieniają. Ale w każdym polu pojawiają mi się <br /><b>Notice</b>: Undefined variable: ID in..
domyślam się że wynika to z tego fragmentu
, bo przy zapisywaniu do bazy strona zostaje przeładowana i nie do końca wiem co mam z tym zrobić... tu jest mój kod, proszę o pomoc..
<form method="post" action="getuser.php?">
tutaj index.php:
<?php include('function.php'); include('config.php'); $q=$_GET["q"]; if (!$con) { } $sql="SELECT * FROM filmy f, film_gatunek fg, gatunek g WHERE f.ID=fg.ID_FILM AND fg.ID_GATUNEK=g.ID AND f.ID = '".$q."'"; { $ID = $row['id']; $TYTUL_POLSKI=$row['TYTUL_POLSKI']; $TYTUL_ORYGINALNY=$row['TYTUL_ORYGINALNY']; $REZYSER=$row['REZYSER']; $SCENARIUSZ=$row['SCENARIUSZ']; $ROK_PRODUKCJI=$row['ROK_PRODUKCJI']; $CZAS_TRWANIA=$row['CZAS_TRWANIA']; $CENA=$row['CENA']; $OPIS=$row['OPIS']; $GATUNEK=$row['GATUNEK']; } ?> <div id="formularz"> <form method="post" action="getuser.php?"> <table> <tr class="tlo-b"><td>ID filmu:</td> <tr class="tlo-b"><td>Tytul oryginalny:</td> <tr class="tlek"><td>Tytul polski:</td> <tr class="tlo-b"><td>Reżyser:</td> <tr class="tlo-b"><td>Wytwórnia:</td> <tr class="tlek"><td>Rok produkcji:</td> <td><input type="text" name="ud_ROK_PRODUKCJI" value="<? echo $ROK_PRODUKCJI; ?>"/></span></td></tr> <tr class="tlo-b"><td>Czas trwania:</td> <tr class="tlo-b"><td>Ilość sztuk:</td> <tr class="tlo-b"><td>Opis:</td> <tr class="tlo-b"><td>Gatunek:</td> <td><form name="gatunek"> <? pobierzGa($idki_gatunkow); ?> </div> <tr><td colspan="2" align="center"><input type="submit" value="Zmień" /></td></tr> </table></form> </div> <?php $ID =$_POST['ID']; $ud_TYTUL_POLSKI=$_POST['ud_TYTUL_POLSKI']; $ud_TYTUL_ORYGINALNY=$_POST['ud_TYTUL_ORYGINALNY']; $ud_REZYSER=$_POST['ud_REZYSER']; $ud_SCENARIUSZ=$_POST['ud_SCENARIUSZ']; $ud_ROK_PRODUKCJI=$_POST['ud_ROK_PRODUKCJI']; $ud_CZAS_TRWANIA=$_POST['ud_CZAS_TRWANIA']; $ud_CENA=$_POST['ud_CENA']; $gatunek = $_POST['gatunek']; $query="UPDATE filmy SET TYTUL_POLSKI='$ud_TYTUL_POLSKI', TYTUL_ORYGINALNY='$ud_TYTUL_ORYGINALNY', REZYSER='$ud_REZYSER', SCENARIUSZ='$ud_SCENARIUSZ', ROK_PRODUKCJI='$ud_ROK_PRODUKCJI', CZAS_TRWANIA='$ud_CZAS_TRWANIA', CENA='$ud_CENA' WHERE ID = '$ID'"; foreach($gatunek AS $g) mysql_query("INSERT INTO `film_gatunek` (ID_FILM, ID_GATUNEK) VALUES ('$ID', '$g')") or die("Błąd"); ?>
tutaj ajax i formularz wyboru tytułów:
<?php include('function.php'); include('config.php'); ?> <head> <script type="text/javascript"> function showUser(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getuser.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> <select name="users" onChange="showUser(this.value)"> <?php pobierzNazwy(); ?> </select> </form> <br /> <div id="txtHint"><b>Person info will be listed here.</b></div> </body>