我已经在PHP上工作了一段时间,但是我无法围绕如何使用这个工作。
非常简单 - 我希望我的链接根据输入到表单中的内容动态填充HTTP链接。
所以我只想让这个HTTP链接动态填充(因为需要插入用户的电话号码,我的API密钥需要隐藏)。
我的HTML
<form>
<label for="Name">Phone Number</label><br>
<input type="SMSnumber" id="name" required><br>
<input type="submit" value="Send me the SMS">
PHP填充链接:
https://api.clockworksms.com/http/send.aspx?key=APIKEY&to=<?php echo $_POST["SMSnumber"];
?>&content=Hello+World
(原始链接https://api.clockworksms.com/http/send.aspx?key=KEY&to=441234567890&content=Hello+World)
我需要告诉我的PHP填写表格中输入的部分(标签“SMSnumber”)。我认为这可能有效,但它仍然以HTML格式显示我的API密钥。
如果点击“提交”按钮,我怎么能告诉这个链接?
如何隐藏链接本身,以便我的API对公众不可见?
由于
答案 0 :(得分:3)
您需要设置HTTP方法。 http://www.w3schools.com/tags/att_form_method.asp
<form method="POST">
//------^
要隐藏您的api密钥,您可以执行以下操作。使用Curl。当然,你必须在下面的代码中添加你的API密钥。
<?php
if(isset($_POST['SMSnumber'])){
$url = 'https://api.clockworksms.com/http/send.aspx?key=APIKEY&to=' . $_POST["SMSnumber"] . '&content=Hello+World';
$ch = curl_init();
//Set Options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// Execute request
$result = curl_exec($ch);
echo $result;
} else {
?>
<form method="POST">
<label for="Name">Phone Number</label><br>
<input name="SMSnumber" type="text" id="name" required><br>
<input type="submit" value="Send me the SMS">
</form>
<?php } ?>
答案 1 :(得分:1)
如果您不想公开API密钥,则必须从后端发送请求,如下所示:
<?php
if(isset($_POST['SMSnumber']){
$url="https://api.clockworksms.com/http/send.aspx?key=APIKEY&to=".$_POST["SMSnumber"]."&content=Hello+World";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3'
));
$resp = curl_exec($curl);
curl_close($curl);
}
?>
<form method="POST">
<label for="Name">Phone Number</label><br>
<input type="text" name='SMSnumber' id="name" required><br>
<input type="submit" value="Send me the SMS">
</form>
答案 2 :(得分:0)
将form
更改为
<form method="post">
<label for="Name">Phone Number</label><br>
<input name="SMSnumber" type="text" id="name" required><br>
<input type="submit" value="Send me the SMS">
</form>
因为您使用<?php echo $_POST["SMSnumber"]; ?>
name
input
SMSnumber
属性,global $product;
$formatted_attributes = array();
$attributes = $product->get_attributes();
foreach($attributes as $attr=>$attr_deets){
$attribute_label = wc_attribute_label($attr);
if ( isset( $attributes[ $attr ] ) || isset( $attributes[ 'pa_' . $attr ] ) ) {
$attribute = isset( $attributes[ $attr ] ) ? $attributes[ $attr ] : $attributes[ 'pa_' . $attr ];
if ( $attribute['is_taxonomy'] ) {
$formatted_attributes[$attribute_label] = implode( ', ', wc_get_product_terms( $product->id, $attribute['name'], array( 'fields' => 'names' ) ) );
} else {
$formatted_attributes[$attribute_label] = $attribute['value'];
}
}
}
//print_r($formatted_attributes);
return $formatted_attributes;