Codeigniter ile yazılmış bir projeye modal içinde öneri formu yaptım başka sayfaya post edince aşağıdaki hatayı alıyorum.
An Error Was Encountered
The action you have requested is not allowed.
Post ettiğim sayfaya manuel urlden girince açılıyor ama post edince böyle hata veriyor neden olabilir?
<!-- Öneri Modal -->
<div class="modal fade" id="oneriModal" aria-labelledby="oneriModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="oneriModal"><i class="fa fa-edit"></i> Öneri Formu</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="alert alert-primary"><i class="fa fa-info"></i> Yorum ve önerilerinizi bize yazabilirsiniz.</div>
<form action="<?= base_url('oneri') ?>" method="POST">
<input type="hidden" name="token" id="token" value="<?php echo $token; ?>" />
<div class="form-group">
<label><i class="fa fa-user-secret"></i> Gizlilik</label>
<div class="form-check">
<input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault1" checked>
<label class="form-check-label" for="flexRadioDefault1">
İsmim Gözükebilir
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault2">
<label class="form-check-label" for="flexRadioDefault2">
İsmim Gözükmesin (Anonim)
</label>
</div>
</div>
<div class="form-group">
<label>Öneri Konusu</label>
<select class="form-control" name="konu" id="konu" required>
<option value="">Lütfen konu seçin</option>
<option value="Üretim/hizmet sürecini iyileştiren">Üretim/hizmet sürecini iyileştiren</option>
<option value="Ürün/hizmet konusunu arttıran">Ürün/hizmet konusunu arttıran</option>
<option value="Tasarruf sağlayan">Tasarruf sağlayan</option>
<option value="İşi kolaylaştıran">İşi kolaylaştıran</option>
<option value="Çalışma ortamını iyileştiren">Çalışma ortamını iyileştiren</option>
<option value="İletişimi arttıran">İletişimi arttıran</option>
<option value="İş güvenliğini arttıran">İş güvenliğini arttıran</option>
<option value="Yönetimsel iyileştirme">Yönetimsel iyileştirme</option>
<option value="Motivasyonu arttıran">Motivasyonu arttıran</option>
<option value="İnovatif">İnovatif</option>
<option value="Diğer">Diğer</option>
</select>
</div>
<div class="form-group">
<label>Başlık</label>
<div class="input-group">
<input type="text" name="title" value="" placeholder="Başlık" class="form-control" id="baslik" name="baslik" required />
</div>
</div>
<div class="form-group">
<label>Açıklama</label>
<div class="input-group">
<textarea type="textarea" class="form-control" placeholder="Açıklama" name="description" id="aciklama" name="aciklama" required></textarea>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" id="Gonder" class="btn btn-primary btn-block" name="oneri">GÖNDER</button>
</div>
</form>
</div>
</div>
</div>oneri.php sayfası
<?php
require 'phpmailer/src/Exception.php'; //Mail gönderirken bir hata ortaya çıkarsa hata mesajlarını görebilmek için gerekli. Şart değil
require 'phpmailer/src/PHPMailer.php'; //Mail göndermek için gerekli.
require 'phpmailer/src/SMTP.php'; //SMTP ile mail göndermek için gerekli.
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
if ( isset($_POST['oneri']) ){
$konu = @$_POST["konu"];
$baslik = @$_POST["baslik"];
$aciklama = @$_POST["aciklama"];
$mail = new PHPMailer();
$mail->setLanguage('tr', 'phpmailer/language/');
$mail->SMTPDebug = true;
$mail->SMTPAuth = true;
$mail->isHTML(true);
$mail->CharSet = "UTF-8";
$mail->Host = "smtp.yandex.com";
$mail->CharSet = 'utf-8';
$mail->Username = "info@.com.tr";
$mail->Password = "";
$mail->SMTPSecure = 'ssl'; //ssl
$mail->Port = 465; //25 , 465 , 587
$mail->setFrom("@.com.tr" , "");
$mail->addAddress('@.com.tr');
$content = '<div style="background: #eee; padding: 10px; font-size: 14px">Öneri Konusu : '.$konu.' <br><br>
Başlık: '.$baslik.'<br><br>
Açıklama : '.$aciklama.'
</div>';
$mail->MsgHTML($content);
$mail->isHTML(true);
$mail->Subject = "Yeni Öneri - ".$konu."";
if ($mail->send()) {
echo "<script src='https://cdn.jsdelivr.net/npm/sweetalert2@11'></script>
<script>
Swal.fire({
title: 'GÖNDERİLDİ!',
text: 'Öneri Formu Gönderme İşlemi Tamamlandı',
icon: 'success',
confirmButtonText: 'Tamam'
})
</script>";
}
else {
echo 'Mail gönderilemedi. Mail hata mesajı: '.$mail->ErrorInfo; //Mail gönderilemezse sebebini belirten hata mesajını ekrana yazdır
}
}
?>