I am trying to save multiple textfield by language, and when saving if there is an empty textfield of any language, ignore it but for some error my code does not work correctly and when i click submit only save the first textfield
Database
+----------+------------+---------------+
| email_id | email_lang | email_content |
+----------+------------+---------------+
| | | |
+----------+------------+---------------+
Html
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<input type="text" value="<?php echo $_GET['id']; ?>" name="email_id" hidden>
<?php foreach ($languages as $lang): ?>
<input type="text" value="<?php echo $lang ?>" name="email_lang">
<textarea type="text" value="1" name="email_content"></textarea>
<?php endforeach ?>
<button type="submit" name="save">Save</button>
</form>
Php
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$sentence = $connect->prepare("INSERT INTO emailtemplates (email_id,email_lang,email_content) VALUES (:email_id, :email_lang, :email_content)");
$email_id = $_POST['email_id'];
$email_lang = $_POST['email_lang'];
$email_content = $_POST['email_content'];
$sentence->execute(array(
':email_id' => $email_id,
':email_lang' => $email_lang,
':email_content' => $email_content
));
}
$languages = ['en', 'fr', 'ru'];
require '../views/new.email.view.php';
?>
Expected results
+----------+------------+-----------------+
| email_id | email_lang | email_content |
+----------+------------+-----------------+
| 1 | en | english content |
| 1 | fr | french content |
+----------+------------+-----------------+