#php #mysql #forms #post
#php #mysql #формы #Публикация
Вопрос:
Я пытаюсь получить пользовательские данные из нашей базы данных, а затем автоматически передать этих пользователей на мой gotowebinar. Автоматический код будет выполнен на php. Вот код. Мне интересно, почему он не будет передавать данные на страницу gotowebinar. Я смог успешно получить данные. Но когда я добавил свой код для формы «post» в gotowebinar, он не передаст данные. Я надеюсь, что вы могли бы помочь мне с этим. Большое вам спасибо.
<?php
$conn = new mysqli("mywebsite.com", "myusername", "mypassword", "mydatabase");
// check connection
if ($conn->connect_error) {
trigger_error('Database connection failed: ' . $conn->connect_error, E_USER_ERROR);
}
$sql = "SELECT name, email FROM users WHERE username = 'Manny'";
$rs=$conn->query($sql);
$rs->data_seek(0);
while($row = $rs->fetch_assoc()){
?>
<form action="https://attendee.gotowebinar.com/register/11111111111" id="formGTW" method="post">
<input type="hidden" name="registrant.givenName" value="<?php echo $row['name'] ?>" />
<input type="hidden" name="registrant.surname" value="GTN" />
<input type="hidden" name="registrant.email" value="<?php echo $row['email'] ?>" />
<script type="text/javascript">
$(document).ready(function(){
$("#formGTW").submit();
});
</script>
<?php } ?>
</form>
Комментарии:
1. Вы печатаете
<form ac...
так же, как и javascript несколько раз.
Ответ №1:
Вы печатаете <form>
, а также javascript внутри цикла while, поэтому он будет напечатан несколько раз.
$rs->data_seek(0);?>
<form action="https://attendee.gotowebinar.com/register/11111111111" id="formGTW" method="post">
<?php while($row = $rs->fetch_assoc()){
?>
<input type="hidden" name="registrant.givenName[]" value="<?php echo $row['name'] ?>" />
<input type="hidden" name="registrant.email[]" value="<?php echo $row['email'] ?>" />
<?php } ?>
<input type="hidden" name="registrant.surname" value="GTN" />
<script type="text/javascript">
$(document).ready(function(){
$("#formGTW").submit();
});
</script>
Примечание: я добавил []
after registrant.givenName
в поле name, чтобы все данные (если цикл выполняется более одного раза) были отправлены.
Комментарии:
1. Привет, Субханкер, наконец-то сработало! Однако сейчас причиной ошибки является javascript, который я использую для отправки формы. После того, как я заменил его на этот, «document.getElementById(«formGTW»).submit();», теперь он работает. Спасибо за помощь в организации цикла. 🙂
2. Рад видеть, что это помогло.