Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
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ś (IMG:http://forum.php.pl/style_emoticons/default/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?
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
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.
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ł (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 22:33