#javascript #php #jquery #sql
#javascript #php #jquery #sql
Вопрос:
<html>
<head>
</head>
<body>
<a href="#" id="filldetails" onfocusout="addFields()"><input type="text" id="member" name="member" value="">Number of members: (max. 10)<br />
Fill Details</a>
<form class="contact-form row" method="post" action="test.php" enctype="multipart/form-data">
<div id="container"></div>
<div class="form-field col-lg-12">
<input class="submit-btn" type="submit" value="Submit" name="submit">
</div>
</form>
</body>
<?php
include('config.php');
$i=0;
if(isset($_POST['submit']))
{
$name = $_POST['member_name'.$i.''];
$sql="INSERT INTO `ssk`.`members` (`member_name`) VALUES ('$name')";
$query=mysql_query($sql,$con);
if($query)
{
echo '<div class="alert alert-success">
<strong>form submitted successfully your member-id is '.$member_id.' </strong>
</div>';?>
<script>
alert('Thank you! Your form has been submitted and is being verified please note-down the member-id.');
</script>
<?php
}else{
echo '<div class="alert alert-success">
<strong>unsuccessful please read the above data and fill the form accordingly.</strong>
</div>';
?>
<script>
alert('ERROR:Request unprocessed');
</script>
<?php
}
}
?>
</html>
Что я хочу, так это иметь форму, которая принимает количество полей, которые должны быть сгенерированы, после чего пользователь должен заполнить сгенерированные поля ввода, и данные должны быть сохранены в базе данных, есть ли у них какой-либо альтернативный способ сделать это с использованием PHP amp; MYSQL, который принимает ввод первых данных, но не работает динамически, пожалуйста, помогите мне с этим.
Комментарии:
1. Чего не делает ваш текущий код, для чего вам это нужно? Какие усилия вы приложили, чтобы заставить его работать, и какие конкретные проблемы у вас с ним возникли?
2. теперь я разместил php-код, помогите мне с этим @NigelRen
Ответ №1:
Используя структуру, которая у вас уже есть, вы могли бы просто поместить цикл while в php:
if(isset($_POST['submit']))
{
while(isset($_POST['member_name'.$i]))
{
$name = $_POST['member_name'.$i.''];
$sql = "INSERT INTO `ssk`.`members` (`member_name`) VALUES ('$name')";
//rest of the code here
//increment $i
$i ;
}
}
Вы могли бы также использовать массивы для входных данных формы, например, input.name = "member_name[]"
и тогда цикл в php мог бы быть foreach($_POST['member_name'] as $i=>$name)
.
Пожалуйста, также изучите проверку переменных post и правильную подготовку инструкций sql, чтобы вы не были открыты для sql-инъекции или проблем, если имя содержит кавычки.
Комментарии:
1. спасибо за ваш ответ, это было действительно полезно, наконец, удалось после многих усилий 🙂