![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.08.2009 Skąd: wertykalne przez większość dnia Ostrzeżenie: (0%) ![]() ![]() |
witam
mam taki problem mam baze danych z ktorej wyciagam tekst- jako szary uzytkownik moge sobie go przeczytac jako administrator moge go edytowac ( i tu cos nie gra) bo powinno przeniesc mnie na druga strone gdzie moge go edytowac i zapisac zmiany - na strone przenosi ale zapisu nie moge zrobic. czy ktos moze mi pomoc rozwiklac te zagadke - bo mecze ten kod od jakis 3 godzin index.php
a teraz edit.php
no i jeszcze pliczek od transakcji
podsumowujac: 1-laduje text z bazy 2- gdy jestem zalogowany jako admin moge go edytowac (submit edit przenosi mnie na edit.php) jesli nie to tylko przeczytac. 3 - powinno umozliwic mi edycje ale niestety nie mam mozliwosci zapisu a na dodatek wyglada to tak jakby nie zaladowal wskazanej komorki ps. moim zdaniem to albo cos zle przesylam wartosc text_id z index.php albo zle ją pobieram do edit.php. (bo nie dosc ze nie za bardzo jest co zmieniac to na dodatek przycisk zapisz jest uwarunkowany od tego czy jest pobrana wartosc text_id a przycisku nie ma - blagam niech mi ktos wskaze gdzie jest błąd i na czym on polega) PS. Nie chce gotowcow. dokonałem malej modyfikacji w edit.php <?php echo htmlspecialchars($text); echo $row['text']; ?> no i wniosek jest jeden mam racje: nie wysyla tych danych/lub ich nie pobiera - bo nic sie nie wyswietla. teraz pytanie co tu jest grane? nie moze pobrac tych danych - tak sie zastanawialem bo to chyba tak jak w temacie $_POST i $_GET nie przesyla text_id z index.php. ps. hmmm a może powinienem okreslic zmienne w edit.php: $text= ''; $text_id= ''; ale to chyba i tak nic nie da bo nie przesyla do tej strony wartosci text_id no właśnie -mam pewien pomysł... zaraz wracam no niestety: myslałem, że może jak wpiszę wartości do wyslania w transact... w case "Edytuj" jako session_start() to pojdzie ale to nie byl najlepszy pomysl Ten post edytował achill 22.09.2009, 08:37:48
Powód edycji: [Ociu]: proprawiłem bbCode
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim mam jedno pytanie ? Skąd w ogóle bierzesz zmienną text_id w pliku index.php ?
Bo w zapytaniu do wyciągania tekstu masz na sztywno text_id = 1, zaś niżej w formularzu masz już ustawione, że w/w zmienną pobierasz z GET. Po wygenerowaniu strony (zakładam, że adres jakim jest wywoływany plik index.php zawiera ?text_id=xxx) zobacz w kod html czy wszystko się pokazuje w takim miejscu i w takiej postaci jaką oczekujesz. Jeżeli nie - to sprawdź czego brakuje i to popraw. Jeżeli natomiast wszystko jest ok, to usuń z pliku z transakcjami przekierowania, a dodaj jakieś funkcje do wyświetlania tego co przesyłasz do tego pliku, np. var_dump($_POST) czy coś innego.. Jak to nie pomoże to będziemy myśleć dalej. Oczywiście jeżeli okaże się, że w transakcjach jest też dobrze, to tak samo zrób w pliku z edycją - gdzieś musi być jakiś mały błąd, a jak wiadomo - takie są najgorsze (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.08.2009 Skąd: wertykalne przez większość dnia Ostrzeżenie: (0%) ![]() ![]() |
do tego wszytskiego znalazlem jeszcze takie cos
case 'Edytuj'; redirect('edit.php?a=edit&text_id=' . $_POST['text_id']); a powinno byc redirect('edit.php?a=Edytuj&text_id=' . $_POST['text_id']); co i tak duzo nie zmienilo bo nadal nie dziala wpisałem w transact var_dump($_POST) wyniik array(2) { ["action"]=> string(6) "Edytuj" ["text_id"]=> string(1) " " } czyli wracamy do punktu wyjscia deklaracja zmiennej text_id ktorej nie ma maly update takie cos wyplodzilem w index.php
ale rezultat wciaz ten sam array(2) { ["action"]=> string(6) "Edytuj" ["text_id"]=> string(1) " " } |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Ok w takim razie jeszcze jedno pytanie z mojej strony.
Masz plik index.php w którym chcesz wyświetlić wybrany tekst na podstawie zmiennej text_id. Powiedz mi w jaki sposób informujesz skrypt, który tekst ma wyświetlić ? Bo z tego co pokazujesz jako efekt var_dump to zmienna $_GET['text_id'] jest po prostu pusta co świadczy o tym, że uruchamiasz plik index.php bez żadnych parametrów. (poprawnie powinno być np. tak : index.php?text_id=x, gdzie x to id konkternego tekstu). Edit. Wróć do poprzedniego index.php, tylko w zapytaniu SQL w miejscu gdzie masz "WHERE text_id =" daj $_GET['text_id'], a nie wartość 1 - na sztywno. Ten post edytował Suh 22.09.2009, 13:41:51 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.08.2009 Skąd: wertykalne przez większość dnia Ostrzeżenie: (0%) ![]() ![]() |
ups
no tak nic dziwnego ze nie dziala tym bardziej $_GET jest tu nie na miejscu No dobra ale skoro juz o tym mowa bo to i tak nie rozwiaze problemu bo to strona startowa - jak mam nadac index.php?text_id? po wpisaniu adresu laduje mi index.php i innej opcji raczej nie ma albo przynajmniej o tym nie czytalem. to nie moze byc zaden a w tym co mowisz zmienna jest w url i bedzie dawala znac co zamiescic na stronie - to nie wyswietli tekstu bo niby skad bedzie mial to wiedziec, ktory? - krotko mowiac i tak zle i tak niedobrze jest pewna opcja tak sie caly czas zastanawiam czy da tak rade to zrobic: w tabeli teksty mam nastepujace kolumny text_id, rowname, text krotko mowiac text_id, text wiadomo rowname - mialobyc na poczatku tylko do mojej wewnetrzenj informacji ktory tekst na ktorej stronie ma sie wyswietlac (w phpadminie zebym sie nie pogubil i nie pomylil co i gdzie) ale widze ze bedzie mozna z tego korzystac -wiec generalnie juz sama w sobie jest rozpisana tak, ze tylko jej uzywac bez koniecznosci modyfikacji rekordow zreszta sam ocen czyli w tym wypadku wiersz wyglada tak text_id=1, rowname=index, text=ąśżźć text_id=2, rowname=podstrona, text=łóćą wiec moze zrobic skrypt ktory bedzie wywolywal tekst na zasadzie select text, text_id from teksty where rowname="index" sprobuje jak mowie z tym rowname bo to jak narazie jedyny sposob na zdeklarowanie zmiennych na stronie powitalnej ktory mi przychodzi do glowy. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
No w porządku, tylko co w sytuacji gdy w większej ilości rekordów, kolumna rowname będzie miała wartość index. Wtedy wszystkie te rekordy zostaną wyświetlone.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.08.2009 Skąd: wertykalne przez większość dnia Ostrzeżenie: (0%) ![]() ![]() |
rowname moze byc dodatkowym kluczem co pozwala zrobic cos takiego:
zawsze mozna dodac columny text1 text2 i wywolywac je osobno - krotko mowiac nie beda spelniac warunku select text, text_id from teksty where rowname="index" |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
To już zależy od Twojego pomysłu, pamiętaj tylko żeby zawsze po wyciągnięciu odpowiedniego tekstu, wyciągać też jego id i umieszczać w odpowiednim miejscu, tak abyś potem mógł edytować/usuwać odpowiedni tekst.
Ten post edytował Suh 22.09.2009, 15:57:04 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 28.08.2009 Skąd: wertykalne przez większość dnia Ostrzeżenie: (0%) ![]() ![]() |
jasne bedę pamiętał.
i o to mi właśnie chodzi żebym mógł edytowac każdy z osobna więc w sumie jestem juz chyba na dobrej drodze. w każdym razie wielkie dzieki za pomoc |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 23:09 |