Erreur ajax 403forbidden
neme
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
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
Voici le fichier php appeller par l'ajax
function createGamme(){
Merci par avance pour votre aide
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
A voir également:
- Yggtorrent erreur ajax
- Yggtorrent - Accueil - Services en ligne
- YggTorrent : la nouvelle adresse qui fonctionne en 2023 - Accueil - Outils
- Erreur 0x80070643 - Accueil - Windows
- Erreur lors de l'enregistrement du contact - Forum Xiaomi
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
3 réponses
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,
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,
Merci pour votre reponse. Mon formulaire bug en fonction des données à l'intérieur en gros si je rajoute une iframe video ça plante sinon il marche donc c'est pas une erreur de droit et ou d'url.
Je pense que mon string video doit mettre une partie de la requête en commentaire et ou couper ma chaine.
Voici comment se présente ma chaine video =>
<iframe src="//player.vimeo.com/video/111111111?title=0&byline=0&portrait=0" width="853" height="467" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
Je ne vois pas comment faire autrement/
Je pense que mon string video doit mettre une partie de la requête en commentaire et ou couper ma chaine.
Voici comment se présente ma chaine video =>
<iframe src="//player.vimeo.com/video/111111111?title=0&byline=0&portrait=0" width="853" height="467" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
Je ne vois pas comment faire autrement/
Donc l'erreur semble venir de l'exécution de la requête sql.
Tu devrais donc avoir un message d'erreur correspondant à cette erreur sql soit dans les fichiers log du serveur soit dans l'onglet Response de la requête ajax (dans l'onglet Network, clique sur la requête ajax puis sur Response).
Puisque tu affiches ta requête (echo $query;), celle-ci devrait également être affichée dans l'onglet Response de la requête ajax. Peux tu nous la montrer ?
Tu devrais donc avoir un message d'erreur correspondant à cette erreur sql soit dans les fichiers log du serveur soit dans l'onglet Response de la requête ajax (dans l'onglet Network, clique sur la requête ajax puis sur Response).
Puisque tu affiches ta requête (echo $query;), celle-ci devrait également être affichée dans l'onglet Response de la requête ajax. Peux tu nous la montrer ?
Vu que j'ai une erreur 403 il ne m'affiche aucun echo dans le log
Dans Reponse j'ai : <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /administration/gestion_des_produits/database.php
on this server.</p>
</body></html>
Dans Reponse j'ai : <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /administration/gestion_des_produits/database.php
on this server.</p>
</body></html>