你好我试图将输入传递给一个函数,但每次我尝试该页面似乎发送输入但不输出。
以下是代码:
<?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>
我知道这个功能正常,但是当我尝试提交时,我做错了什么?
*注意:所有这些都在同一页上。
答案 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);