如何在现有PHP脚本之后使其他代码工作?

时间:2017-03-11 01:39:28

标签: php html

对于一个奇怪的标题,请原谅,不知道怎么说。 本质上,我不能在我现有的PHP代码之后写任何东西(它包含一个类,一些函数和一个函数的回声)。我尝试了基本的HTML,以及更多的PHP,但没有一个可行。

记得回到我做Python的时候,它似乎是一个仍然在运行的循环,从而阻止其他任何工作。

我的代码:

<?php

//We're using a newer and older generation algorithms in order to create different results
//The time and date is used as a basic "salting" mechanism, which will make the number hard to determine without knowing the generation time
//I should consider using more secure generation, such as "random_int"
//EXTREMELY WIP!!!

class authGeneration
{

    private function gen($maxOne) {

        $begin_value_one = date("sih") * rand(1,100);
        $auth_value_one = mt_rand($begin_value_one, $maxOne);
        echo $auth_value_one;
    }

    private function genAdd($maxTwo) {

        $begin_value_two = date("his") + mt_rand(1000,1000000);
        $auth_value_two = rand($begin_value_two, $maxTwo);
        echo $auth_value_two;
    }

    public function finalGen() {

        $begin_value_three = date("dmY");
        $auth = $this->gen(999999999) + $this->genAdd(999999999); //No more than 999999999, no less than 100000000 (for both)
        $add = $auth + $begin_value_three;
        echo parseFloat ($add);
    }

}

function authCode() {
    $obj = new authGeneration();
    echo $obj->finalGen();
}

echo "Authentication code: "; authCode();
echo "MD5 Checksum: "; md5(authCode); //Doesn't work :(

authCode();的第一个回声是有效的,但是,不管我在那里写什么,它下面的行都没有。知道问题是什么吗?或者,如果它是前面提到的“循环”,我该如何逃避呢?随意概述我的愚蠢。

注意,PHP不是我的专长,我主要使用Java和/或C#(因为它们比PHP更有趣),并且决定用PHP做一些有趣的事情,因此我的语言知识相对有限。

1 个答案:

答案 0 :(得分:0)

尝试在脚本末尾运行以下内容。

echo "Authentication code: " . authCode();
echo "MD5 Checksum: " . md5(authCode()); 

我相信你并没有正确地将php附加到echo语句中,因为&#39 ;;&#39;表示PHP中的行尾。

进一步查看它看起来像你的第二个authCode实例缺少开括号和右括号。

最好在authCode()函数中返回一个字符串,并将结果集authCode()设置为等于变量,这样你就不会再调用authCode()函数两次。例如:

function authCode() {
    $obj = new authGeneration();
    return $obj->finalGen();
}


var $authvar = authCode();
echo "Authentication code: " . authvar;
echo "MD5 Checksum: " . md5(authvar);