Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Komunikaty zwrotne na strone główną
Agape
post
Post #1





Grupa: Zarejestrowani
Postów: 384
Pomógł: 13
Dołączył: 16.06.2006

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


Rzecz banalna i potrafię ją zrobić tylko jak? Chodzi mi o komunikaty zwrotne typu:

nie prawidłowe hasło
pomyślne zalogowanie
haslo zostało wysłane na e-mail
produkt został dodany do koszyka / usuniety z koszyka

Można to zrobić prosto (i zarazem pewnie źle) przesyłając komunikat przez post/get na strone główną, ale dzięki temu ktoś może spreparować link wstrzykując swoją treść na strone główną.
Można też zrobić listę komunikatów, ale skoro jest z parenaście komunikatów czy takie rozwiązanie jest optymalne ? i jak przesyłać komunikaty ? np adres.pl?komunikat=45 (czyli np "pomyslnie zalogowano"), wtedy tez teoretycznie ktoś może spreparować link, tylko ze bardzo nie wiele mu to da, a gdy jeszcze komunikaty są przez post przesylane...

Nie mam obeznania w tym jakie techniki się stosuje dlatego to pytanie jak najlepiej to zrobić. Druga opcja brzmi rozsądnie ale chce się upewnić zamiast stosować "złe" praktyki

Ten post edytował Agape 3.03.2010, 09:33:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Agape
post
Post #2





Grupa: Zarejestrowani
Postów: 384
Pomógł: 13
Dołączył: 16.06.2006

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


Dobrze że zadałem pytanie by zrobił bym to strasznie po lamersku. Dzięki bardzo za pomoc a skoro już spytałem się o to to może pomożesz mi jeszcze w 2 sprawach w stylu jak to dobrze zrobić, ponieważ zawsze przesyłałem między stronami zmienne ale z Twoich sugestii widzę, że robiłem chyba źle. Ogólnie cały plik user.php i resztę mam zrobioną tak:

  1. if (isset($_POST['mail'], $_POST['haslo'])){
  2. logowanie...
  3. }elseif(isset($_GET['akcja']) && $_GET['akcja']=='zapisz'){
  4. ...
  5. }elseif(isset($_GET['akcja']) && $_GET['akcja']=='zmien_dane'){
  6. ...
  7. }elseif(isset($_GET['pokaz']) && $_GET['pokaz']=='rejestracja'){
  8. ...
  9. }elseif(isset($_GET['pokaz']) && $_GET['pokaz']=='edytuj'){
  10. ...
  11. }elseif(isset($_GET['pokaz']) && $_GET['pokaz']=='przypomnij-haslo'){
  12. ...
  13. }else echo 'nie przeslano odpowiednich danych';


dodatkowo w index php includuje wszystko przez switch ale to chyba nie jest już tak źle:
  1. if(isset($_GET['pokaz'])){
  2. switch($_GET['pokaz']){
  3. case 'cennik':
  4. include 'include/wyswietl_text.php'; break;
  5. case 'produkty':
  6. include 'include/produkty.php'; break;
  7. case 'gorne':
  8. include 'include/wyswietl_text.php'; break;
  9. case 'rejestracja':
  10. include 'include/user.php'; break;
  11. case 'logowanie':
  12. include 'include/user.php'; break;
  13. case 'edytuj':
  14. include 'include/user.php'; break;
  15. case 'przypomnij-haslo':
  16. include 'include/user.php'; break;
  17. default:
  18. include 'include/pasek_nawigacyjny.php'; pasek_nawigacyjny();
  19. $strona_glowna = mysql_query('SELECT `zawartosc` FROM `menu` WHERE `typ`="glowna" AND `nazwa`="glowna"');
  20. $zawartosc_glowna = mysql_fetch_assoc($strona_glowna);
  21. echo $zawartosc_glowna['zawartosc'];
  22. break;
  23. }
  24.  
  25. }else{
  26. include 'include/pasek_nawigacyjny.php'; pasek_nawigacyjny();
  27. $strona_glowna = mysql_query('SELECT `zawartosc` FROM `menu` WHERE `typ`="glowna" AND `nazwa`="glowna"');
  28. $zawartosc_glowna = mysql_fetch_assoc($strona_glowna);
  29. echo $zawartosc_glowna['zawartosc'];
  30. }


$_GET['pokaz'] jest jak coś includuje bezpośrednio na index.php a $_GET['akcja'] jak otwieram plik bezpośrednio i przekierowywuje później co już wiem, że jest źle ale chodzi o ogólną konstrukcje, bo rozumiem, że zamiast if ... elseif ....elseif .... else można to zrobić "po ludzku" z funkcjami, ale jak ? Mam 2 pliki ze skryptami, user.php i koszyk.php gdzie jest po 250 i 500 linijek reszta plików jest po jednej funkcji, tak więc myśle tak:

  1. isset($_GET['user']){
  2. include user.php
  3. switch($_GET['user']){
  4. case 'rejestracja':
  5. $result = rejestracja(); break
  6. case 'logowanie':
  7. $result = logowanie; break;
  8. case 'edytuj':
  9. $result = edytuj(); break;
  10. case 'przypomnij-haslo':
  11. $result = Przypomnij_haslo(); break;
  12. }
  13. }


Wiem, że dla Ciebie to pewnie "rzeźnia" mój pierwotny kod, ale jak się uczyłem php nigdzie nie czytałem jak "powinno się pisać", po prostu uczyłem się kodu i sam kombinowałem. Jestem w trakcie pisania pierwszej dużej strony i pytam ponieważ jak się nabierze złych nawyków, te nawyki często zostają.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 23:51