Salut les amis développeurs,
Je cherche à mettre à jour des lignes dans ma bdd lors de l'ouverture d'une popup en JS, cependant je n'ai pas vraiment d'idées de comment procéder hormis faire ça en ajax ? Il y a peut etre une solution bien plus simple, d'ou mon post ici
La popup en JS n'est pas une popup qui ouvre une nouvelle fenetre, mais une fenetre qui apparait simplement au milieu de l'écran en jQuery (de la même manière que ce tuto : http://sohtanaka.developpez.com/tutoriels/javascript/creez-fenetre-modale-avec-css-et-jquery/ )
Avez-vous un moyen pour mettre à jour ma base de données lors de l'ouverture de la popup ? ( Pas de souci coté SQL, c'est uniquement le fait de lancer ma requête sans que ça soit visible coté client (pas de refresh de la page si possible))
Je reste dispo pour plus d'infos si jamais
Merci d'avance
EDIT : Je peux également peut-etre faire la maj dans la bdd lors de la fermeture de la popup ?
AJAX, c'est la seule méthode viable si tu veux à tout prix gérer ça lors de l'ouverture/fermeture de la fenêtre
Ok merci J'me doutais bien que j'allais devoir passer par l'ajax, je laisse tout de même le topic ouvert si jamais quelqu'un d'autre à une idée, merci !
Par contre il faut garder à l'esprit qu'AJAX c'est vraiment de la merde dans beaucoup de cas d'utilisations, étudie bien le contexte d'utilisation histoire d'être sûr que ces calls doivent être fait à ce moment UNIQUEMENT et qu'il n'y a pas d'autre moyen
Bien entendu
J'ai pondu ça rapidement, mais ça me plait moyennement :
J'ai donc mon fichier : functions_ajax.php
include("config.php");
include("functions.php");
include("lib/bdd.php");
init();
if ($_SESSION["id"]) {
sql_query("UPDATE ... ");
}
Que j'appelle dans mon JS avec :
$('#fade, a.close').load('functions_ajax.php');
Cependant, comment faire pour avoir plusieurs fonctions dans mon functions_ajax.php et en appeler qu'une seule en particulier ? Il me manque que ça pour être bon (je pense, si je me trompe totalement, faites moi signe )
Edit : En fait si je passe simplement par un $_GET ça devrait le faire ?
Du genre : $('#fade, a.close').load('functions_ajax.php?action=function');
Faut utiliser angular dans ce cas et un framework php genre symfony qui gérer les routes
Le 14 février 2017 à 17:22:45 darkiron_natty a écrit :
Faut utiliser angular dans ce cas et un framework php genre symfony qui gérer les routes
Je ne peux malheureusement pas recommencer mon projet à 0 en repartant sur un framework
Pour info :
J'ai réussi a faire ce que je voulais avec :
$.ajax({
url: 'functions_ajax.php',
type: 'POST',
data: "function=mafonction",
success: function(data) {
}
});
Je ne sais pas si c'est le mieux niveau sécurité, du coup je blinde de sécurité dans mon function_ajax.php, le résultat fonctionne, je ne sais pas si c'est "propre" ou pas de procéder de cette manière
Le 14 février 2017 à 17:59:28 iPwnd a écrit :
Pour info :J'ai réussi a faire ce que je voulais avec :
$.ajax({ url: 'functions_ajax.php', type: 'POST', data: "function=mafonction", success: function(data) { } });
Je ne sais pas si c'est le mieux niveau sécurité, du coup je blinde de sécurité dans mon function_ajax.php, le résultat fonctionne, je ne sais pas si c'est "propre" ou pas de procéder de cette manière
C'est pas sécurisé trop sécurisé non.
Désolé j'étais un peu crevé, le commentaire dans la fct° success c'est tes instructions lorsque l'appel renvoie un 200
Ok merci pour ton aide précieuse J'ai encore quelques points à revoir/sécurisé et ça devrait le faire, encore merci !