У меня есть форма, которая позволяет пользователям вводить классы и действия в несколько полей, эти поля объявляются следующим образом:
label for ="classact">Classes and Activities</label> <input type = "text" name = "classact[0]" value ="" id ="classact[0]"> <input type = "text" name = "classact[1]" value ="" id ="classact[1]"> <input type = "text" name = "classact[2]" value ="" id ="classact[2]">
Когда форма передается, это код, который обрабатывает вставку:
$maininsert = "INSERT INTO `camptest` (`name`, `city`, `phone`, `photo`) VALUES ('$_POST[name]', '$_POST[city]', '$_POST[phone]', '$photoinfo') SET @lid = LAST_INSERT_ID() "; $classactinsert = "INSERT INTO `class_act` (`cid`"; for($i = 0; $i < 3; $i++) { if(isset($_POST['classact'][$i])) { $temp = $i+1; $classactinsert = $classactinsert . ",`act$temp`"; } } $classactinsert = $classactinsert . ") VALUES ('@lid'"; for($i = 0; $i < 3; $i++) { if(isset($_POST['classact'][$i])) { $classactinsert = $classactinsert . ",'$_POST[classact][$i]"; } } $classactinsert = $classactinsert . ")"; $indata = $maininsert . $classactinsert; $result = mysql_query($indata);
Я понимаю, что много кода, но после заполнения формы и отправки этого запроса создается запрос:
INSERT INTO `camptest` (`name`, `city`, `phone`, `photo`) VALUES ('Multiple Activities', 'Nowhere', '555-555-1111', 'images/51127f6b06d1e.jpg') SET @lid = LAST_INSERT_ID() INSERT INTO `class_act` (`cid`,`act1`,`act2`,`act3`) VALUES ('@lid','Array[0],'Array[1],'Array[2])
Запрос не вставляет, но он не отбрасывает никаких ошибок, даже если я их включил.
Мой главный вопрос: что я делаю неправильно, что приводит к тому, что значения act1, act2 и act3 отображаются как Array [0], Array [1] и Array [2]?
Мой второстепенный вопрос: я даже собираюсь сделать это правильно? Я немного новичок в php, и, боюсь, я могу сделать это с трудом?
Любая помощь будет оценена, дайте мне знать, если вам нужна дополнительная информация.