Appel d'un javascript dans un php

Fermé
mchiicha - 4 juin 2009 à 15:58
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 - 5 juin 2009 à 13:07
Bonjour,

Voici mon problème,j'ai un fichier php où je souhaite appeler une fonction javascript mais je connais pas la syntaxe! en général cette fonction js je l'appelais dans des fichiers html à l'intérieur de fonctions javascript et j'avais pas de pb mais mnt que je veux l'appeler dans un php j'ai l'impression qu'il y a une erreur de syntaxe.
Quelqu'n a une idée svp?

Merci bien

12 réponses

benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
4 juin 2009 à 16:03
Le php s'exécute côté SERVEUR. Le javascript s'exécute côté CLIENT.
Il est donc impossible d'appeler une fonction javascript en php.

Mais tu peux, reproduire ce que fait ta fonction javascript en PHP. Elle set à quoi ?
3
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
4 juin 2009 à 16:06
+1, je n'aurais pas dit mieux !
0
Utilisateur anonyme
4 juin 2009 à 16:01
donnes le lien
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
4 juin 2009 à 16:07
ben ca dépend, il peut vouloir appeler une fonction js une fois que la page a été chargée
il s'est peut être mal exprimé ^^
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
4 juin 2009 à 16:09
Dans ce cas il s'est très mal exprimé puisqu'il affirme avoir déjà appelé des fonctions js à partir de pages html.
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
4 juin 2009 à 16:11
Dans ce cas c'est simple il faut juste mettre dans l'attribut onload="mafct(arg)" dans la balise <body></body>.
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135 > benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010
4 juin 2009 à 16:14
Ben vii, mais ce n'est sûrement pas ce qu'il demande (oui, je n'ai répondu que pour faire ce jeu de mots à deux sesterces !).
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
4 juin 2009 à 16:10
ha oui pas faux j'avais pas lu cette partie :S
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je m'explique psk apparemment je me suis mal voire très mal exprimé selon certains, j'ai un fichier php1 et un autre php2 et dans le php1 j'ai une boucle dans laquelle je voudrais avoir le résultat du php1 c pour ça que j'ai pensé à appeler une fonction ajax send_request_to_server que j'ai concu qui interroge le serveur et affiche le résultat mais après plusieurs recherche, je pense qu'une fonction du genre fget ou fgets pourrait faire l'affaire en lui passant en paramètre l'url du phpp2 n'est ce pas?
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
4 juin 2009 à 16:37
Effectivement, je n'avais pas du tout compris ça !

file_get_contents te renverra le contenu du fichier, include te renverra le fichier qui sera interprété...
0
ou peut etre un "file_get_content" ??
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
4 juin 2009 à 16:32
file_get_contents() -> http://fr3.php.net/manual/fr/function.file-get-contents.php
0
Justement sur le php manual il y a tout un tas de foncton de type get... mais je n'y trouve pas mon bonheur je ne pense pas que file_get_content puisse faire ce que j'ai besoin de faire
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
4 juin 2009 à 16:44
Tu veux envoyer une requête POST ou GET ?

Si c'est une requête POST utilises ces deux fonctions :
function send_POST_request($server, $port, $url, $ar_data)
{
	$f=fsockopen($server, $port);
	$data=make_data_string($ar_data);
	$request_string="POST ".$url." HTTP/1.0\r\nhost: ".$server."\r\nContent-type: application/x-www-form-urlencoded\r\nContent-length: ".strlen($data)."\r\n\r\n".$data;
	fputs($f, $request_string);

	$reponse="";
	while (!feof($f))
	{
		$reponse.=fgets($f, 128);
	}
	fclose($f);
	return($reponse);
}

function make_data_string($ar)
{
	foreach($ar as $var => $val)
	{
		if(empty($data_string)){ $data_string=$var."=".urlencode($val);}
		else{ $data_string.="&".$var."=".urlencode($val);}
	}
	return($data_string);
}


Par exemple (pour monsite.com/index.php) tu fais : $reponse=send_POST_request("monsite.com", 80, "index.php", array("donnee1" => "valeur1", "donnee2" => "valeur2"));
0
Bonjour,

J'ai opté pour ceci:
if (!$handle = @fopen("../db_requests/retrieve_measurements.php","r")) {
echo "Failed opening file";
exit;
}

else {
// Cross the file
while (!feof($handle)) {
echo('reading file');
// Retrieve file's content
$new_map_item .= fgets($handle).'|';
}
}
fclose($handle);
}

