Modifier: J'ai trouvé la solution pour obtenir l'URL correcte. Se the solution in this thread. Bonjour, j'ai des problèmes pour traiter un formulaire afin que je puisse sauvegarder ses données dans ma base de données MySQL. J'utilise Wordpress comme CMS.Enregistrer les données de formulaire dans MySQL avec jQuery.ajax
Je l'ai utilisé cet exemple: http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form
Je suis assez sûr que la source de mon problème est que j'utilise la mauvaise URL dans le javascript. Le message d'erreur ne renvoie que 'indéfini' et Firebug signale une erreur de page introuvable 404.
Alors, quelle serait l'URL correcte? Toute aide serait grandement appréciée.
C'est ma structure du site:
Mywebsite (folder)
sl_register.tpl.php
includes (folder)
storelocator (folder)
process_frm_store.php
frm_store.php
js (folder)
myscripts.js
Et ceci est la logique de mon site construire:
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>
processus_fr m_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;
});
}
Merci pour votre réponse Bogdan. Je ne pense pas que cela fonctionnera bien, puisque j'utilise Wordpress CMS avec des URL conviviales. L'URL de ma page/formulaire est: http: // localhost/monsite/magasin-locator/register magasin label L'URL logique est: http: //localhost/mysite/sl_register.tpl.php Firebugs signale l'erreur suivante: POST (url) 404 introuvable Où url est tout ce que je mets dans mon fichier javascript. – Steven