可以形成两个动作到PHP吗?

时间:2013-02-14 06:43:05

标签: php forms fopen fwrite

我只是在玩表单动作和php。我不擅长他们,刚开始学习,最近我正在玩fopen,fwrite和fclose。还要玩基本的表单填充然后php调出填充的内容。

我想知道的是,我知道fopen,可以调用fwrite来打开/创建一个txt文件并输入输入到txt文件中的简单数据但是如果我想这样做并让用户看到他们输入的内容

解释不太好。比方说吧

a.html - >让我们说这个html

<form action="a.php" method="get">
<input type="text" name="name">
<input type="submit">

a.php - &gt;点击a.html中的提交后,a.php的代码为

echo "My name is $_GET["name"]";

在a.html中单击提交后,将显示我的名字是xxxxx 但是,如果我也希望a.html中的提交进入另一个,那么请说b.php和b.php会有编码,如

$filehandle = fopen("text.txt","a+") or die ("sorry error");
fwrite($filehandle, $_GET["name"]);
fclose($filehandle);

我知道如果从a.html进入a.php或b.php中的一个然后它会起作用但是有可能使a.php和b.php只需一次提交点击即可。 HTML?

不想涉及javascripts和那些更高级的,因为我还没达到那个级别,但我只是在考虑是否有一种简单而可能的方式

4 个答案:

答案 0 :(得分:0)

最好使用这个javascript。 AFAIK,当您提交表单时,它将加载您的目标页面,传递表单中指定的表单变量。

你可以1)使用javascript来实现ajax以你想要的顺序调用你的php脚本

或2)

在yourform目标页面上,在PHP中调用你需要执行的任何其他PHP代码

答案 1 :(得分:0)

您可以简单地为其定义两个不同的功能。

function echoUsername($username) {
   echo "My name is $_GET["name"]";
}
function writeNameToFile($username) {
   $filehandle = fopen("text.txt","a+") or die ("sorry error");
   fwrite($filehandle, $_GET["name"]);
   fclose($filehandle);
}

现在只需将这些文件放入名为functions.php的文件中,使用a.php将其包含在b.php / include("functions.php");中,然后调用以下函数:

echoUsername($username);
writeNameToFile($username);

如果你真的想要同时调用两个页面,那么javascript就无法解决,但它仍然是一个糟糕的解决方案。

答案 2 :(得分:0)

您需要在b.php中加入a.php

<form action="a.php" method="get">
<input type="text" name="name">
<input type="submit">

a.php文件中,您需要包含

require_once "b.php";

答案 3 :(得分:0)

a.php

中的

<?php
    $name = $_GET['name'];   // use post as the form method is better

    // then give it to **b.php**:

    header('location: b.php?name='.$name);

    // or

    echo "<a href='b.php?name='".$name.">Link to Page B</a>";
?>

您可以通过以下方式在 b.php 中获取此值

<?php
      $new_name = $_GET['name'];   // get from the query string
?>