Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java小程序&x27;URL与PHP的连接无效_Java_Php_Applet_Httprequest_Urlconnection - Fatal编程技术网

Java小程序&x27;URL与PHP的连接无效

Java小程序&x27;URL与PHP的连接无效,java,php,applet,httprequest,urlconnection,Java,Php,Applet,Httprequest,Urlconnection,我已经研究了Oracle文档和示例,但仍然无法实现这一点 我有一个Java小程序,它只是尝试使用URLConnection和OutputStreamWriter通过POST将文本字段发送到PHP脚本。Java端似乎工作正常,没有抛出异常,但PHP在我的页面上没有显示任何输出。我是一个PHP noob,所以请容忍我的这一部分 以下是相关的Java部分: try { URL url = new URL("myphpfile.php"); URL

我已经研究了Oracle文档和示例,但仍然无法实现这一点

我有一个Java小程序,它只是尝试使用URLConnection和OutputStreamWriter通过POST将文本字段发送到PHP脚本。Java端似乎工作正常,没有抛出异常,但PHP在我的页面上没有显示任何输出。我是一个PHP noob,所以请容忍我的这一部分

以下是相关的Java部分:

    try {
            URL url = new URL("myphpfile.php");
            URLConnection con = url.openConnection();
            con.setDoOutput(true);
            out = new OutputStreamWriter(con.getOutputStream());
            String outstring = "field1=" + field1 + "&field2=" + field2;
            out.write(outstring);

            out.close(); 

    }
    catch (Exception e) {
        System.out.println("HTTPConnection error: " + e);
        return;
    }
下面是相关的PHP代码:

    <?php
            $field1= $_POST['field1'];
            $field2= $_POST['field2'];
            print "<table><tr><th>Column1</th><th>Column2</th></tr><tr><td>" .
                 $field1 . "</td><td>" . $field2 . "</td></tr></table>";
    ?>


我所看到的只是表头Column1和Column2(为了测试的目的,让我们将这些名称保留为通用名称)。我做错了什么?我需要告诉我的PHP脚本检查我的Java代码何时写入吗?

不要使用$\u POST,使用$\u REQUEST或$\u GET

在php脚本中,在哪里设置$field1和$field2


尝试
URL URL=newurl(“myphpfile.php?field1=“+field1+”&field2=“+field2”)

好吧,我觉得我已经尝试了所有可以用PHP尝试的东西,所以我最终选择了。现在这很容易

工作Java代码:

JSObject window = JSObject.getWindow(this);

// invoke JavaScript function
String result = "<table><tr><th>Column1</th><th>Column2</th></tr><tr><td>" 
+ field1 + "</td><td>" + field2 + "</td></tr></table>";
window.call("writeResult", new Object[] {result});

从这里,我甚至可以通过Ajax将结果从Javascript发送到PHP,以执行与数据库相关的操作。耶

如果你不发送邮件请求,请查看“谢谢”。读完这篇文章后,唯一的区别似乎是我需要明确地设置“con.setRequestMethod(“POST”);”对吗?不幸的是,这个问题上的任何技巧都对我没有任何影响。谢谢,我会尝试一下。对不起,我的变量名不正确。我已经编辑过了!获取/请求也不起作用。我想知道我如何将php输出写入小程序所在的页面是否有问题?它似乎根本没有用文本更新页面。php代码通过iframe在我的html页面中引用…有更好的方法吗?是的,我已经尝试通过URL传递字段,但php仍然没有找到它。我决定使用Java=>Javascript=>PHP来代替它。
function writeResult(result) {
        var resultElem =
            document.getElementById("anHTMLtagID");
        resultElem.innerHTML = result;
    }