【问题标题】:CURL input string url from FORM来自 FORM 的 CURL 输入字符串 url
【发布时间】:2017-10-28 10:24:56
【问题描述】:

我正在制作一个表单来将一个 URL 插入到我的 CURL 程序中。

我会让表单像

<form action="#" method="POST">
    <label for="name">URLinput</label>
    <input type="text" name="urlinput" id="urlinput"><br/>
    <input type="submit" name="submit" id="Submit">
</form>

如何更新代码以利用表单中的 URL,如下所示?

<?php

$curl =curl_init();
$url = $_POST['urlinsert'];  //<----- like this 
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);

preg_match_all("!https://s[^\s]*?.bukalapak.com/img[^\s]*?.webp!", $result, $images);
$images = array_values(array_unique($images[0]));

print_r($images);

preg_match_all("!data-reduced-price=\"([^\s]*?)\"!", $result, $matches);
$price['harga'] = $matches[1];

print_r($price['harga']);

curl_close($curl);

php?>

【问题讨论】:

  • 问题到底出在哪里?您在 PHP 脚本中引用了不同的字段名称。您正在尝试从名为 urlinsert 的字段中获取值,而您的字段名为 urlinput
  • 您到底想做什么?我们不明白这里有什么问题,

标签: php html curl post http-post


【解决方案1】:

提交表单时,文本输入的name属性会对应该值。如果您要在用户在文本字段中输入文本并提交表单后检查 $_POST 中的值,它应该如下所示:

Array ( [urlinput] => s4.bukalapak.com/page.php [submit] => Submit )

对于 url 输入,name 属性是 urlinput。所以改变这一行:

$url = $_POST['urlinsert'];  //<----- like this 

收件人:

$url = $_POST['urlinput'];  //<----- like this 

请参阅this phpfiddle example 中的演示。

【讨论】:

  • 谢谢@Sam,这个工作。但是我在 Laravel 中运行这个程序,我无法输入。这在 Laravel 中不起作用。你知道 Laravel 中的这段代码吗?
  • 当然——我建议你 ask another question 并包含相关代码(例如 Laravel 控制器或任何需要访问 POST 数据的代码)
  • 好吧,山姆……你是最棒的……呵呵
  • 你好吗...呵呵,谢谢你帮助我...我提出了一个问题...。stackoverflow.com/questions/47060808/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-14
  • 2018-03-15
  • 1970-01-01
  • 2013-07-14
相关资源
最近更新 更多