2010-08-13 3 views
2

J'essaye d'exécuter une fonction de bot PHP dans une extension Safari.Comment puis-je exécuter un script PHP avec du code cURL dans une extension Safari?

Ceci est le code HTML que j'ai essayé de mettre en place, mais c'est un désordre de PHP, cURL et HTML, et je ne sais pas vraiment ce que je fais.

Je n'ai jamais essayé d'utiliser cURL avant d'avoir obtenu ce code de http://www.barattalo.it/2010/08/09/send-push-notification-to-iphone-with-php-and-pushme-to/, et il semble que l'extension cesse de fonctionner lorsque j'essaie d'initier $ ch. Cela va évidemment à l'encontre du but du code, car j'en ai besoin pour lancer les commandes cURL.

Des conseils pour que cela fonctionne?

function performCommand(event) 
{ if (event.command === "sendLink") { 
pushMeTo($u,$t,$s);  } 


function pushMeTo($widgeturl, $text, $signature) 
{ $agent = "Mozilla/5.0 (windows; U; Windows NT 6.0; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12"; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $widgeturl); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
    $page = curl_exec($ch); 
    preg_match("/form action=\"(.*?)\"/", $page, $form_action); 
    preg_match("/textarea name=\"(.*?)\"/", $page, $message_field); 
    preg_match("/input type=\"text\" name=\"(.*?)\"/", $page, $signature_field); 

    $ch = curl_init(); 

    $strpost = $message_field[1].'=' . urlencode($text) . '&'.$signature_field[1].'=' . urlencode($signature); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $strpost); 
    curl_setopt($ch, CURLOPT_URL, $form_action[1]); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);  
    $page = curl_exec($ch); 
} 
+0

veuillez reformater votre question? –

+0

Quelle est l'erreur que vous obtenez? Je suis sûr qu'il va vous dire ce qui se passe ... –

+1

Vous réalisez que vous ne pouvez pas appeler PHP du côté client, où l'extension réside, non? – zneak

Répondre

1

Vous ne serez pas en mesure de faire ce que vous voulez comme vous le faites. Dans son commentaire, zneak a absolument raison. Votre extension est en cours d'exécution côté client tandis que PHP s'exécute côté serveur. Votre Javascript n'a aucune idée de ce qu'il faut faire de votre code PHP. Comme alternative, votre extension peut déclencher une requête Ajax à une URL que peut exécuter le code PHP. Je fais cela dans une de mes extensions où je dois faire un appel de service. Fonctionne très bien.

Questions connexes