Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Edycja
Max Damage
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Cześć, mam taki oto skrypt, jeśli nie istnieje $ed to pokazuje mi linki, po ich wciśnięciu wykonywane jest zapytanie do bazy, i tu pojawia się problem, ponieważ nie przekazuje mi wtedy zmiennych $tabela i $id. Jak to poprawić?

  1. <?
  2. $id=$_GET['id'];
  3. $tabela=$_GET['marka'];
  4. $ed=$_GET['ed'];
  5.  
  6. if(!isset($_GET['ed'])){
  7. echo "<a href='edytuj.php?ed=kraj'>dodaj/edytuj kraj</a><br />";
  8. echo "<a href='edytuj.php?ed=masa'>dodaj/edytuj mase własną</a><br />";
  9. }
  10.  
  11. else {
  12. $ed=$_GET['ed'];
  13.  
  14. $wynik=mysql_query("SELECT * FROM $tabela WHERE id='$id'") or die (mysql_error());
  15. $wiersz=mysql_fetch_assoc($wynik);
  16.  
  17. if($ed=='kraj') {
  18. ?>
  19. Kraj: 
  20. <form action='dodaj_auto.php' method='post' enctype='multipart/form-data'>
  21. <input size='20' name='dzien' value="<?php echo $wiersz['kraj'] ?>">
  22. <input type="submit" name='wyslij' value="wyslij" />
  23. echo "</form>";
  24. <?php
  25. }
  26. elseif($ed=='masa') {
  27. ?>
  28. Masa: 
  29. <form action='dodaj_auto.php' method='post' enctype='multipart/form-data'>
  30. <input size='20' name='dzien' value="<?php echo $wiersz['masa'] ?>">
  31. <input type="submit" name='wyslij' value="wyslij" />
  32. </form>
  33. <?php
  34. }
  35. }


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
Pride
post
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

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


Huhu w sumie to albo ja z rana nie "ogarniam", albo coś tu za mało info/kodu podałeś tongue.gif
Swoją drogą patrząc na to, to jak ma ci to przekazać, jeżeli w tym momencie (wywołania kodu jeszcze raz) get jest pusty? Powinno być: dodaj_auto.php?id=X&table=Y
Ogólnie to po co wkładasz tego get'a do zmiennej? Nie możesz go bezpośrednio wstawić do zapytania?


--------------------
Kto pyta - nie błądzi, kto szuka - znajduje.
Go to the top of the page
+Quote Post
Shili
post
Post #3





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


  1. <?php
  2. echo "<a href='edytuj.php?ed=kraj&tabela=".$tabela."&id=".$id."'>dodaj/edytuj kraj</a><br />";
  3. ?>

Powinieneś jeszcze wcześniej sprawdzić, czy tabela i id nie są puste.

I oczywiście Twój skrypt jest dziurawy jak stare sito. Poczytaj sobie o filtrowaniu zmiennych pochodzących od użytkownika, czyli między innymi tych przekazywanych w adresie.

Cytat
Ogólnie to po co wkładasz tego get'a do zmiennej? Nie możesz go bezpośrednio wstawić do zapytania?
Prościej się na nich operuje.
Go to the top of the page
+Quote Post
Pride
post
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

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


Cytat(Shili @ 16.07.2008, 11:33:53 ) *
Prościej się na nich operuje.

No czy ja wiem. Przy większych skryptach to po prostu zaśmiecanie kodu, kiedy masz ~10 postów które zamieniasz na 10 zmiennych, które tak czy siak musisz wstawić do zapytania.

Ten post edytował Pride 16.07.2008, 10:41:14


--------------------
Kto pyta - nie błądzi, kto szuka - znajduje.
Go to the top of the page
+Quote Post
Max Damage
post
Post #5





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Prawdę mówiąc nie chciałem już tego wszystkiego wklejać do linka, bo jak tak dalej pójdzie to będzie miał tam z 10 zmiennych, no ale skoro tak musi być to ok. A jeśli chodzi o bezpieczeństwo to póki co nie zwracam na to uwagi, to mój pierwsza strona taka z prawdziwego zdarzenia więc najpierw chciałbym aby wszystko chodziło jak trzeba.
Dzięki.


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
Shili
post
Post #6





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Si, ale przy profesjonalnym skrypcie, gdzie usuwasz niebezpieczne znaki, być może usuwasz również tagi i rzutujesz liczbę wygodniej jest to robić poprzez $pole = (rzutuj)funkcja1(funkcja2($_GET['pole']));

A tworzenie zapytania z taką filtracją lub przypisanie filtrowanych danych bezpośrednio do geta nie uważam za zbyt dobry pomysł winksmiley.jpg

Cytat
A jeśli chodzi o bezpieczeństwo to póki co nie zwracam na to uwagi, to mój pierwsza strona taka z prawdziwego zdarzenia więc najpierw chciałbym aby wszystko chodziło jak trzeba.
To uważaj, bo jak ktoś dropnie Ci bazę, to na pewno nie będzie chodzić jak trzeba tongue.gif

Ten post edytował Shili 16.07.2008, 10:45:01
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 Aktualny czas: 19.08.2025 - 21:57