【问题标题】:PHP Variables not updating in code [duplicate]PHP变量未在代码中更新[重复]
【发布时间】:2016-12-06 21:17:18
【问题描述】:

我正在尝试更新我的 PHP 文件中的一些变量,但它们没有被更新。

这是 PHP 代码:

<?php 

require 'mojang-api.class.php';


if (isset($_GET["search"])) {

    $searchQuery = $_GET["search"];

    if (isset($_GET["selectOption"]) == "1") {
        if (strlen($searchQuery)>16) {
            //UUID
            $username = MojangAPI::getUsername($searchQuery);
            $uuid = MojangAPI::getUuid($username);
            
        }
        else {
            //USERNAME
            $uuid = MojangAPI::getUuid($searchQuery);
            $username = MojangAPI::getUsername($uuid);
        }
    }

这是我要编辑的 HTML:

<header>
  <div class="container text-center">

    <h2>Scam report for <?php echo $username; ?></h2>
    
    <div class="text-center">
        <div class="row">
            <div class="col-md-3">
                <div class="panel panel-default">
                <div style="color: white" class="panel-heading"><?php echo $username; ?></div>
                  <div class="panel-body">
                  </div>
                </div>
            </div>
            
            <div class="col-md-9">
                <div class="panel panel-default">
                  <div style="color: white" class="panel-heading">Information</div>
                  <table style="color: #333; text-align: left" class="table">
                    <tr>
                        <td style="min-width: 100px;" >UUID</td>
                        <td><?php echo $uuid; ?></td>
                    </tr>

这些 sn-ps 只是我完整文档的一部分。我有所有的结束括号和结束标签。文件扩展名为 .PHP,我正在通过 Dreamweaver CC 2017 使用 XAMPP 运行 Web 服务器。

PHP代码放在BODY标签打开后,html在文档的下方

我认为问题与我在 IF 语句中分配变量有关,并且它们没有在主 HTML 代码中得到更新,但我不确定。

我得到的错误是:

注意:未定义变量:第 88 行 C:\xampp\htdocs\website\search.php 中的用户名

注意:未定义变量:C:\xampp\htdocs\website\search.php 第 100 行中的 uuid

注意:未定义变量:C:\XAMPP\HTDOCS\WEBSITE\SEARCH.PHP 第 82 行中的用户名

任何帮助将不胜感激!

【问题讨论】:

  • 使用某种 IDE 在开发时而不是在运行时接收此提示。

标签: php html variables scope undefined


【解决方案1】:
isset($_GET["selectOption"]) == "1"

isset 永远不会返回包含字符 1 的字符串,因此您的变量确实永远不会初始化

只需使用 isset,它已经返回一个布尔值,无需测试它与一个值。

编辑:再过一点时间,如果搜索确实在查询字符串中,我想你的代码应该可以工作......你确定它是吗?如果是……我需要更多信息,因为它应该可以工作

【讨论】:

  • 你确定吗? isset 返回 true/false = 1/0... 实际上会自己测试:P
  • 我确定。 isset($_GET["selectOption"]) == 1 会起作用,但 == "1" 不会
  • $testvar = "testvar"; if (isset($testvar) == "1") { echo true; } 返回 1,刚刚测试。但是,这样做确实是错误的。
  • @RalphThomasHopper 1 == "1" 但 1 !== "1"。这是松散比较和严格比较的区别。
  • 嗯,你知道的越多......在冷却时去阅读......你实际上可以测试 == "moo",它仍然可以工作......moo!
猜你喜欢
  • 1970-01-01
  • 2017-06-19
  • 2021-03-31
  • 1970-01-01
  • 2012-09-09
  • 1970-01-01
  • 2017-12-22
  • 2018-03-24
  • 2017-09-13
相关资源
最近更新 更多