我的<a href>
网页中有一个包含以下链接:
<a href=\"?remove=0\">Remove</a>
哪个好.然后我通过以下方式引用它:
if(isset($_REQUEST['remove']))
检查是否已设置然后执行相对操作(从数组中删除值).
但是,当我在我的php页面中单击另一个表单时,设置为method='POST'
,该$_GET
值保留在URL栏中,因此由于某种原因再次传递并且正在破坏我的程序.
有什么想法吗?
我编写了以下函数,该代码是我在其他地方使用的代码,并进行了少许修改以用作函数(在函数参数中使用$ url):
function curl2str($url) {
$cURL = curl_init($url);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 5);
$data = curl_exec($cURL);
curl_close($cURL);
return $data;
}
Run Code Online (Sandbox Code Playgroud)
我只希望一个函数将URL返回到字符串中,以实现快速简便的API。我传递的URL是有效的,当我将其放入浏览器时可以正常工作。我这样称呼它:
<?=curl2str("**valid URL here**");?>
由于某种原因,它只是返回false。我究竟做错了什么?
更新
当我将此问题URL放入as时$url
,得到响应。但是,当我使用自定义URL(在浏览器中可以正常工作)并且仅在目录中显示文件列表时,我会得到bool:false。
更新2 似乎任何域都可以正常工作,除了我尝试访问的域。碰巧这是同一服务器上的根域,我正在从子域运行此脚本,但是由于basedir_restrictions的原因,我无法从子域访问文件夹。因此,我写了一些php来获取文件夹的内容,并将其作为序列化数组(未安装JSON)输出到浏览器。但是我根本无法从该根域得到任何答复。它在浏览器中可以正常工作,但在cURL中却不能。在cURL中,其他所有东西都可以正常工作。
:(
抱歉,我从来没有掌握过正则表达式。
我需要从字符串中删除任何非字母数字的内容(从产品名称中,其中一些包含&符号),不包括空格。
到目前为止,我有这个(从另一个stackoverflow 帖子找到):
$productname = preg_replace("~[\W]~","",$product['name']);
Run Code Online (Sandbox Code Playgroud)
现在,这将用“”替换所有字母数字。这很好,但我想排除空格,因为它当前正在删除所有空格。另外,我在正则表达式中找不到波浪号 ( ~
) 的作用。
关于空格,我已经看到有一个由 实现的否定前瞻?!
,但我不知道如何将其合并到上面。
我不太确定如何正确地说出这个问题 - 但这仅仅是出于兴趣.我不得不从数据库加载信息并使用值预先填充表单.所以在文本框的情况下,它很简单,我只需设置值:
<input type="text" value="<?=$foo;?>" name="foobar">
然而,当我选择框时,我发现我的代码变得非常草率,因为我需要selected
在某处放置一个值.所以我真的有两种选择,我不喜欢这两种选择:
$one = $two = "";
switch ($myval) {
case "1": $one = " selected";
case "2": $two = " selected";
}
Run Code Online (Sandbox Code Playgroud)
然后在HTML中:
<select name="myval">
<option value="1"<?=$one;?>>One</option>
<option value="1"<?=$two;?>>Two</option>
</select>
Run Code Online (Sandbox Code Playgroud)
或者另一种选择是在select中间放置一个简写if语句:
<select name="myval">
<option value="1"<?=($myval=="1") ? " selected" : "";?>>One</option>
<option value="1"<?=($myval=="2") ? " selected" : "";?>>Two</option>
</select>
Run Code Online (Sandbox Code Playgroud)
看起来稍微干净一点,但它仍然让我烦恼.
任何人都有更有效率的方法吗?当它只是一个Yes/No
下拉框而且我必须为每个值编写愚蠢的if语句时,它更加难以理解.
同样的问题也适用于复选框.
我想回应原始目录结构.使用ascii字符192和195.我该怎么做?我在使用时最终会得到一个无效的字符 chr(192);
.我尝试过使用mb_convert_encoding
但是也没用.有解决方案吗