我只是在玩表单操作和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-->在.html中单击提交后,这个a.php将具有的代码
echo "My name is $_GET["name"]";
在.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只需在a.html上单击一次提交即可起作用?
不想涉及java脚本和那些更高级的脚本,因为我还没有达到那个级别,但我只是在想是否有一种简单可行的方法
最好使用javascript。AFAIK,当你提交表单时,它会加载你的目标页面,传递表单中指定的表单变量。
您可以1)使用javascript实现ajax,以您想要的顺序调用php脚本
或2)
在您的表单目标页面上,在PHP中调用执行所需的任何其他PHP代码
您可以简单地为此定义两个不同的函数。
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
的文件中,使用include("functions.php");
将其包含到a.php
/b.php
中,并调用如下函数:
echoUsername($username);
writeNameToFile($username);
如果你真的想同时调用这两个页面,javascript是没有办法的,但它仍然是一个糟糕的解决方案。
您需要像一样将b.php
包含在a.php
中
<form action="a.php" method="get">
<input type="text" name="name">
<input type="submit">
在a.php
文件中,您需要包含
require_once "b.php";
在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
?>