Sytuacja jest taka, że mam. Stronę z formularzami i 2 stronę z transakcją. Formularze pokazuje przez $_GET np link=3&id=1 a dane do skryptu transakcji wysyłam postem.
fragment links.php
// --- Edytuj ---------------------------------------------------------------------- // case 'e': $e_query = "SELECT * FROM links WHERE id = $id LIMIT 1"; $e_result = mysqli_query($connect, $e_query); if(1 == mysqli_affected_rows($connect)) { $rows = mysqli_fetch_assoc($e_result); $link = FilterOutputData($link); $description = FilterOutputData($description); $action_form = <<< EditForm <form action="system/transact.php?p=links" method="post"> <fieldset> <legend>Edytuj link</legend> <label for="link">Link: </label><input class="one_line" maxlength="350" type="text" value="$link" name="link" /><br /> <label for="description">Opis: </label><input class="one_line" maxlength="350" type="text" value="$description" name="description" /><br /> <input type="hidden" name="id" value="$id" /> <input type="hidden" name="action" value="edit" /> <input type="submit" value="Edytuj" /> <input type="reset" value="Wyszczyść zawartość" /> </fieldset> </form> EditForm; mysqli_free_result($e_result); } else { AddReport('error', '<b>Błąd</b> - wybrany link nie istnieje'); } } else { AddReport('error', '<b>Błąd</b> - wybrany link nie istnieje'); } break;
i fragment transaction.php
case 'edit': FilterInputData($link); FilterInputData($description); AddReport('error', '<b>Błąd</b> - wybrany link nie istnieje'); break; } AddReport('error', '<b>Błąd</b> - Pole URL nie może być puste'); AddHttp($link); AddReport('error', '<b>Błąd</b> - Pole Opis nie może być puste'); $query = "UPDATE links SET link = '" .$link. "', description = '" .$description. "' WHERE id = '" .$id. "' "; $result = mysqli_query($connect, $query); if(!$result) { AddReport('error', '<b>Błąd</b> - Bład podczas połączenia z bazą danych'); } } AddReport('success', "<b>Link zmodyfikowany pomyślnie</b>"); else $redirect .= "&link=e&id=$id"; break;
I moje pytanie brzmi: W links.php przy wyświetlaniu formularza sprawdzam czy dany rekord istnieje w bazie, inaczej wywalam błąd, czy w skrypcie transakcji też powinienem jeszcze raz wykonać takie sprawdzenie w celach bezpieczeństwa czy nie muszę?
Z góry dziękuję za odp