Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]skrypt komentarzy - administracja
maraska
post 22.04.2013, 10:25:12
Post #1





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

Ostrzeżenie: (0%)
-----


Dzień dobry.
Wdrażam prosty skrypt komentarzy i mam problem ze stroną administarcji.

Są dwa pliki
1. panel.php
  1. <?php
  2. $result = mysql_query("SELECT * FROM komentarze WHERE status='0' order by data DESC");
  3. $row = mysql_fetch_array($result);
  4.  
  5. do
  6. {
  7. echo'<div style="float: left; width:6%;"><font color="red">'.$row['id'].'</font></div>
  8. <div style="float: left; width:10%;">'.substr($row['autor'], 0, 9).'</div>
  9. <div style="float: left; width:25%;">'.substr($row['data'], 0, 24).'</div>
  10. <div style="float: left; width:33%;">'.substr($row['tresc'], 0, 30).'</div>
  11. <div style="float: left; width:18%"><a href="panel.php?page=edytuj_komentarz_tresc&id='.$row['id'].'" target="_parent"></a>
  12. <a href="panel.php?page=usun_komentarz&id='.$row['id'].'" target="_parent">Usuń</a></div><br>';
  13. }
  14. while($row = mysql_fetch_array($result));
  15. ?>
  16.  


i edytuj_komentarz_tresc.php

  1. <?php
  2. function edytuj_komentarz_tresc($id)
  3. {
  4. {
  5. $ok = trim($_POST['ok']);
  6. $result = mysql_query("SELECT * FROM komentarze WHERE id='$id'");
  7. $row = mysql_fetch_array($result);
  8. echo'<form action="" method="post">
  9. <div style="float: left; width:30%;">Autor</div>
  10. <div style="float: left; width:70%"><textarea name="autor" cols="65" rows="1">'.stripslashes($row['autor']).'</textarea></div>
  11. <div style="float: left; width:30%;">Data</div>
  12. <div style="float: left; width:70%"><textarea name="data" cols="65" rows="1">'.stripslashes($row['data']).'</textarea></div>
  13. <div style="float: left; width:30%;">Treść</div>
  14. <div style="float: left; width:70%"><textarea name="tresc" cols="65" rows="4">'.stripslashes($row['tresc']).'</textarea></div>
  15. <div style="float: left; width:30%;">IP autora</div>
  16. <div style="float: left; width:70%"><textarea name="ip" cols="65" rows="2" readonly="readonly">'.stripslashes($row['ip']).'</textarea></div>
  17. <div style="float: left; width:30%;">HOST autora</div>
  18. <div style="float: left; width:70%"><textarea name="host" cols="65" rows="2" readonly="readonly">'.stripslashes($row['host']).'</textarea></div>
  19. <div style="float: left; width:30%;">Status</div>
  20. <div style="float: left; width:70%"><input type="checkbox" name="status" value="1"/> Pokaż na stronie<p></div> //jeśli zaznaczymy komentarz pojawi się na stronie
  21. <div style="float: left; width:30%;">Finalizacja</div>
  22. <div style="float: left; width:70%"><input type="submit" name="ok" value="Edytuj">
  23. <input type="reset" value="Reset"></div>
  24. </form>';
  25.  
  26. }
  27. if ($ok == 'Edytuj')
  28. {
  29. $autor = $_POST['autor'];
  30. $data = $_POST['data'];
  31. $tresc = $_POST['tresc'];
  32. $status = $_POST['status'];
  33. mysql_query ("UPDATE komentarze SET autor='$autor', data='$data', tresc='$tresc', status='$status' WHERE id=$id ")
  34. or die('Błąd zapytania');
  35. }
  36. }
  37. ?>


Pierwszy chodzi i pokazuje komentarze do edycji, ale kliknięcie w Edytuj, które powinno zwrócić formularz Edycji, co prawda zwraca stronę z adresem: /panel.php?page=edytuj_komentarz_tresc&id=11,
ale jest na niej tylko komentarz do edycji zamiast formularza edycji (czyli dokłądnie to samo co na stronie /panel.php

Gorąca prośba o pomoc
Go to the top of the page
+Quote Post
Greg0
post 22.04.2013, 11:01:45
Post #2





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


po pierwsze są dwie klamry nie wiadomo po co, a po drugie to jest wszystko we funkcji, której nigdzie nie wywołujesz. Chyba że twój router działa w określony sposób i wykonuje tą funkcję to zwracam honor.
Go to the top of the page
+Quote Post
Mega_88
post 22.04.2013, 11:17:58
Post #3





Grupa: Zarejestrowani
Postów: 360
Pomógł: 34
Dołączył: 20.08.2011

Ostrzeżenie: (0%)
-----


Cytat(Greg0 @ 22.04.2013, 12:01:45 ) *
po pierwsze są dwie klamry nie wiadomo po co, a po drugie to jest wszystko we funkcji, której nigdzie nie wywołujesz. Chyba że twój router działa w określony sposób i wykonuje tą funkcję to zwracam honor.


Czyli coś w ten desień:

  1. echo function edytuj_komentarz_tresc($id);

Go to the top of the page
+Quote Post
CuteOne
post 22.04.2013, 11:22:04
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


  1. function a() {
  2. echo "AAA";
  3. }
  4.  
  5. a();


@edit !*!
chce echowac w funkcji... niech echuje tongue.gif

Ten post edytował CuteOne 22.04.2013, 13:06:42
Go to the top of the page
+Quote Post
!*!
post 22.04.2013, 11:26:36
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


1. kod PHP z HTML? Bleee
2. CuteOne "no weźźźź noooo"

  1. function a()
  2. {
  3. return 'aaaa';
  4. }
  5.  
  6. echo a();


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
maraska
post 23.04.2013, 09:43:18
Post #6





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

Ostrzeżenie: (0%)
-----



Czy moglibyście spojrzeć jeszcze raz na ten kod powyżej?

Mimo wstawienia wywołania funkcji

edytuj_komentarz_tresc($id);

po ostatnim

}

Nie działa sad.gif

Ten post edytował maraska 23.04.2013, 09:54:27
Go to the top of the page
+Quote Post
Greg0
post 23.04.2013, 10:23:28
Post #7





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Zdaje się że jako parametr funkcji powinieneś podać jakieś ID, a z tego co widzę przekazujesz je przez GET, a nie zmienną $id.
Go to the top of the page
+Quote Post
maraska
post 23.04.2013, 10:36:26
Post #8





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

Ostrzeżenie: (0%)
-----


Cytat(Greg0 @ 23.04.2013, 11:23:28 ) *
Zdaje się że jako parametr funkcji powinieneś podać jakieś ID, a z tego co widzę przekazujesz je przez GET, a nie zmienną $id.


Dziękuję za odpowiedź.
Czy mógłbyś nieco rozwinąć. Jak to powinno wyglądać?
Go to the top of the page
+Quote Post
Greg0
post 23.04.2013, 12:00:14
Post #9





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


  1. edytuj_komentarz_tresc($_GET['id']);

lub
  1. $id = $_GET['id'];
  2. edytuj_komentarz_tresc($id);
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 17:36