Mam prośbę o poradę.
Na formularz dodawania rekordu do bazy wchodzę klikając w mapę. Zmienne są w adresie i mają postać
dodaj-punkt.php?lat=52.308853&lng=29.776051&zoom=6
Formularz prawidłowo je pobiera.
Jeśli ktoś prawidłowo wypełni pozostałe pola $nazwa i $opis wszystko jest w porządku
Jednak gdy nie wypełni któregoś z nich dostaje komunikat: Wypełnij wszystkie pola z sekcji 2 i 3. (czyli nazwa i opis)
Wówczas adres strony traci zmienne dodaj-punkt.php a pola lat lng i zoom otrzymują wartości domyślne.
Powinny jednak utrzymać wcześniej wprowadzone wartości. Co robię źle?
To mój kod
<?php
$getlat= isset($_GET['lat'])?
$_GET['lat']:'52.42922'; $getlng= isset($_GET['lng'])?
$_GET['lng']:'19.42383'; $getzoom= isset($_GET['zoom'])?
$_GET['zoom']:'6';
if ($getlat!=''){
echo '<script type="text/javascript">'; echo "let startuplat = $getlat;"; echo "let startuplng = $getlng;"; echo "let startupzoom = $getzoom;"; }
?>
<?php
if(isset($_POST['dodaj'])) { $color = $r.$g.$b;
$date = date('Y-m-d H:i:s');
$lat = $_POST['lat'];
$lng = $_POST['lng'];
$zoom = $_POST['zoom'];
$nazwa = trim($_POST['nazwa']); $opis = trim($_POST['opis']); $slowa_kluczowe = trim($_POST['slowa_kluczowe']); $foto = $_POST['foto'];
$forum = $_POST['forum'];
if(!$lat || !$lng || !$zoom || !$nazwa || !$opis) {
echo "<div class='error-box'><div class='content'><h4>Błąd</h4><p>Wypełnij wszystkie pola z sekcji 2 i 3.</p></div></div>"; }else{
mysql_query('INSERT INTO `miejsca-user` VALUES("", null, 0, 0, "'.$color.'", "'.$date.'", "'.$lat.'", "'.$lng.'", "'.$zoom.'", "'.$nazwa.'", "'.$opis.'", "'.$slowa_kluczowe.'", "'.$foto.'", "'.$forum.'")'); echo "<div class='success-box'><div class='content'><h4>Sukces</h4><p>Miejsce zostało dodane. Oczekuje na akceptację przez administratora.</p></div></div>"; }else{
echo "<div class='error-box'><div class='content'><h4>Błąd</h4><p>Nazwa musi mieć minimum 3 znaki, a opis minimum 5 znaków.</p></div></div>"; }
}
}
?>