1

<textarea>テキストをWeb フォームから Slack チャネルに自動的にプッシュする PHP スクリプトを作成しようとしています。

HTML:

<form action="http://main.xfiddle.com/<?php echo pf_file('g7f-ds0'); ?>" method="post" id="myform" name="myform">   
<textarea name="text" id="" rows="3" cols="30">
</textarea> <br /><br />
<button id="mysubmit" type="submit" name="submit">Submit</button><br /><br /></form>

次のように、ハードコードされたメッセージを Slack に投稿する PHP スクリプトを書くことができました。

    <?php

//API Url
$url = 'https://hooks.slack.com/services/T02NZ01FU/B08TTAPGE/000000000000000000';

//Initiate cURL.
$ch = curl_init($url);

//The JSON data.
$payload = array(
   ’text' => 'Testing text with PHP'
);

//Encode the array into JSON.
$jsonDataEncoded = json_encode($payload);

//Tell cURL that we want to send a POST request.
curl_setopt($ch, CURLOPT_POST, 1);

//Attach our encoded JSON string to the POST fields.
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);

//Set the content type to application/json
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 

//Execute the request
$result = curl_exec($ch);
?>

しかし、何らかの理由で、テキストを取得<textarea name="text" rows="3" cols="30"></textarea>して変数に保存しようとすると、機能しません。これを PHP の先頭に追加して、テキスト変数を設定します。

if(isset($_POST['submit']))
$textdata = $_POST['text'];

$payload を

'text' => $textdata
4

2 に答える 2