На странице просмотра в интернет-магазине я пытаюсь создать кнопку «Добавить в корзину», но при нажатии кнопки пустое поле (содержащее только нули во всех строках) просто вставляется в таблицу «cart_items».
Я бы хотел, чтобы addtocart.php вставлял все строки в таблицу cart_items.
Это код кнопки:
<form action="addtocart.php" method="post">
<td><input name="id" type="hidden" value="'.$id.'" /></td>
<td>
<div><input type="submit" name="submit" value="Føj til kurv" /></div>
</td>
</form>
$id
определяется как $row['id']
ранее в документе.
Это код addtocart.php:
<?php
ob_start();
mysql_connect("localhost","root","") or die("Could not connect");
mysql_select_db("comics") or die("could not find DB");
if(!is_numeric($_POST['id'])) {
$eID=mysql_escape_string($_POST['id']);
}
$addtocart="INSERT INTO cart_items SET id='".$eID."'";
mysql_query($addtocart);
header("location:browsedata2.php");
exit;
ob_end_flush();
?>
Я не получаю никаких ошибок, он просто добавляет пробел.
Я не уверен, что дал достаточно информации, если вам нужно больше, просто скажите.
Пожалуйста, помогите.
Это потому что $_POST["id"]
это не число, это строка. Так $eID
никогда не устанавливается.
Попробуй это;
$eID=intval($_POST["id"]);
вместо ;
if(!is_numeric($_POST['id'])) {
$eID=mysql_escape_string($_POST['id']);
}
вы проверяете с !is_numeric()
который установит $eID
только если id
не является числовым Попробуйте с —
if(is_numeric($_POST['id'])) {
$eID=mysql_escape_string($_POST['id']);
$addtocart="INSERT INTO cart_items SET id='".$eID."'";
mysql_query($addtocart);
} else {
// show some error if you want
}