2009-10-04 8 views
1

J'ai une fonction php, dans cette fonction j'ai un javascript qui récupère la valeur de mon élément depuis la fenêtre parent. Mon problème est maintenant, comment puis-je passer cette valeur en variables phpjavascript variable en php

Toute aide serait grandement appréciée.

Merci

Tirso

J'ai essayé ce code mais je me suis toujours la valeur 1

ici est mon code

function do_upload() 
{ 
    $categories = print '<script type="text/javascript">window.top.window.$("#categories").val();</script>'; 
}  

la valeur que j'ai pour les catégories $ est toujours 1;

Répondre

2

La construction du langage PHP print() retourne toujours 1.

PHP exécute sur le côté serveur. JavaScript s'exécute du côté client. Vous ne pouvez pas les mélanger directement. Le mieux que vous pourriez faire serait d'avoir JavaScript faire un appel AJAX à un script PHP sur le serveur.

0

Le code PHP s'exécute sur le serveur (avant que votre code ne soit envoyé au navigateur client) et JavaScript sur le client (après que le code a été envoyé au navigateur client). Je ne suis pas sûr qu'il existe un autre moyen de transmettre des informations au serveur, autre que d'envoyer une requête au serveur. donc si vous voulez envoyer quelque chose à votre application PHP (côté serveur) vous devrez envoyer une requête depuis votre code JavaScript (côté client). Vous pouvez utiliser les techniques AJAX, mais cela provoque un autre processus PHP sur le serveur. Vous devrez donc trouver un moyen de communication entre le processus PHP de base (qui a créé le JavaScript) et le nouveau processus (appelé par le JavaScript) pour transmettre des informations. vous pouvez utiliser la persistance des données côté serveur comme des sessions ou des fichiers ou des bases de données, ou des solutions de communication inter-processus comme la mémoire partagée. mais je suppose que cela deviendra un peu plus compliqué dans la mise en œuvre.

0

Le mieux que vous pouvez faire est de faire un appel ajax à une page côté serveur qui appelle la méthode do_upload pour vous:

$.ajax({ 
    url: '/ajax.php', 
    data: 'category=' + window.top.window.$('#categories').val(), 
    type:'POST', 
    success:function(html){ 
    } 
}); 

ajax.php:

if (isset($_POST['category'])) { 
    do_upload($_POST['category']); 
} 

Ne pas oublier pour filtrer les données $ _POST pour s'assurer que c'est dans le format que vous voulez.

+0

salut, grâce à vous tous. Cela m'aiderait énormément Tirso – tirso