【问题标题】:php get value from radiophp从收音机中获取价值
【发布时间】:2015-07-29 03:17:33
【问题描述】:

我想从 html 广播中获取代码。 我想检查功能dalje2()cetvrtiDio() 中选择的内容并回显正确的文本。我尝试使用===== 进行比较,我尝试使用getpost,即使elseif - else if 有和没有空格,但没有任何效果......显示idete desno,而有些东西显示Molimo vas da izaberete nešto od ponuđenog!,有些情况根本不起作用......这里有什么问题?

谢谢

<?php
class igra {
function cetvrtiDio() {
global $lang;
$desno = $lang['desno'];
$lijevo = $lang['lijevo'];
$ravno = $lang['ravno'];
$dalje = $lang['dalje'];
echo $lang['prvi-napad'].'<form>
    <input type="radio" name="izbor2" value="desno2">'.$desno.'<br />
    <input type="radio" name="izbor2" value="lijevo2">'.$lijevo.' <br />
    <input type="radio" name="izbor2" value="ravno2">'.$ravno.' <br />
    <input type="submit" name="dalje2" value="'.$dalje.'" />
    </form> ';
}
function dalje2() {
if(isset($_GET['izbor2'])==desno2) { echo 'idete desno'; }
elseif(isset($_GET['izbor2'])==lijevo2) { echo 'idete lijevo'; }
elseif(isset($_GET['izbor2'])==ravno2) { echo 'idete ravno'; }
else { echo 'Molimo vas da izaberete nešto od ponuđenog!';}
}
$igra = new igra;
if(isset($_GET['dalje2'])) {
$igra->dalje2();
}

【问题讨论】:

  • 该表单看起来提交给 GET,您的所有代码都使用它,除了检查是否应该运行您决定使用 POST 的函数?
  • 原代码是$_GET...这可能是测试时出错。反正。也不要使用 GET ......我编辑了它,但仍然不起作用
  • 在检查 dalje2 之前尝试 var_dump()-ing $_GET 看看里面有什么。
  • function dalje2 ($_GET['izbor2'])==desno2) 应该是 ($_GET['izbor2'])==$desno2) 或 ($_GET['izbor2'] )=='desno2')

标签: php html function class


【解决方案1】:

您正在使用 php 函数 isset 并尝试与字符串变量进行比较 - 这是不正确的。 试试这个:

if(isset($_GET['izbor2'])&&($_GET['izbor2']==$lang['desno'])) {
..
} elseif (...) {...}

当然你也可以使用开关功能:http://php.net/manual/en/control-structures.switch.php

【讨论】:

  • 谢谢,这不是我搜索的内容,但我相信它会在我需要时帮助我;)
【解决方案2】:

您的 if / else if 语句的问题在于您正在使用 isset() 查看变量是否存在,然后尝试将其结果与您正在寻找的字符串(即“desno2”)进行比较。它不是那样工作的,在这个逻辑中你不需要 isset() 。您正确使用 isset() 检查表单是否已提交。

if($_GET['izbor2']=="desno2") { echo 'idete desno'; }
elseif($_GET['izbor2']=="lijevo2") { echo 'idete lijevo'; }
elseif($_GET['izbor2']=="ravno2") { echo 'idete ravno'; }
else { echo 'Molimo vas da izaberete nešto od ponuđenog!';}

注意:这很好用。但是,如 cmets 中所述,您在 $_POST 和 $_GET 之间混合使用。您需要选择一个,在您的情况下可能是 POST 并供所有人使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 2011-08-09
    • 2020-12-31
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多