在php中的表单操作上无法file_get_contents

时间:2012-01-20 07:12:51

标签: php

我的表单操作设置为这样的php文件:

<form name="addstudent" action="includes/data.php?act=enquiry" >
    <input type="text" name="studentname" class="univtext default" value="Name" />
    <input type="text" name="studentemail" class="univtext default" value="Email" />
    <input type="text" name="studentno" class="univtext default" value="Contact No." />
    <input type="hidden" name="active" value="enquiry" />
    <input type="submit" value="Apply" class="univbut" >
</form>

我的php文件data.php是:

<?php
    switch($_GET['act'])
    {
        case "enquiry":
        include_once('globalvariables.php');
    $dataUrl='http://localhost:8080/databasee/track?country='.SITE_ACCESS_COUNTRY.'&region=delhi';
    $json=file_get_contents($dataUrl);
    echo $dataUrl;
    echo($json);
    }
?>

我的dataurl是正确形成的,但是file_get_contents()函数没有从url获取值(这个url返回json为true或false)在其他情况下它工作正常,它就在这里我无法让它工作

我发现我的网址中的&amp; region参数会转换为®ion。

2 个答案:

答案 0 :(得分:1)

尝试:


$url = "http://localhost:8080/databasee/track?country=";
$param = rawurlencode(SITE_ACCESS_COUNTRY);
$contents = file_get_contents($url.$param);
echo $contents;

请参阅:如果要打开包含特殊字符(例如空格)的URI,则需要使用urlencode()对URI进行编码。 希望它有所帮助

答案 1 :(得分:0)

您需要在表单标记中添加method="get",才能在操作页面的PHP代码中使用$_GET。如果您要使用$_POST,则步骤将相同:method="post"More info here

如果这不能解决您的问题,您可能需要验证是否可以在表单中使用带有参数的PHP页面:

includes/data.php?act=enquiry

VS

includes/data.php