Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z formularzem
Forum PHP.pl > Forum > Przedszkole
Turson
Jest sobie plik z formularzem (dokładniej w tabelce):
  1. $zapytanie4 = mysql_query("SELECT * FROM ogloszenia WHERE user_id=$_SESSION[user_id]") or die(mysql_error());
  2. if ($zapytanie4)
  3. {
  4. $w = mysql_fetch_array($zapytanie4);
  5. echo '<table style="width:100%;border-spacing:0 10px" id="pokaz_table">';
  6. while($w = mysql_fetch_assoc($zapytanie4))
  7. {
  8. echo '
  9. <form action="index.php?page=edytuj_ogloszenie" method="post">
  10. <input type="hidden" name="id" value="'.$w["id"].'"/>
  11. <tr>
  12. <td><a href="index.php?page=pokaz&id='.$w["id"].'">'.$w["tytul"].' '.$w["metraz"].'m˛</a></td>
  13. <td>'.$w["miasto"].' </td>
  14. <td>'.$w["cena"].'zł</td>
  15. <td style="border-left:5px solid white"><input type="image" src="images/Edit.png" style="border:0" name="edytuj"></td>
  16. <td style="border-left:2px solid white"><input type="image" src="images/delete2.png" style="border:0" name="usun"></td>
  17. </tr>
  18. </form>
  19. ';
  20. }
  21. echo '</table>';
  22. }


Oraz plik odbierający formularz:
  1. $zapytanie4 = mysql_query("SELECT * FROM ogloszenia WHERE user_id=$_POST[id]") or die(mysql_error());
  2. if ($zapytanie4)
  3. {
  4. $w = mysql_fetch_array($zapytanie4);
  5. $id = $_POST["id"];
  6. $tytul = $w["tytul"];
  7.  
  8. if(isset($_POST["usun"]))
  9. {
  10. echo '<a href="index.php?page=pokaz&id='.$id.'"><font style="font-size:17px">'.$tytul.'</font></a>';
  11. echo 'Czy na pewno chcesz usunąć to ogłoszenie?';
  12. }
  13. else
  14. {
  15. echo "NIC";
  16. }
  17. }


Problemem jest to, że jak wcisnę w przycisku input "usuń" to dalej wyświetla mi się "NIC".
Helid
1) http://matkrzesz.wordpress.com/2010/04/10/...nput-typeimage/
2) SQL Injection możliwe
3) $_POST['usun'] nie ma prawdopodobnie nadanej wartości, musisz do inputa dodać pole value z wartością np. true
Turson
Ok, z przyciskiem gotowe.

Czemu mam tutaj uważać na SQL Injection?
Tajgeer
Brak filtrowania danych z tablicy $_POST, czyli tych, które są wysyłane przez użytkownika.
Turson
Ale użytkownik nie wpisuje tu nic, tylko klika, więc nie wiem po co miałbym filtrować
Tajgeer
To w końcu nic nie wpisuje, czy wpisuje "kilka"?

Podstawą jest, aby wszystkie dane, które przychodzą od użytkownika były filtrowane.

http://webmade.org/porady/bezpieczenstwo-p...on-xss-csrf.php
Turson
Cytat(Tajgeer @ 1.08.2013, 20:16:58 ) *
To w końcu nic nie wpisuje, czy wpisuje "kilka"?

K L I K A tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.