php $_GET 和未定义的索引

2023-12-10

当我尝试在不同的 PHP 服务器上运行脚本时,出现了一个新问题。

在我的旧服务器上,以下代码似乎工作正常 - 即使没有s参数已声明。

<?php
 if ($_GET['s'] == 'jwshxnsyllabus')
echo "<body onload=\"loadSyllabi('syllabus', '../syllabi/jwshxnporsyllabus.xml',         '../bibliographies/jwshxnbibliography_')\">";
if ($_GET['s'] == 'aquinas')
echo "<body onload=\"loadSyllabi('syllabus', '../syllabi/AquinasSyllabus.xml')\">"; 
 if ($_GET['s'] == 'POP2')
echo "<body onload=\"loadSyllabi('POP2')\">";
elseif ($_GET['s'] == null)
echo "<body>"
?>

但现在,在我的本地计算机上的本地服务器上(XAMPP - Apache),当没有值时,我会收到以下错误s被定义为。

Notice: Undefined index: s in C:\xampp\htdocs\teaching\index.php on line 43
Notice: Undefined index: s in C:\xampp\htdocs\teaching\index.php on line 45
Notice: Undefined index: s in C:\xampp\htdocs\teaching\index.php on line 47
Notice: Undefined index: s in C:\xampp\htdocs\teaching\index.php on line 49

如果声明了一个值,我希望脚本调用某些 javascript 函数时发生什么s,但如果没有声明任何内容,我希望页面正常加载。

你能帮助我吗?


错误报告将不包括先前服务器上的通知,这就是您没有看到错误的原因。

您应该检查索引是否s实际上存在于$_GET在尝试使用数组之前。

像这样的东西就足够了:

if (isset($_GET['s'])) {
    if ($_GET['s'] == 'jwshxnsyllabus')
        echo "<body onload=\"loadSyllabi('syllabus', '../syllabi/jwshxnporsyllabus.xml',         '../bibliographies/jwshxnbibliography_')\">";
    else if ($_GET['s'] == 'aquinas')
        echo "<body onload=\"loadSyllabi('syllabus', '../syllabi/AquinasSyllabus.xml')\">"; 
    else if ($_GET['s'] == 'POP2')
        echo "<body onload=\"loadSyllabi('POP2')\">";
} else {
    echo "<body>";
}

使用switch声明使您的代码更具可读性。

switch ((isset($_GET['s']) ? $_GET['s'] : '')) {
    case 'jwshxnsyllabus':
        echo "<body onload=\"loadSyllabi('syllabus', '../syllabi/jwshxnporsyllabus.xml',         '../bibliographies/jwshxnbibliography_')\">";
        break;
    case 'aquinas':
        echo "<body onload=\"loadSyllabi('syllabus', '../syllabi/AquinasSyllabus.xml')\">";
        break;
    case 'POP2':
        echo "<body onload=\"loadSyllabi('POP2')\">";
        break;
    default:
        echo "<body>";
        break;
}

