L'appel d'une fonction spécifique dans PHP avec Jquery & Ajax
Pour moi, c'est quelque chose de nouveau, donc je suis juste à la recherche de ce et essayer de le comprendre.
Comme vous pouvez le voir dans le script php, il y a 2 fonctions et je suis en train d'appeler un un avec jquery.
Maintenant, si j'ai une fonction alors je peux le faire, mais quand j'ai 2 ou plus je commence à être coincé.
Je suppose que je pourrais le faire quand j'ai 2 fonctions, mais dès que plusieurs variables sont en jeu, ou plus de fonctions dois-je simplement faire massives si les déclarations dans mon php?
Le problème est que lorsque j'attache une base de données, j'aurais besoin de considérer tous les facteurs qui peuvent se produire.
Comment dois-je préciser une fonction php lors de l'utilisation de jquery & ajax?
//function.php
<?php
function firstFunction($name)
{
echo "Hello - this is the first function";
}
function secondFunction($name)
{
echo "Now I am calling the second function";
}
?>
<?php
$var = $_POST['name'];
if(isset($var))
{
$getData = firstFunction($var);
}
else if(isset($var))
{
$getData = secondFunction($var);
}
else
{
echo "No Result";
}
?>
//index.html
<div id="calling">This text is going to change></div>
<script>
$(document).ready(function() {
$('#calling').load(function() {
$.ajax({
cache: false,
type: "POST",
url: "function.php",
data: 'name=myname'
success: function(msg)
{
$('#calling').html((msg));
}
}); //Ajax Call
}); //event handler
}); //document.ready
</script>
- note: Dans le
else
cas deisset($var)
, vous transmettez une valeur null pour votresecondFunction()
- Ouais, mais si il y a un if else? Alors, comment serait-il savoir ce que l'énoncé d'aller à?
- l'ajax est un rouge audience, son irrévérencieux
- voir si ma réponse vous aide.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour passer un paramètre, soit par l'intermédiaire de l'objet de données ou via une variable dans l'URL. Soit:
ou:
Puis en PHP, vous pouvez accéder à cet attribut et de les traiter:
Remarque: une meilleure idée pour des raisons de sécurité serait à la liste blanche les fonctions disponibles, qui peuvent être appelés, par exemple:
Exemple de mise en œuvre:
function_exists()
sur$_POST
valeurs. Potentiel d'erreur de sécurité / en ont de la chance de corrompre la page / serveur. Imaginez l'action estfopen
,passthru
ouini_set
...action:
un mot-clé pour le nom de la fonction?Vous sont effectivement assez proche de ce que vous voulez atteindre.
Si vous souhaitez spécifier la fonction sera appelée en PHP, vous pouvez passer une variable pour dire à PHP. Par exemple, vous avez passé
request=save
en AJAX, vous pouvez écrire du PHP comme suit:EDIT: Vous pouvez même passer le long de avec d'autres paramètres
Cela peut ne pas être exactement ce que vous cherchez, mais il peut aider certaines autres qui recherchent une solution très simple.
Dans votre jquery déclarer une variable et de l'envoyer
Puis dans votre php vérifier si cette variable est définie