Witam,
przerabiam pewnego cms'a i w podstronie umieściłem kod, który prezentuję poniżej. Problem polega na tym, że każde naciśnięcie powoduje wpisanie dwóch rekordów w bazie. Nie wiem dlaczego tak się dzieje - nie widzę przyczyny w kodzie. Jeżeli ktoś ma jakieś sugestie w tym względzie to proszę o info bo zatrzymałem się z pracami.
<?php
$input_name = '<input type="text" name="contact_name" value="" size="35" />';
if ($_SERVER["REQUEST_METHOD"] == "POST"){
isset($_POST['contact_name']) ? $contact_name = addslashes($_POST['contact_name']) : $contact_name = '';
$nameErr='';
if (empty($contact_name))
{$nameErr = '<span style="color:#d60e27;">Nie podałeś swojego imienia</span>';}
// przypisanie poprzednio wpisanej wartości pól przy błędnej walidacji
if (!empty($contact_name)) {
$input_name =
'<input type="text" name="contact_name" value="'.$contact_name.'" size="35" />';
}
if($nameErr==''){
SQLInsert
(
"asks",
array("id", "ask_date", "sender", "sender_ip", "recipient", "content"),
array("NULL",time(),"some_email",$_SERVER['REMOTE_ADDR'],"some_dealer","text_of_message")
);
//after sending clear variables
$input_name = '<input type="text" name="contact_name" value="" size="35" />';
$nameErr='';
$contact_name='';
}
}
echo'
<div style="width:360px; padding:5px;">
<form method="post" action="">
<div class="row">
<span class="label">Twoje imię:</span><span
class="formw">'.$input_name.$nameErr.'</span>
</div>
<div class="row">
<input type="submit" value="Wyślij" id="send" name="send" /><br /><br />
</div>
</form>
</div>';
?>
Pozdrawiam i z góry dziękuję za odpowiedzi