ďťż
Podstrony
|
telcocafeOtuz napisalem taki kod<? include_once("funkcje.php"); switch($page){ case teoria: // nie bede podawal innych mozliwosci $sql = 'UPDATE teoria SET kategoria='.$kat.', tytul='.$tytul.', opis='.$opis.', tresc='.$tresc.' WHERE id='.$id.' LIMIT 1'; mysql_query($sql); break; ?> Powinien on teoretycznie wykonac zapytanie które ma na celu zmiane danych w danym rekordzie. Dane w zmiennych pochodza formularza! Prosze napiszcie co robic po co ci te kropki po obu stronach zmiennej ?? wywal je ! np zamiast id='.$id.' daj id='$id' a cale zapytanie obejmij w " (cudzywsów) Użytkownik boryssek edytował ten post 04 wrzesień 2005, 19:39 OMG! tak sie wlasnie zapisuje zmienne pomiedzy tymi ' ' znakami!!! A stosuje te zmienne bo wtedy nie obciaza to tak bardzo serwera (bylo o tym w ekspercie)! a kiedy zapisze tak jak sobie zyczysz <? include_once("funkcje.php"); switch($page){ polacz(); case teoria: // nie bede podawal innych mozliwosci mysql_query("UPDATE teoria SET kategoria=$kat, tytul=$tytul, opis=$opis, tresc=$tresc WHERE id=$id LIMIT 1"); break; ?>; to tez nic nie da! Próbowałem! Zakładam, żę używasz do tego skryptu formularza. Popatrz w php.ini czy masz włączone register globals, jeśli nie to zmaiast zmiennych $zmienna, użyj $_POST['nazwa_zmiennej'] (formularz pocztowy), lub $_GET['nazwa_zmiennej'] (jeśli zmienne znajdują sie w adresie lub metoda formularza jest GET) mysql_query("UPDATE teoria SET kategoria='".$_POST['kat']."', tytul='".$_POST['tytul']."', opis='".$_POST['opis']."', tresc='".$_POST['tresc']."' WHERE id='".$_POST['id']."' LIMIT 1"); Użytkownik Norr edytował ten post 04 wrzesień 2005, 20:04 Otuz napisalem taki kod <? include_once("funkcje.php"); switch($page){ case teoria: // nie bede podawal innych mozliwosci $sql = 'UPDATE teoria SET kategoria='.$kat.', tytul='.$tytul.', opis='.$opis.', tresc='.$tresc.' WHERE id='.$id.' LIMIT 1'; mysql_query($sql); break; ?> Powinien on teoretycznie wykonac zapytanie które ma na celu zmiane danych w danym rekordzie. Dane w zmiennych pochodza formularza! Prosze napiszcie co robic czy ty umiesz czytac ? najwyrazniej nei bo ja ci kazałem objąc zapytanie w " oraz zapisac to w taki sposob: id='$id' a nie tak jak ty to zrobiłeś id=$id <- bo takie cos napewno nei zadziała :< pozatym może być tak że nie utworzyles krotkich nazw zmiennych czyli jesli pobieraz te informacje z formularza to jesli chcesz uzywac krótkich nazw zminych to musisz najpierw zrobic np takie cos: $id = $_POST['id']; chyba ze masz wlaczone rg (w co wątpie) Jeśli dane pochodzą z formularza którego akcja jest ustawiona na metode POST to skrypt powinien wygladać tak: <? include_once("funkcje.php"); $kat = $_POST['kat']; //pomiedzy '' wartosc name z formularza $tytul = $_POST['tytul']; //jak wyzej $opis = $_POST['opis']; //^ $tresc = $_POST['tresc']; //^ $id = $_POST['id']; //^ switch($page){ case teoria: // nie bede podawal innych mozliwosci $sql = "UPDATE teoria SET kategoria='$kat', tytul='$tytul', opis='$opis', tresc='$tresc' WHERE id='$id' LIMIT 1"; mysql_query($sql); break; ?> pozatym sprawdz czy aby napewno masz połączenei z baza danych istnieje ruwniez mozliwosc ze uzytkownik przez ktorego laczysz sie z baza nie ma wystarczajacych uprawnien. Użytkownik boryssek edytował ten post 04 wrzesień 2005, 20:39 A dotego jeżeli dodajesz wartości do pola tekstowego to musi ono być obleczone w cudzysłowie np. ... id=\''.$_POST['id'].'\' ... Jasne... aha dopisz na końcu "echo mysql_error();" będziesz wiedział co jest nie tak Kurcze, chłopaki może własny kurs napiszemy :D , a co do połączenia z bazą danych: mysql_query("zapytanie") or die (mysql_error()); Wtedy, jeżeli zapytanie nie będzie zrealizowane z jakiś powodów to mysql_error() wyświetli Ci co jest nie tak. $kat = $_POST['kat']; //pomiedzy '' wartosc name z formularza $tytul = $_POST['tytul']; //jak wyzej $opis = $_POST['opis']; //^ $tresc = $_POST['tresc']; //^ $id = $_POST['id']; //^ boryssek po co coś takiego, obciąża tylko serwer, od razu kożysta się z $_POST['name z formularza']; Użytkownik Norr edytował ten post 05 wrzesień 2005, 05:03 Już doszedlem do rozwiązania po przeczytaniu artykulu z pewnej strony! Oto one: mysql_query('UPDATE teoria SET kategoria="'.$kat.'", tytul="'.$tytul.'", opis="'.$opis.'", tresc="'.$tresc.'" WHERE id="'.$id.'" LIMIT 1'); :)! Dzięki za chęci! a rada by zapisac zmienne $tytul = $_POST['tytul']; nie sprawdza sie poniewaz dane w zmiennych juz sa. Sprawdzilem to gdyz potem ich zawartosc jest wyswietlana echo '<h1>Zmieniłe¶ pracę do "teorii"</h1><br>Kategoria:<br>'.$kat.'<br>< h3>"'.$tytul.'"</h3><br>Opis:<br>'.$opis. '<br>O następuj±cej tre¶ci:<br>'.$tresc.'<br>Autor:<br>'.$autor; Najbliższy rozwiązania był Norr za co mu tez dziękuje :)! Użytkownik polasek edytował ten post 05 wrzesień 2005, 12:02 Dam Ci jeszcze jedną radę, włączone register_globals w php.ini jest przestarzałe, dzisiaj używa się zmiennych globalnych typu $_POST, $_GET, $_FILE.. itd. Doradzam Ci wyłączyć register_globals i operować właśnie na tych zmiennych. Ja też tak kiedyś robiłęm jak Ty i też trochę trwało, zanim się przestawiłem, ale wierz mi, warto. Cieszę się, że mogłem Ci pomóc i ćwicz dalej. Trening czyni mistzra. |
|||
Sitedesign by AltusUmbrae. |