l'écho reading file s'affiche seulement moi je veux passer un certain nombre de parametre lors de l'ouverture du fichier j'ai donc tenté la syntaxe suivante : @fopen("./retrieve_measurements.php?item_type=LA&draw_algo=poly_4_mode", "r") et du coup l'ouverture du fichier bloque !!

Vous avez une idée de comment passer ces parametres lors de l'ouverture du fichier?
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
5 juin 2009 à 11:51
Pas possible ! retrieve_measurements.php?item_type=LA&draw_algo=poly_4_mode n'est pas un fichier, c'est un appel de script avec des paramètres... Si tu veux récupérer le résultat de l'exécution d'un script, tu peux faire un include, en mettant à disposition dans le contexte de l'include, les variables nécessaires à l'exécution. Sinon, tu peux utiliser curl, qui récupère une url. Tu peux donc appeler ton script avec tous les paramètres que tu veux, en post ou en get et obtenir le fichier généré.
0
J'ai fait ceci:
...
while($la_map_result = mysql_fetch_assoc($la_map_query)){

include("../retrieve_measurements.php?item_type=LA&draw_algo=poly_4_mode");
}

mais comment j'obtiens le résultat du fichier que j'ai inclus? psk a la fin de ce fichier php je fais un echo d'une string et je veux la récupérer
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
5 juin 2009 à 12:54
Même réponse que précédemment: include demande un fichier, pas un script... D'où la partie où je précisais qu'il fallait mettre à disposition du script inclus les variables qu'il utilise. Dans ton cas, ce sont les variables de la query string.

En gros dans ton script appelant, tu vas faire :
$item_type='LA';
$draw_algo='poly_4_mode';

include( '../retrieve_measurements.php' );
Et dans retrieve_measurment.php, tu utilises tes variables directement plutôt qu'en apssant par $_GET. Si ton script retrieve_measurment doit absolument accepter des variables $_GET, tu peux faire à la place du code précédent :
if ( !isset( $_GET['item_type'] ) ) $_GET['item_type'] = 'LA';
if ( !isset( $_GET['draw_algo'] ) ) $_GET['draw_algo'] = 'poly_4_mode';

include( '../retrieve_measurements.php' );
Dans ce cas, la vérification (if (isset)) est facultative : tout dépend si tu veux écraser les valeurs qui seraient passées au script appelant ou non...
0
J'avais mal compris, j'ai bien enlevé les parametres de l'include et je les ai déclaré juste avant comme ceci:

$item_type='LA';
$draw_algo='poly_4_mode';

include("./retrieve_measurements.php");

Et a l'intérieur du retrieve_measurements.php je fais déjà un post du genre:

$draw_algo = $_POST['draw_algo']; // Type of drawn object+nb of drawn points
$item_type = $_POST['item_type']; // Type of Searched Item

mais ma question est toujours comment récupérer le résultat du retrieve measurement dans mon nouveau fichier où je fais l'include. Est ce qu'il faut faire un get de l'echo retourné a l'intérieur de retrieve_measurements?
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
5 juin 2009 à 13:07
Non, ton fichier inclus va s'exécuter comme s'il faisait partie du fichier contenant, si tu fais un echo dans le fichier inclus, il sera affiché dans le résultat du fichier contenant.
Citation:
Et a l'intérieur du retrieve_measurements.php je fais déjà un post du genre:

$draw_algo = $_POST['draw_algo']; // Type of drawn object+nb of drawn points
$item_type = $_POST['item_type']; // Type of Searched Item 
Je ne vois pas l'intérêt... Pourquoi essayer de récupérer tes variables par post puisque tu les mets à disposition ? Ou pourquoi les mettre à disposition si tu peux les passes par post ?
0