php从收音机中获取价值

时间:2015-05-17 16:33:48

标签: php html function class

我想从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();
}

2 个答案:

答案 0 :(得分:2)

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

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

当然,您可以使用切换功能:http://php.net/manual/en/control-structures.switch.php

答案 1 :(得分:2)

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

Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub RunSleep( _
    exec As WshExec, _
    Optional timeSegment As Long = 800 _
)
    Do While exec.Status = WshRunning
        Sleep timeSegment
    Loop
End Sub

Private Function RunProgram( _
    program As String, _
    Optional command As String = "" _
) As WshExec
    Dim wsh As New WshShell
    Dim exec As WshExec

    Set exec = wsh.exec(program)
    Call exec.StdIn.WriteLine(command)
    Call RunSleep(exec)
    Set RunProgram = exec
End Function

Public Sub Run()
    Dim program As WshExec
    Dim value As String
    Set program = RunProgram("java -jar ""D:\\Demo.jar"" 8861ccd621")
    Debug.Print "STDOUT: " & program.StdOut.ReadAll
 End Sub

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