JQuery.ajax ile MySQL mağaza form verilerini

2 Cevap php

Edit: Ben doğru URL'yi almak için çözüm bulundu. Se the solution in this thread.

Ben MySQL veritabanı verileri kaydedebilirsiniz böylece Merhaba, ben sorunları bir form işleme yaşıyorum. Ben CMS olarak Wordpress kullanıyorum.

Ben bu örneği kullandım: http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form

Benim sorunun kaynağı ben javascript yanlış url kullanıyorum olduğunu eminim. Hata mesajı sadece 'undefined' döndürür ve Kundakçı bir sayfa 404 bulunamadı hatası bildiriyor.

So what would be the correct url? Any help would be greatly appreciated.

Bu benim site yapısı:

Mywebsite (folder)      
  sl_register.tpl.php   
  includes    (folder)    
  storelocator (folder)
    process_frm_store.php
    frm_store.php
  js (folder)
    myscripts.js

Ve bu benim site kurmak mantıktır:

sl_register.tpl.php:

<?php
/*
  Template Name: SL - Register Store
*/  
  get_header();
  include_once 'includes/storeLocator/frm_store.php';
  get_footer();
?>

frm_store.php:

<form id="store_data_form" class="appnitro"  method="post" action="">
  <input id="store_active" name="store_active" type="hidden" value="pending" />
  <input id="store_name" name="store_name" type="text" value=""/> 
  <input id="store_street1" name="store_street1" type="text" value="" />
  <input id="saveForm" class="submitButton" type="submit" name="save" value="Save" />
</form>

process_frm_store.php:

<?php
  $myDB = new DAL(); 
  $myDB->connect();

  if (isset($_POST['save'])) 
  {
    $formData =  array(
      "name"=> mysql_real_escape_string($_POST['store_name']),
      "street1"=> mysql_real_escape_string($_POST['store_street1']),
      "zipcode"=> mysql_real_escape_string($_POST['store_zipcode']));

    $myDB->addNewStore($formData);
  }
?>

myscripts.js:

jQuery.processForms = function()
{
  jQuery('form#store_data_form').submit(function() 
  {
    var store_name = 'Test store'; //jQuery("input#store_name").val();
    var store_street1 = 'Sesamy street';//Set constant for testing
    var store_zipcode = '0574'; //Set constant for testing
    var dataString = 'name='+ store_name + '&street1=' + store_street1 + '&zipcode=' + store_zipcode;    
    jQuery.ajax(
    {   
      type: "POST",   
      url: "process_frm_store.php",   
      data: dataString,
      error: function(XMLHttpRequest, textStatus, errorThrown) 
      { 
        alert(errorThrown); // Just for debugging
        jQuery('#suggestNewStore div.error').fadeIn(); 
      },
      success: function() 
      {
        alert('It works!');
        jQuery('#suggestNewStore div.success').fadeIn();   
      }   
    });   
    return false;      
  });
}

2 Cevap

Sanki mutlak yol http://www.yourwebsite.com/storelocator/process_frm_store.php güvenli tarafta olmak için kullanıcıya basit olmuyor.

Aksi. Ajax yöntemi url param olmalı storelocator/process_frm_store.php çünkü .. js dosya dahil ve taban yolunda yürütülen dışında js veya storelocator klasörler

Bunu <?php etiketleri ... içinde zaten zaman <?php tags wrapped around your include_once in sl_register.tpl.php Bir şey yapıyoruz sürece var Bu muhtemelen bir şey kırılıyor anlamıyorum.