编辑:顺便说一句,我编写的第一组代码完全模仿了您的代码的用途。是预期结果中的意外值吗?s=意味着输出没有<body>标签还是这是一个疏忽?请注意,开关将通过始终默认为来解决此问题<body>.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php $_GET 和未定义的索引 的相关文章

  • 如何使用 PHP 从 iframe 获取 url

    如何从下面的链接获取 YouTube 网址 您可以使用 regex 和 preg match 函数 preg match src iframe string match url match 1 UPDATE如果您有使用 php 生成的页面或
  • 替代 header("Content-type: text/xml");

    是否存在与以下内容等效的内容 header Content type text xml 我将 Google 地图与 Wordpress 一起使用 但收到 标头已发送 错误 我已经检查了所有文件并删除了所有空白 但错误仍然出现 所以只是想知道
  • 使用操作系统用户名/密码在 PHP 中进行身份验证?

    我想知道是否有一种方法可以使用 PHP 或者可能是其他一些 CGI 但最好是 PHP 来使用其操作系统 在本例中为 Linux Debian 5 用户名和密码来验证用户 可能的 难的 谢谢 一般来说 这种东西是特定于操作系统的 并与现有的身
  • 创建动态子域

    自从我考虑一些网站正在实施的此功能以来已经有一段时间了 它看起来非常成功 类似的网站tumblr com blogger com wordpress com允许用户使用简单的 HTML PHP 表单从网站内注册新的子域名 以我目前对 PHP
  • Stripe API - 代理后面的 PHP Curl 请求

    我正在尝试使用 php 和curl 在代理后面向 stripe api 发出请求 如果我不在代理后面 则以下内容有效 ch curl init curl setopt ch CURLOPT URL https api stripe com
  • 图像上的文字

    是否可以在 php 中动态地将文本放置在图像上 然后将其发送到 rss feed 是的 可以使用GD http www php net gd函数或图像魔术师 http www php net imagemagick功能 具体取决于您的服务器
  • 递归BBCode解析

    我正在尝试解析脚本中的 BBCode 现在 它可以无缝工作 直到我尝试缩进不仅仅是粗体或下划线的 BBCode 例如剧透 网址 字体大小等 然后它就会搞砸 这是我的代码 function parse bbcode text global d
  • 如何在 PHP 中进行静态代码分析? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有PHP源文件的静态分析工具 二进制文件本身可以检查语法错误 但我正在寻找功能更多的东西 例如 未使用的变量赋值 未先初始化就分配到的
  • 用掩码替换字符串模式的最快方法

    我有类似的字符串 string string key foo bar 和参数数组 params array foo gt 1 bar gt 2 如何以 string 模式替换此参数 预期结果是 string key 1 2 首先 您需要重写
  • 如何启用 php curl 以在 php cli 中使用

    我已经在没有服务器的情况下在我的计算机上安装了 php 并使用 cli 运行它 但未启用 php curl 我不知道如何执行此操作 如果有人遇到此线程并使用 wamp 服务器 这里有一个针对上述问题的快速解决方案http forum wam
  • 如何在没有数据库的情况下创建AJAX分页?

    是否可以在没有 MySQL 帮助的情况下获取 AJAX 分页页面 难道我不能只添加一个包含我需要显示的文本和标记的 PHP 文件 然后通过单击页码将该内容提供给用户吗 那么可以用纯 jQuery 和 PHP 来实现吗 您会使用什么代码方法来
  • 如何使用 PHP 中的 jQuery/AJAX 调用迭代 JSON 数组? [复制]

    这个问题在这里已经有答案了 可能的重复 循环Json对象 https stackoverflow com questions 684672 loop through json object 我有一个 PHP 函数 data php 它从外部
  • PHP上传问题

    我使用了一些脚本来开始在我的开发计算机上上传文件 问题是 尽管此操作预期很容易 但每当我尝试上传图像时 Apache 似乎都会超时 上传设置为On和tmp目录设置在php ini 我尝试上传主要内容gif来自谷歌 一个8 36KB图像 它应
  • php 删除特定文件夹及其所有内容

    我正在使用 php 删除包含已删除帖子图像的文件夹 我正在使用下面的代码 这是我在网上找到的并且做得很好 我想知道当一个文件夹中有其他文件夹时 如何只删除其中的特定文件夹 当我使用下面的代码时 如何才能做到这一点 使用 dev images
  • PHP 版本如何匹配“API=yyyymmdd”签名/标签?

    是否有明确且可靠的来源来找出哪个 PHP 发行版本 x y z 携带 使用哪个 API yyyymmdd 签名 标签 PHP 的版本控制存储库是 PHP 版本与其 API 日期版本之间相关性的权威来源 请记住 仅主要版本PHP 的版本 例如
  • php循环中的ajax在按钮单击时执行操作

    所以我有一个 php 循环 我使用 jquery 滑动切换来隐藏 显示带有 sql 结果的表 目前该表仅使用 php 加载 但由于发生了很多事情 导致了一些加载问题 我需要使用滑动切换 btn 来触发 ajax 因此它仅在按下按钮时请求当前
  • 使用 Laravel dusk 仅迁移一次

    根据到 数据库测试 文档 https laravel com docs 5 4 database testing resetting the database after each test我可以在每次测试后重置数据库 第一个选项 第二个选
  • 创建具有动态更新变量的数组

    我有一些 PHP 变量 它们的名称直接链接到它们包含的函数 是否有办法自动创建这些变量 以便我可以使用所有变量 00 200 这就是我现在正在做的事情 regdays00 is user reg matured 00 regdays02 i
  • PHP 内置函数复杂性(isAnagramOfPalindrome 函数)

    我在过去的两个小时里一直在谷歌搜索 但找不到 php 内置函数时间和空间复杂度的列表 我有回文字谜 https stackoverflow com questions 4628386 what is the best algorithm t
  • 我应该写什么来从 CI 中的控制器重定向页面?

    这是我的控制器

