2016-02-04 3 views
1

Я создал этот JS-скрипт, который правильно создает формы.Пустая переменная PHP

<script> 

var proizvodac = ["Acer", "Apple", "Asus", "Dell", "HP", "Lenovo", "Toshiba"] 

document.write('<form method="post" action="proizvodi.php">') 
document.write('<input hidden="hidden" type="text" name="sqca" value="Laptop" />') 
document.write('<button class="button" type="submit" name="submit">Laptop</button>') 
document.write('</form>') 

for (i = 0; i < proizvodac.length; i++){ 
    document.write('<div class="nav-bot">') 
    document.write('<form method="post" action="proizvodi.php">') 
    document.write('<input hidden="hidden" type="text" name="sqcp" value="Laptop" />') 
    document.write('<input hidden="hidden" type="text" name="sqp" value="' + proizvodac[i] + '" />') 
    document.write('<button type="submit" name="submit">' + proizvodac[i] + '</button>') 
    document.write('</div>') 
} 
</script> 

А вот у меня есть PHP код, который работает с этими формами:

elseif(!empty($_POST['sqcp']) && !empty($_POST['sqp'])){ 

    $sqcp = mysqli_real_escape_string($conn, $_POST['sqcp']); 
    $sqp = mysqli_real_escape_string($conn, $_POST['sqp']); 
    $result = mysqli_query($conn, "SELECT Slika, Naziv, Opis, Cijena FROM Proizvodi WHERE Kategorija='$sqcp' AND Proizvodac='$sqp' ORDER BY Proizvodac"); 
} 

Теперь моя проблема заключается в том, что эти две переменные $sqcp и $sqp всегда возвращает пустую строку, даже то, что не должно. Может кто-нибудь сказать мне, почему?

Вот отлаживать часть:

if (!empty($sqcp) && !empty($sqp)) echo $sqcp . ", " . $sqp; 
else echo "Empty Variables"; 
} 
+2

Пожалуйста, всегда используйте {}, если инструкции, не делая этого, являются рецептом ошибок. –

+1

Прежде всего, вы не закрываете тег формы в своем цикле. No – ArrowHead

+0

@Toby Allen: О, не знал этого, спасибо за внимание. Ничего себе, как я пропустил это. Я исправлю это немедленно. – BloodDrunk

ответ

2

теги формы являются уродливы. Удалить этот второй <form> тег в for:

document.write('<form method="post" action="proizvodi.php">') 

Затем переместите эту строку:

document.write('</form>') 

быть после for, за ее пределами.

+0

Спасибо, недостающий закрывающий тег формы был проблемой. Он работает сейчас. – BloodDrunk

+0

Хорошо. сохраните все поля ввода, которые вы хотите разместить внутри формы. – pid

+0

Вам нужно спросить, какая форма. Есть 8 на этой странице – RiggsFolly

Смежные вопросы