两个 html 表单一个结果页面一个提交按钮

Two html forms one submit button for one results page

我有两种形式,第一种形式包含不同的网络(例如:A、B、C),第二种形式包含不同的 java 函数(例如:average.java、length.java、edges.java) 获取表示网络的文本文件(例如:networkA.txt 是网络 A 的文本文件)和 运行 代码。我已经弄清楚了这部分。我 运行 遇到的问题是我想减少为了提高效率而需要使用的页面数量。 我有 26 个不同的网络,我不想让这意味着我有 50 个不同的网络表单文件,因此有 26 个不同的函数表单文件。

理想情况下,我想要 network.php(用户可以从 26 个不同的网络中选择 ---> A、B、C...Z)和单选按钮。然后我希望用户能够提交表单。弹出的下一页 function.php 我想在那里有带有单选按钮的函数形式(例如:平均值、长度、数量。 然后使用此提交按钮(对于 function.php),我想采用两种形式并使用选定的选项(例如:网络:A 函数:边缘)运行 该网络 txt 文件通过 java 该函数的代码,并在 results.php 页面中输出结果。

所以为了澄清我的问题,我想知道当我从 network.php 到 function.php 再到 运行 通过 java代码吐在results.php。我一直在读到 java 脚本中有一个 show./hide 函数可以执行此操作,但是我找不到任何好的教程或网页来说明如何在我尝试执行此操作的上下文中执行此操作。欢迎并非常感谢任何帮助、提示、指针或示例代码。

NetworkA.txt
0 1 0 2 0 3 1 2 2 3 3 4 4 5 5 6 5 7 6 7



Edges.java

import java.util.*;
import java.io.*;

class Edges{

    public static void main(String[] args){

    try{

        FileReader fr = new FileReader(args[0]);
        BufferedReader br = new BufferedReader(fr);

        String line = null;

        int numEdges = 0;

        while (  (line = br.readLine() ) != null){
            System.out.println(line);
            numEdges++;
        }

        System.out.println("Total # Edges: "+numEdges);


    }
    catch(Exception e){e.printStackTrace();}

    }

}



RunCode.php ---> 这就是我用来在 php 页面中编译 java 代码的内容

$PATH="C:\Program Files\Java\jdk1.8.0_101\bin";
      echo exec("javac Edges.java 2>&1");//shows # of errors
      echo "<br />";
      echo exec("java Edges networkA.txt 2>&1");//this line executes it
      echo "<br />";
      echo shell_exec("javac Edges.java 2>&1 ");//compiles it



networkA.php ---> networkA 符合代码并在这种情况下给出了结果 = 10 edges

<header>

    <div class="nav">

        <ul>
            <li><a href="logout.php">Logout</a></li>
        </ul>

    </div>

    <div class="form">
      <?php


      $PATH="C:\Program Files\Java\jdk1.8.0_101\bin";
      echo exec("javac ListEdges.java 2>&1");//shows # of errors
      echo "<br />";
      echo exec("java ListEdges networkA.txt 2>&1");//this line executes it
      echo "<br />";
      echo shell_exec("javac ListEdges.java 2>&1 ");//compiles it

      ?>
      <a class="tryagain" href='index.php' target="_blank">Try Again?</a></p>
    </div>

</header>

<footer>

    <div class="footer">
      by Jason Bruno

    </div>
</footer>

听起来您想使用表单 POST 操作将您的选择提交给 network.php:

<form action="network.php" method="post">
<label><input type="radio" name="networkChoice" value="A"> Network A</label>
<label><input type="radio" name="networkChoice" value="B"> Network B</label>
...put more options here...
<input type="submit">
</form>

然后您可以使用 $_POST[]

获取您在 PHP 中发布的数据
$network = $_POST["networkChoice"];
...do stuff...

更多 POST/GET 个示例:https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data#The_POST_method