通过同一页面上的函数传递输入

时间:2014-01-23 05:15:22

标签: php html

你好我试图将输入传递给一个函数,但每次我尝试该页面似乎发送输入但不输出。

以下是代码:

<?php
if( isset($_GET['submit']) )
{
$url = htmlentities($_GET['val1']);
getCoinUrl($url);
}

function getCoinUrl($url)
{
    $uuid = "MYUUID#";
    $url = rawurlencode($url);

    $result = file_get_contents("https://coinurl.com/api.php?uuid={$uuid}&url={$url}");

    if($result == 'error')
        return false;
    else
        return $result;
}
?>

这是html:

<form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
    Long URL:
    <input type="text" name="val1" id="val1"></input>
    <input type="submit" value="submit"></input>
</form>

我知道这个功能正常,但是当我尝试提交时,我做错了什么?

*注意:所有这些都在同一页上。

4 个答案:

答案 0 :(得分:2)

试试这个

$result = file_get_contents("https://coinurl.com/api.php?uuid=".$uuid."&url=".$url);

并更改您的HTML代码

<form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
Long URL:
<input type="text" name="val1" id="val1"/>
<input type="submit" value="submit" name="submit"/>
</form>

答案 1 :(得分:1)

更改

 <input type="submit" value="submit"></input>

 <input type="submit" value="submit" name="submit">

您缺少“提交”按钮的名称,也不需要

</input>

(不需要关闭标签)

答案 2 :(得分:1)

您提交按钮的原因没有name属性,

在这种情况下,您需要在name="submit"按钮中添加submit属性,因为您在条件块if( isset($_GET['submit']) )

中使用了相同的属性
    <?php
        if( isset($_GET['submit']) )
        {
        $url = htmlentities($_GET['val1']);
        getCoinUrl($url);
        }

        function getCoinUrl($url)
        {

            echo $_GET['val1']; // you get the value directly into the function as well
            $uuid = "MYUUID#";
            $url = rawurlencode($url);

            $result = file_get_contents("https://coinurl.com/api.php?uuid=".$uuid."&url=".$url);

            if($result == 'error')
                return false;
            else
                return $result;
        }
        ?>

        <form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
            Long URL:
            <input type="text" name="val1" id="val1" />
            <input type="submit" value="submit" name="submit" />
        </form>

答案 3 :(得分:0)

试试这个

<input type="text" name="val1" id="val1" value="" />
<input type="submit" value="submit" name="sbumit" />

而不是

<input type="text" name="val1" id="val1"></input>
    <input type="submit" value="submit"></input>

PHP

$filename = "https://coinurl.com/api.php?uuid=".$uuid."&url=".$url;
$result = file_get_contents($filename);