随机推荐

  • 如何在脚本内触发大括号扩展?

    我正在编写一个需要使用 shell 的大括号扩展的脚本 但我尝试过的任何方法都不起作用 对于 人为的 实例 假设我有一个包含字符串的变量 thing 01 02 我 显然 想将其扩展到 thing01 thing02 从脚本内部 我该怎么做
  • 为什么删除 DOCTYPE 后高度 100% 仍有效?

    这是整个代码 div style background color green height 100 width 100 div 什么也没有出现 但是如果我删除第一行 doctype 所有页面如预期一样都是绿色的 我有两个问题 我该如何制作
  • UIActivityViewController 相当于 ios 5

    我正在尝试分享应用程序中的一些文本 如果用户安装了ios 6我将调用UIActivityViewController来共享 但是 如果用户有 ios 5 是否有类似的东西我可以调用 并且有按钮可以分享到邮件和 Twitter 在 ios 5
  • 什么时候需要在Python中的整数两边添加引号[重复]

    这个问题在这里已经有答案了 我刚刚了解到Python中没有整数的引号 但为什么在这种情况下需要它 character name Tom age 50 print There once was a man named character na
  • API 平台 JWT:找不到“GET /api/login”的路由

    我成功安装了 API 平台 它与我的所有实体配合良好 现在我正在尝试使用 LexikJWTAuthenticationBundle 添加 JWT 身份验证 但是当我发送登录请求时 我得到 找不到 GET api login 的路由 我的请求
  • 如何使用JS传播剩余破坏来删除嵌套属性?

    尝试使用扩展运算符剩余破坏来删除多个属性 因此药物名称被删除 但我有嵌套对象mailPrice copayEmployer那并没有被破坏 你知道什么是错误实施的吗 main js const transformedResponse tran
  • 成员函数指针和继承

    因此 为了方便起见 我正在开发一个简单的 win32 包装器 但我遇到了一个稍微复杂的问题 这还有很多其他成员 但我省略了一些 只留下有问题的成员 class Windows AbstractWindow public void Insta
  • WCF ServiceRoute 路由前缀可以包含路径值吗?

    目前我使用这个 RouteTable Routes Add new ServiceRoute API new WebServiceHostFactory typeof MySite Web MyServiceV1 使此 url 指向 MyS
  • 如何在 Pytz 中使用缩写时区名称(PST、IST)

    我需要知道如何在 pytz 上使用缩写时区名称 如 PST IST 等 的方法 现在我可以使用时区名称 例如 America Los Angeles 在时区之间进行转换 相反 我需要找到使用时区名称 如 PST IST 等 的方法 我现在用
  • GitHub Actions 中的环境和可重用工作流程

    我想找到一种方法将环境 语句从可重用工作流程移动到调用工作流程 可重用工作流程的开始是 name Reusable Terraform Action on workflow call inputs working folder descri
  • 从 javascript 提交名称值对?

    JS 可以通过 document testform submit 提交 name vale 对吗 或者是否必须通过 html 标签提交 例如
  • 如何在 Primefaces Gmap 上标记用户当前位置?

    在 Gmap 中 我们可以通过传递自定义纬度和经度来标记所需位置 有什么方法可以为用户的当前位置添加标记到地图上吗 有没有办法获取用户的纬度和经度 以前有人做过吗 请分享你的想法 您需要计算用户的 IP 地址 然后将其提供给某些 IP 地理
  • Ray 并行 python 不会改变列表

    我的问题是 如果我重新分配列表中的项目 以便重新分配发生在并行进程期间 那么在并行进程完成后 更改将恢复到其原始状态 在下面的示例中 为了便于理解而进行了极大简化 我有一个函数将列表元素 NoZeros 0 更改为 鸡 第二个函数将 NoZ
  • Codeigniter 3.x 使用表单验证登录 - 样板

    我在这里阅读了来自不同新手的几个关于 Codeigniter 中的登录和验证的问题 其中一些混合了 JavaScript 和 J query Codeigniter 本身提供了强大的表单验证以及自定义错误设置支持 我决定与您分享使用我创建的
  • 如何在一个sql查询中生成多个时间序列?

    这是数据库布局 我有一张表 其中随着时间的推移销售量稀疏 每天汇总 如果某个商品在 2015 年 1 月 1 日有 10 次销售 我将有一个条目 但如果我有 0 次销售 那么我就没有条目 像这样的东西 day of year year sa
  • 如何通过点击DataTable同一行的Edit按钮获取Id值

    I use jQuery Datatable用于列出记录并添加Action按钮 编辑 用于在模式对话框上编辑记录 如果我选择一行 我可以获得行 ID 值并在模式对话框中打开相关记录 但是 如果我单击Edit直接按钮 我无法获取相关记录 同一
  • 第二次添加视图时按钮点击没有反应

    当选择列表中的项目时 我执行以下代码行 this details Ext create EventManager view EventInfoView this getNavigationView push this details 所以我
  • 如何用 javascript/jquery 替换 url 参数?

    我一直在寻找一种有效的方法来做到这一点 但一直找不到它 基本上我需要的是给定这个网址 例如 http localhost mysite includes phpThumb php src http media2 jupix co uk v3
  • 如何编辑图像,例如在图像上永久添加文本,该文本将成为android中该图像的一部分?

    我有以下要求 我的 Android 手机中有一张图片 现在我想编辑这张图像 使其成为我图像的一部分 例如 假设我想在图像上写下文本 例如编辑时的日期 并在图像上写下我将给出的名称 现在保存该图像 现在如果我再次打开该图像 我写的文本也会显示
  • php $_GET 和未定义的索引

    当我尝试在不同的 PHP 服务器上运行脚本时 出现了一个新问题 在我的旧服务器上 以下代码似乎工作正常 即使没有s参数已声明