草庐IT

php - Wordpress 自定义主题的 404.php > Google 是否将其视为真正的 404 重定向?

WordPress允许主题设计者在他们的主题目录中放置一个404.php文件。这使您能够在WordPress应用程序将404转发到您的404.php页面时提供自定义页面内容。我的问题是:这是否构成真正的404错误,会被谷歌和其他爬虫记录为这样,或者Wordpress拦截请求并将其传递到物理404.php页面这一事实是否意味着没有真正的404发生了吗? 最佳答案 Wordpress的默认页面似乎不发送404header,这是向爬虫发出丢失页面信号所必需的。来自WordPressCodex:Creatinganerrorpage:Tip

PHP: documentElement->childNodes 警告

$xml=file_get_contents(example.com);$dom=newDomDocument();$dom->loadXML($xml);$items=$dom->documentElement;foreach($items->childNodesas$item){$childs=$item->childNodes;foreach($childsas$i){echo$i->nodeValue."";}}现在我在每2个foreach中收到此警告:Warning:Invalidargumentsuppliedforforeach()infile_example.phpon

PHP。页面顶部的 "?>"

我正在用php创建网站。在本地主机上一切正常。在我的主机上,一切看起来也不错,但在页面顶部我看到“?>”。在我的代码中,这些符号不存在。这是什么? 最佳答案 可能是您的代码使用了短开放标签(而不是)并且您的托管服务提供商关闭了短开放标签。然而,这意味着您的PHP代码根本没有被解释。这也可能意味着您的托管服务提供商根本不支持PHP,或者仅支持某些文件类型。查看页面的源代码以检查是否属于这种情况。 关于PHP。页面顶部的"?>",我们在StackOverflow上找到一个类似的问题:

php - 如何让这个正则表达式匹配</span>

这是我要执行匹配的HTML字符串类型:+12SpellPowerand+10HitRating我想得到+12SpellPowerand+10HitRating从上面的HTML中。这是我写的代码:preg_match('/(.*)/',$gem,$match);但是由于它正在逃避/在所以它不会停止比赛,所以我得到的数据比我想要的多得多。我怎样才能逃脱/在同时仍将其作为模式的一部分?谢谢。 最佳答案 我认为你的正则表达式得到的比你想要的多的原因是因为*是贪婪的,尽可能多地匹配。相反,使用*?,它将尽可能少地匹配:preg_match('

PHP 将页面生成的标题放入 <head>

我们在网站的所有页面上都包含一个header.php文件。因此,我们可以在header.php文件中放置一个标题,该标题将应用于整个站点,或者在每个页面中设置一个自定义标题以更具描述性。问题是这样做时,标题会在head标签之外(保留在header.php文件中)并标记为无效。是否有某种函数可以用来在页面中定义一个变量($pageTitle),该变量将显示在head标签中?谢谢。 最佳答案 其实应该是这样新闻.php:模板.php:tpl.news.php简单明了 关于PHP将页面生成的标

php - Safari 中 <form> 的问题 - 只有第一次点击才会 POST 到 _blank 目标

我正在使用PHP在页面上生成10个表单,这些表单将图像附加为按钮并将隐藏值发布到_blank目标。这在Firefox中工作正常,所有10个按钮都提交并发布到一个新窗口。但是在Safari中只有我点击的第一个按钮会起作用(无论我选择哪个),之后没有任何按钮(表单)提交并发布到新窗口(!!!发生了什么??)这是代码-$id=getId();echo"";这里没有什么奇怪的-该ID实际上是我数据库中一首歌曲的ID,我已对其进行了简化以在此处显示-但我将其包含在表单名称的末尾,以防万一这是导致问题的原因。所以回顾一下,我最终在一个页面上有10个立即购买按钮-所有这些按钮都应该发布到一个PHP脚

php - <body> 标签 & script 标签和 link 标签下方的空白区域位于 head 标签的 body 标签下方

我使用php+smarty编写了一个php应用程序。当我在firebug中查看网页源代码时,我发现link标签和script标签位于body标签下。但它应该在head标签下。body标签下面还有一些空格。我的网页顶部有空白。问题是什么? 最佳答案 您在中有一些杂散的文本内容,在之前标签。浏览器看到文本并决定这意味着您正在启动主文档正文但忘记包含标签。这在HTML4中实际上是有效的——如果不可取的话:结束标记和开始标签都是可选的。这就是你可以拥有xHello!的方式作为有效的HTML文档。但这在XHTML中是不允许的,所以如果你val

php - 在html <select>, php代码中添加<option>s

我想在我的下拉框中添加年份2011-2001(明年是2012-2002,等等...)。因为我不想更改我的代码,所以我想用php来做。我有这样的效果:".date("Y")."";?>".date("Y")-1."";?>...现在我想用一个for循环来实现它并尝试这样:".date("Y")-$i."";}?>这给了我一个空的下拉框。我需要改变什么?为什么它不起作用? 最佳答案 试试这个:".$date."";}?>提醒一下:问题出在OperatorPrecedence上.您也可以像这样添加括号来解决问题:".(date("Y")-

php - 在php中获取<select>标签的选定索引值

我试图从中获取选定的值标记在PHP中,但出现错误。这就是我所做的,HTMLSelectMaleFemalePHP脚本$Gender=$_POST["gender"];但是我得到了这些错误Notice:Undefinedindex:genderinC:\xampp\htdocs\omnama\signup.phponline7PHP脚本$Gender=isset($_POST["gender"]);'itreturnsaemptystring?why?HTMLFirstNameLastNameYourEmailRe-typeEmailPasswordGenderSelectMaleFem

php - mysqli bind_param 不设置 $stmt->error 或 $stmt->errno

根据php手册,您可以通过询问$stmt->error和$stmt->errno来检索任何准备好的语句方法中的错误,但是bind_param方法似乎从来没有将这些设置为错误,其他人可以证实这一点吗?或者告诉我我缺少什么?例如:echo"Start\n";$db=newmysqli('localhost','test','xxxxxx','test');$val=1;$st=$db->prepare('insertintotblTestsetfield1=?');if($st==false){printf("prepare:%s%d\n",$db->error,$st->errno);}