将PHP表单数据发送到其他页面

时间:2020-04-14 10:09:00

标签: php forms

我刚刚编写了具有表单的这段代码。您必须输入您的姓名,姓氏和国家。您还必须选择自己喜欢的颜色。之后,您按下提交按钮,以便以后可以查看数据。我在一页上使用GET方法,但是我必须在POST方法上使用第二页,以便每个回显都在第二页上。 我该怎么办?我的代码是:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>Form</title>

 <link rel="stylesheet" type="text/css" href="form.css">
 </head>
 <body>
 <section>
 <?php
 if (isset($_GET["name"])){
     $name = $_GET["name"];
     if ($name != ""){
         $surname = $_GET["surname"];
         $country = $_GET["country"];
         $colour = $_GET["colour"];

         echo "<p>";
         echo "<h2>Data</h2>";
         echo $name . " " . $surname . "</br />";
         echo $country . "<br />";
         echo $colour;
         echo "</p>";
     }else 
         echo "<strong>Complete the blank spaces</strong>";
 }else{
 ?>
 <h1>Form</h1>
 <form class="elegant" method="GET" action="?">
 <fieldset>
 <legend>Favourite colour</legend>

 <div>
 <label for="nombre">Name</label>
 <input type="text" placeholder="Name" name="name"
id="name" />
 </div>
 <div>
 <label for="surname">Surname</label>
 <input type="text" placeholder="Surname" name="surname"
id="surname" size="50" />
 </div>
 <div>
 <label for="country">Country</label>
 <input type="text" placeholder="Country" name="country" id="country"
size="10" maxlength="9" />
 </div>
 <div>
<select name="colour" id="colour">
<option value="yellow" <?php if ($colour == "yellow" ) echo "selected"  ?> >yellow</option>
<option value="red" <?php if ($colour == "red" ) echo "selected"  ?> >red</option>
 </div>

 <input class="btn" type="submit" value="Save" />
 </fieldset>
 </form>
 <?php
 }
 ?>

 </section>
 </body>
</html>

我知道我必须使用指向第二页的链接,但这就是我所知道的。预先感谢!

3 个答案:

答案 0 :(得分:0)

在表单标签中,您可以指定表单提交到的位置:

var shp = 'https://xxx.sharepoint.com/:f:/r/sites/group/folder/')

答案 1 :(得分:0)

在第二页上,您可以通过$ _GET变量获取值,例如

<?php
echo $_GET['name'].' '.$_GET['surname'];

答案 2 :(得分:0)

如果我理解正确,则显示的代码适用于用户可以进行以下操作的第1页:

  1. 如果没有数据,则输入数据;
  2. 查看数据并确认它们是否存在。此时,将数据存储在SESSION中,并将用户发送到其他页面。

为此,请记住,您必须在将能够操纵会话数据的每个页面的开始处添加session_start()命令。

 <?php
 session_start();

 if (isset($_GET["name"])){

     $name = $_GET["name"];
     if ($name != ""){
         $surname = $_GET["surname"];
         $country = $_GET["country"];
         $colour = $_GET["colour"];

         echo "<p>";
         echo "<h2>Data</h2>";
         echo $name . " " . $surname . "</br />";
         echo $country . "<br />";
         echo $colour;
         echo "</p>";

         $_SESSION["name"] = $name;
         $_SESSION["surname"] = $surname;
         $_SESSION["country"] = $country;
         $_SESSION["colour"] = $colour;

         <a href="another_page.php">Confirm</a>

     }else 
         echo "<strong>Complete the blank spaces</strong>";
 }else{
 ?>
...

在“ another_page.php”中,您将发现只需查询$ _SESSION数组即可访问数据。

<?php
session_start();
...
// Echo session variables that were set on previous page
echo "Name is " . $_SESSION["name"] . ".<br>";
echo "Surname is " . $_SESSION["surname"] . ".";
// etc.
?>

完整参考是PHP Manual,简单参考在W3C PHP Sessions页面中。