将表单变量传递给 curl 请求
Passing form variables to curl request
好的,所以我正在尝试创建一个简单的 HTML 页面,其中包含一个使用 cURL 提交 pushbullet 请求的表单。
到目前为止,我的 HTML 看起来像这样。
<html>
<head>
<title>Omran's Push Application</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<form method="post" onSubmit="window.location='index.htm" action="post.php">
<p>
<label for="login">From:</label>
<input type="text" name="title" id="login">
</p>
<p>
<label for="message">Message:</label>
<input type="text" name="body" id="password">
</p>
<p class="login-submit">
<button type="submit" class="login-button">Login</button>
</p>
</form>
</body>
</html>
下面是事情的PHP/cURL方面。
<?php
//create array of data to be posted
$post_data['title'] = $_POST['title'];
$post_data['body'] = $_POST['body'];
//traverse array and prepare data for posting (key1=value1)
foreach ( $post_data as $key => $value) {
$post_items[] = $key . '=' . $value;
}
//create the final string to be posted using implode()
$post_string = implode ('&', $post_items);
//create cURL connection
$curl_connection = curl_init('https://api.pushbullet.com/v2/pushes');
//set options
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_HTTPHEADER, ['Access-Token: TOKEN_HERE']);
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
//set data to be posted
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
//perform our request
$result = curl_exec($curl_connection);
curl_close($curl_connection);
?>
虽然它没有给予。它只是在 post.php
处给出一个空白页
有什么想法吗?
试试 var_dump($result);
看看有什么结果。我认为您实际上没有输出任何内容,因此出现空白页
好的,所以我正在尝试创建一个简单的 HTML 页面,其中包含一个使用 cURL 提交 pushbullet 请求的表单。
到目前为止,我的 HTML 看起来像这样。
<html>
<head>
<title>Omran's Push Application</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<form method="post" onSubmit="window.location='index.htm" action="post.php">
<p>
<label for="login">From:</label>
<input type="text" name="title" id="login">
</p>
<p>
<label for="message">Message:</label>
<input type="text" name="body" id="password">
</p>
<p class="login-submit">
<button type="submit" class="login-button">Login</button>
</p>
</form>
</body>
</html>
下面是事情的PHP/cURL方面。
<?php
//create array of data to be posted
$post_data['title'] = $_POST['title'];
$post_data['body'] = $_POST['body'];
//traverse array and prepare data for posting (key1=value1)
foreach ( $post_data as $key => $value) {
$post_items[] = $key . '=' . $value;
}
//create the final string to be posted using implode()
$post_string = implode ('&', $post_items);
//create cURL connection
$curl_connection = curl_init('https://api.pushbullet.com/v2/pushes');
//set options
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_HTTPHEADER, ['Access-Token: TOKEN_HERE']);
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
//set data to be posted
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
//perform our request
$result = curl_exec($curl_connection);
curl_close($curl_connection);
?>
虽然它没有给予。它只是在 post.php
处给出一个空白页有什么想法吗?
试试 var_dump($result);
看看有什么结果。我认为您实际上没有输出任何内容,因此出现空白页