Jenc (veya ajax?) Kullanarak veritabanından gelen opencart kayıt sayfasındaki e-postayı kontrol etmek istiyorum, bu yüzden eğer mevcutsa kayıt formunda bir not olacaktır.opencart 1.5.6.4 kayıt olunca email müsaitliğini kontrol edin
Herhangi bir yardım lütfen? Teşekkür
Tamam, bu nedenle bu ben
signup.tpl
<tr>
<td><span class="required">*</span> <?php echo $entry_email; ?><br />
<div id="email_availability_result"></div>
</td>
</tr>
<tr>
<td><input type="text" id="email" class="form-control" name="email" value="<?php echo $email; ?>" />
<?php if ($error_email) { ?>
<span class="error"><?php echo $error_email; ?></span>
<?php } ?></td>
</tr>
signup.tpl
<script type="text/javascript">
$(document).ready(function(){
$('#email').keyup(function(){
var email = $('#email').val();
if(email.length > 2) {
$('#email_availability_result').html('Loading..');
var post_string = 'email='+email;
$.ajax({
dataType: 'json',
type : 'POST',
data : post_string,
url: 'index.php?route=account/signup/emailCheck',
success: function(json) {
$('.success, .warning, .attention, information, .error').remove();
if (json['success']) {
$('#email_availability_result').html('<span class="success">' + json['success'] + '</span>');
}
if (json['warning']) {
$('#email_availability_result').html('<span class="success">' + json['warning'] + '</span>');
}
}
});
}else{
$('#email_availability_result').html('');
}
});
});
kayıt şimdiye kadar ne yaptık olduğunu .php (devam silindir)
public function emailCheck() {
$this->load->model('account/signup');
$json = array();
if(isset($this->request->post['email'])){
$email = $this->request->post['email'];
$result = $this->model_account_signup->getEmailBySignUp($email);
$json['success'] = "Email name available";
$json['warning'] = "Email already taken";
}
$this->response->setOutput(json_encode($json));
}
signup.php (modeli) Bu çalışmıyor
public function getEmailBySignUp($email) {
$query = $this->db->query("SELECT count(*) as total FROM `" . DB_PREFIX . "user` WHERE email = '" . $this->db->escape($email) . "'");
return $query->row['total'];
}
.
Teşekkürler Tanmoy, ama ben sadece yeni biriyim. Bahsettiğin kodu görebiliyorum ama nasıl yapacağımı bilmiyorum. Nasıl yazacağını buraya yazabilir misin? – Faiz
Sadece bir e-posta alanı için bir olay ile bir js yazın, burada ajax yazabilirsiniz, bu fonksiyon ile kontrol cihazında bunu yapabiliriz.Ajax'ı nasıl arayacağınızı görmek istiyorsanız, o zaman/template/checkout/checkout'a gidin. tpl, orada arama yapan bir sürü ajax var. – Tanmoy
Yeni güncelledim ama hala çalışmıyor. Onun nesi var? – Faiz