Erreur 403 javascript
Résolujordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
- Erreur 403 paiement en ligne
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Aller à la ligne excel - Guide
- Site de vente en ligne particulier - Guide
8 réponses
Bonjour,
là comme ça.. je pencherai pour un espace en trop dans l'url que tu essayes d'appeller ( un espace devant le mot etat.php )
Mais bon,L'erreur 403 apparaît en général lorsqu'un utilisateur souhaite accéder à un contenu ou un répertoire dont il ne possède pas les droits.
Bonjour Jordane45,
Bizarre, c'est apparût tout à coup sur toutes les fonction du site...
Voici le lien de l'image (biensur sans le domaine en question) :
Il n'y a pas d'espace en trop.
Ensuite mes droits sont à 755 pour l'intégralité du site (dossiers et fichiers).
Ce n'est donc pas une erreur sur la version jquery alors ?
Non non,
J'ai mis tout mes dossiers en 705 et tous mes fichiers en 604 mais toujours le même problème
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionVous ne pourrez pas avoir accès, c'est un accès admin...
Cependant voici le code :
Index.php
<select class="form-control" id="sel_societe" name="sel_societe" required>
<option class="font-monospace" selected value="tous">Tous</option>
<option class="font-monospace" value="Visa">Visa</option>
<option class="font-monospace" value="Mastercard">Mastercard</option>
</select>
<select class="form-control" id="sel_etat" name="sel_etat" required>
<option class="font-monospace" selected value="tous">Tous</option>
<option class="font-monospace" value="ACCEPT">Paimeent validé</option>
<option class="font-monospace" value="DECLINE">Paimeent décliné</option>
<option class="font-monospace" value="CANCEL">Paimeent Annulé</option>
<option class="font-monospace" value="ERROR">Erreur de paiement</option>
</select>
<input type="date" class="form-control" id="txt_date_du" name="txt_date_du" value="<?=$date->format('Y-m-01'); ?>">
<input type="date" class="form-control" id="txt_date_au" name="txt_date_au" value="<?=$date->format('Y-m-t'); ?>">
<button type="button" class="btn btn-info" onClick="btn_recherche()">Générer</button>
<div id="resultat_etat"></div>
<script>
function btn_recherche(){
var sel_societe = document.getElementById("sel_societe").value;
var sel_etat = document.getElementById("sel_etat").value;
var txt_date_du = document.getElementById("txt_date_du").value;
var txt_date_au = document.getElementById("txt_date_au").value;
$.ajax({
type : "GET",
url: "_etat.php",
cache: false,
data: {sel_societe:sel_societe, sel_etat:sel_etat, txt_date_du:txt_date_du, txt_date_au:txt_date_au},
error: function(e){
console.log('Ajax Error',e);
alert('Erreur Ajax !');},
success: function(response) {
jQuery("#resultat_etat").html(response).show();
console.log(response);
}
});
}
</script>
_etat.php
<?php if(isset($_GET['sel_societe'])){ $sel_societe = $_GET['sel_societe']; $sel_etat = $_GET['sel_etat']; $txt_date_du = date("Y-m-d 00:00:00", strtotime($_GET['txt_date_du'])); $txt_date_au = date("Y-m-d 23:59:59", strtotime($_GET['txt_date_au'])); $sel_societe = !empty($sel_societe) ? "$sel_societe" : "tous"; $sel_etat = !empty($sel_etat) ? "$sel_etat" : "tous"; $txt_date_du = !empty($txt_date_du) ? "$txt_date_du" : null; $txt_date_au = !empty($txt_date_au) ? "$txt_date_au" : null; if($sel_societe == "tous") {$req_sel_societe = 'card_type_name IS NOT NULL';} if($sel_societe != "tous") {$req_sel_societe = 'card_type_name = "'.$sel_societe.'"' ;} if($sel_etat == "tous") {$req_sel_etat = 'decision IS NOT NULL';} if($sel_etat != "tous") {$req_sel_etat = 'decision = "'.$sel_etat.'"' ;} try{ $sql = "SELECT signed_date_time, reference, transaction_id, auth_trans_ref_no, req_bill_to_forename, req_bill_to_surname, req_bill_to_address_line1, req_bill_to_address_city, req_bill_to_address_country, req_bill_to_email, card_type_name, req_card_number, req_card_expiry_date, reason_code, decision, req_amount, req_currency, message FROM tab_shop_visa WHERE $req_sel_societe AND $req_sel_etat AND signed_date_time BETWEEN '".$txt_date_du."' AND '".$txt_date_au."' GROUP BY signed_date_time, reference, transaction_id, auth_trans_ref_no, req_bill_to_forename, req_bill_to_surname, req_bill_to_address_line1, req_bill_to_address_city, req_bill_to_address_country, req_bill_to_email, card_type_name, req_card_number, req_card_expiry_date, reason_code, decision, req_amount, req_currency, message ORDER BY signed_date_time DESC"; }catch(PDOException $e){echo "<div class='alert alert-danger'>".$e->getMessage()."</div>";} $Stat = $pdo->prepare($sql); $Stat->execute(); $count = $Stat->rowCount($sql); if($count != 0){ $date_du_au = 'du '.strftime(DATE_SQL, strtotime($txt_date_du)).' au '.strftime(DATE_SQL, strtotime($txt_date_au)); $date_jour = strftime(DATE_TIME_SQL, strtotime(date("Y-m-d H:i:s"))); $nap = 0; while($data = $Stat->fetch(PDO::FETCH_ASSOC)){ $nap += $data["req_amount"]; echo $data["reference"]."<br>"; } else { echo "<div align='center'><div align='center' class='alert alert-warning col-md-6 p-2'>".AUCUN_RESULTAT."</div></div>"; }} ?>
Dans ton fichier _etat.php, retires tout ton code et à la place, mets juste un
<?php //fichier _etat.php var_dump($_GET);
Puis reteste ton code et regarde dans la console (dans l'onglet response de ton appel ajax ) ce qui s'affiche...
Si tu as bien tes variables .. c'est que ton souci vient bien de ton code php...
Pour commencer.. je n'y vois pas la connexion à la bdd
Ensuite, tu sembles utiliser une constante qui ne semble pas avoir été définie avant...
- Si si, la connexion existe dans mon fichier, j'ai juste pas mis dans le code posté ici.
Lorsque la "date du" est "2023-06-01" je reçois :
array(5) { ["sel_societe"]=> string(4) "tous" ["sel_etat"]=> string(4) "tous" ["txt_date_du"]=> string(10) "2023-06-01" ["txt_date_au"]=> string(10) "2023-06-30" ["_"]=> string(13) "1686046828924" }
Si je la change en "2023-01-01" j'ai la même erreur 403
Je suis en PHP 7.4
Si tu as bien viré tout le code de ton fichier et que tu l'as remplacé juste parce que je t'ai donné et que ça marche à tous les coups c'est que le souci vient de ton code
Si par contre ça ne marche qu'une fois sur deux ou en fonction des dates que tu aurais éventuellement mis, c'est certainement que tu as un souci au niveau de la configuration de ton serveur
Si tu n'as pas retiré tout ton code comme je te l'ai demandé et qu'en plus tu ne nous a pas montré l'entièreté du fichier comment veux-tu que l'on puisse t'aider ??
le souci semblerait à ce moment-là, venir de ton code.... Je t'invite donc à le travailler...
J'opte pour la configuration du serveur.
A part la ligne d'inclusion du fichier de la connexion à la base de donnée, tu as toute l'intégralité de mon code.
J'ai dupliquer les mêmes codes dans un autre site et il fonctionne très bien là-bas.
J'ai pourtant la même configuration serveur, la même version PHP, tout pareil quoi...