Witam,
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');
if(empty($_SESSION['reports'])) { $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');
}
}
if (empty($_SESSION['reports'])) 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
Ten post edytował nait 1.10.2011, 18:02:56