<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