Erreur ajax 403forbidden

Fermé
neme - 9 nov. 2016 à 14:42
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 10 nov. 2016 à 12:17
Bonjour,

Voila je rencontre un gros problème avec mon code, lorsque je save un formulaire j'ai le massage could not connect to database quand je regarde dans le networks chrome j'ai m'a pas ajax qui est en 403forbidden hors elle marche sur plusieurs autre form.

Voici mon code javascript (j'ai pas le droit au jquery)

JS
Mon probleme est sur la donnée VIDEO qui est une iframe vimeo

  function updateTheGamme(){
if(isGammeFormUpdateValid()){
Ext.Ajax.request({
waitMsg: 'Please wait...',
//headers: { 'Content-Type': 'application/json'},
type:'POST',
url: '../gestion_des_produits/database.php',
params: {
task: "CREATEPRESGamme",
gamme_id : gamme_idgammeFieldUpdate.getValue(),
NOM : NOMgammeFieldUpdate.getValue(),
technologie_id : technologie_idgammeFieldUpdate.getValue(),
ACCROCHE : ACCROCHEgammeFieldUpdate.getValue(),
DESCRIPTION : DESCRIPTIONgammeFieldUpdate.getValue(),
LOGO : LOGOgammeFieldUpdate.getValue(),
PDF : PDFgammeFieldUpdate.getValue(),
PHOTO_PRINCIPALE : PHOTO_PRINCIPALEgammeFieldUpdate.getValue(),
AIDE : AIDEgammeFieldUpdate.getValue(),
VIDEO : VIDEOgammeFieldUpdate.getValue(),
// VIDEO : VIDEOgammeFieldUpdate.getValue().replace(/\//g, '\/'),
LANGUE : LANGUEgammeFieldUpdate.getValue(),
TITRE_HTML : TITRE_HTMLgammeFieldUpdate.getValue(),
DESCRIPTION_HTML : DESCRIPTION_HTMLgammeFieldUpdate.getValue(),
MOTSCLES_HTML : MOTSCLES_HTMLgammeFieldUpdate.getValue(),
URL_HTML : URL_HTMLgammeFieldUpdate.getValue(),
ordre : ordregammeFieldUpdate.getValue(),
DENOMINATION_LANGUE : DENOMINATION_LANGUEgammeFieldUpdate.getValue(),
SCORE : SCOREgammeFieldUpdate.getValue(),
OBJECTIF_SEO : OBJECTIF_SEOgammeFieldUpdate.getValue(),
COMMENTAIRE_SEO : COMMENTAIRE_SEOgammeFieldUpdate.getValue(),
ACTIF : ACTIFgammeFieldUpdate.getValue()

},
success: function(response){
var result=eval(response.responseText);
console.log('result success : '+result);
switch(result){

case 1:
//Ext.MessageBox.alert('Creation OK','The gamme was created successfully.');
//alert(idUpdateFiltre);
GammesDataStore.commitChanges(); GammesDataStore.on('beforeload', function(store){
store.baseParams = store.baseParams || {};
})


GammesDataStoreTotal.reload();
GammesDataStore.reload();
GammeUpdateWindow.hide();


break;

default:
Ext.MessageBox.alert('Warning','Could not create the gamme.');
break;

}
},
failure: function(response){
console.log(response);
var result=response.responseText;
Ext.MessageBox.alert('error','could not connect to the database. retry lateraaaa');
}
});

} else {
Ext.MessageBox.alert('Warning', 'Your Form is not valid!');
}

}


Voici le fichier php appeller par l'ajax
function createGamme(){

          if ($_POST['gamme_id'] != '-1') {

// Here we should probably do some database checking, to make sure that we do not have the same entry twice for ex... And we would return a different error code (ECHO '0' or whatever you want...) For now we'll pretend like the entry is valid.
$query = "UPDATE gamme SET `gamme_id` = '".addslashes($_POST['gamme_id'])."' , `NOM` = '".addslashes($_POST['NOM'])."' , `technologie_id` = '".addslashes($_POST['technologie_id'])."' , `ACCROCHE` = '".addslashes($_POST['ACCROCHE'])."' , `DESCRIPTION` = '".addslashes($_POST['DESCRIPTION'])."' , `LOGO` = '".addslashes($_POST['LOGO'])."' , `PDF` = '".addslashes($_POST['PDF'])."' , `PHOTO_PRINCIPALE` = '".addslashes($_POST['PHOTO_PRINCIPALE'])."' , `AIDE` = '".addslashes($_POST['AIDE'])."' , `VIDEO` = '' , `LANGUE` = '".addslashes($_POST['LANGUE'])."' , `TITRE_HTML` = '".addslashes($_POST['TITRE_HTML'])."' , `DESCRIPTION_HTML` = '".addslashes($_POST['DESCRIPTION_HTML'])."' , `MOTSCLES_HTML` = '".addslashes($_POST['MOTSCLES_HTML'])."' , `URL_HTML` = '".addslashes($_POST['URL_HTML'])."' , `ordre` = '".addslashes($_POST['ordre'])."' , `DENOMINATION_LANGUE` = '".addslashes($_POST['DENOMINATION_LANGUE'])."' , `SCORE` = '".addslashes($_POST['SCORE'])."' , `OBJECTIF_SEO` = '".addslashes($_POST['OBJECTIF_SEO'])."' , `COMMENTAIRE_SEO` = '".addslashes($_POST['COMMENTAIRE_SEO'])."' , `ACTIF` = '".addslashes($_POST['ACTIF'])."' WHERE gamme_id =".addslashes($_POST['gamme_id']);
echo $query;
die();
$result = mysql_query($query);
//$last_insert_id = 2;

} else {

$NOM = addslashes($_POST['NOM']);
$technologie_id = addslashes($_POST['technologie_id']);
$ACCROCHE = addslashes($_POST['ACCROCHE']);
$DESCRIPTION = addslashes($_POST['DESCRIPTION']);
$LOGO = addslashes($_POST['LOGO']);
$PDF = addslashes($_POST['PDF']);
$PHOTO_PRINCIPALE = addslashes($_POST['PHOTO_PRINCIPALE']);
$AIDE = addslashes($_POST['AIDE']);
$VIDEO = "";
$LANGUE = addslashes($_POST['LANGUE']);
$TITRE_HTML = addslashes($_POST['TITRE_HTML']);
$DESCRIPTION_HTML = addslashes($_POST['DESCRIPTION_HTML']);
$MOTSCLES_HTML = addslashes($_POST['MOTSCLES_HTML']);
$URL_HTML = addslashes($_POST['URL_HTML']);
$ordre = addslashes($_POST['ordre']);
$DENOMINATION_LANGUE = addslashes($_POST['DENOMINATION_LANGUE']);
$SCORE = addslashes($_POST['SCORE']);
$OBJECTIF_SEO = addslashes($_POST['OBJECTIF_SEO']);
$COMMENTAIRE_SEO = addslashes($_POST['COMMENTAIRE_SEO']);
$ACTIF = addslashes($_POST['ACTIF']);

// Here we should probably do some database checking, to make sure that we do not have the same entry twice for ex... And we would return a different error code (ECHO '0' or whatever you want...) For now we'll pretend like the entry is valid.
$query = "INSERT INTO gamme (`NOM`, `technologie_id`, `ACCROCHE`, `DESCRIPTION`, `LOGO`, `PDF`, `PHOTO_PRINCIPALE`, `AIDE`, `VIDEO`, `LANGUE`, `TITRE_HTML`, `DESCRIPTION_HTML`, `MOTSCLES_HTML`, `URL_HTML`, `ordre`, `DENOMINATION_LANGUE`, `SCORE`, `OBJECTIF_SEO`, `COMMENTAIRE_SEO`, `ACTIF` ) VALUES ('$NOM' , '$technologie_id' , '$ACCROCHE' , '$DESCRIPTION' , '$LOGO' , '$PDF' , '$PHOTO_PRINCIPALE' , '$AIDE' , '$VIDEO' , '$LANGUE' , '$TITRE_HTML' , '$DESCRIPTION_HTML' , '$MOTSCLES_HTML' , '$URL_HTML' , '$ordre' , '$DENOMINATION_LANGUE' , '$SCORE' , '$OBJECTIF_SEO' , '$COMMENTAIRE_SEO' , '$ACTIF' )";


$result = mysql_query($query);
$last_insert_id = mysql_insert_id();

}

if (isset($last_insert_id)) { echo $last_insert_id; } else { echo '1'; }


}


Merci par avance pour votre aide

3 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
9 nov. 2016 à 15:09
Salut,

Une erreur 403 Forbidden indique souvent une erreur de droit sur le dossier ou le fichier du serveur, néanmoins un problème de droit serait étrange dans ton cas si la requête ajax fonctionne avec d'autres formulaires.

Es tu sur que le chemin relatif défini dans le paramètre 'url' est correct par rapport à ta page ?
As tu des erreurs PHP dans le fichier log de ton serveur web ?

Bonne journée,
0