以html格式输入的值不是由php获取的

时间:2017-07-29 18:15:42

标签: php html

我尝试执行以下html代码:

<html>
 <head>
 <title>Listing 9.1 A simple HTML form</title>
 </head>
 <body>
 <form action="listing.php" method="POST">
 <p><strong>Name:</strong><br>
 <input type="text" name="user"></p>
 <p><strong>Address:</strong><br>
 <textarea name="address" rows="5" cols="40"></textarea></p>
 <p><input type="submit" value="send"></p>
 </form>
 </body>
 </html>

这是相关php文件(listing.php)的代码:

     <html>
 <head>
 <title>Listing  Reading input from a form </title>
 </head>
 <body>

 Welcome <?php echo $_POST["user"]; ?><br>
 Your email address is: <?php echo $_POST["address"]; ?>

 </body>
 </html>

我能够获取表单并输入如下所示的值:  Form Input

但是,当我点击“发送消息”时,它仅显示: 欢迎 您的电子邮件地址是:

没有我通过表单输入的值。

当我尝试直接从本地主机(http://localhost/listing.php)运行php文件时,我收到以下错误消息: 欢迎 注意:未定义的索引:第7行的C:\ xampp \ htdocs \ listing.php中的用户

您的电邮地址是: 注意:未定义的索引:第8行的C:\ xampp \ htdocs \ listing.php中的地址

我甚至按如下方式修改了php代码,但仍然得到了相同的输出:

<html>
 <head>
 <title>Listing  Reading input from a form </title>
 </head>
 <body>

 Welcome <?php 
  if(isset($_POST['submit'];)) {
  session_start(); 
  $user = $_POST['user'];
  echo "$text";}else {echo 'Could not load text!';}?><br>
 Your email address is: <?php echo $_POST["address"]; ?>

 </body>
 </html>

如果你能提出一些建议让它发挥作用,我将非常感激。  感谢

4 个答案:

答案 0 :(得分:0)

如果(isset($ _ POST ['submit'];))应该更改,那么你检查地址和用户是否是isset。此外,你通常不想要;在你的if语句中。

我在这里有一个优化版本。添加了!empty,因此我们还检查输入是否为空。

if (isset($_POST["name"] && isset($_POST["address"])) {
  if (!empty($_POST["name"] && !empty($_POST["address"]) {
    // execute code as u would 
  }
}

答案 1 :(得分:0)

注意:未定义的索引:第8行的C:\ xampp \ htdocs \ listing.php中的地址

这是由使用';'引起的在if条件下。 删除它,你应该是好的。现在。

试试这段代码:

if

答案 2 :(得分:0)

在您的第二个代码块中public class ThreadParSqrt { public static void main(String[] args) { double[] a = new double[1000]; for (int i = 0; i < 1000; i++) a[i] = i; SqrtThread threads[] = new SqrtThread[1000]; for (int i = 0; i < 1000; i++) { threads[i] = new SqrtThread(a,i); threads[i].start(); } for (int i = 0; i < 1000; i++) { try { threads[i].join(); } catch (InterruptedException e) { e.printStackTrace(); } } for (int i = 0; i < 1000; i++) { System.out.println(a[i]); } } } 未在任何地方定义。你的意思是public class SqrtThread extends Thread { private double [] table; private int index; public SqrtThread(double [] array, int ind) { table = array; index = ind; } public void run() { table[index] = Math.sqrt(table[index]); } } 吗?

$text

答案 3 :(得分:0)

试试这个让我知道:

<?php
  session_start();
  if(isset($_POST['submit'])) {
    $user = $_POST['user'];
    echo "Welcome ".$user;
    echo "<br>";
    echo "Your email address is: ".$_POST["address"];
  }else {
    // you may get rid of this block if you like
    echo 'Could not load text!';
  }

?>

    <html>
      <head>
        <title>Listing 9.1 A simple HTML form</title>
      </head>
      <body>
        <form action="" method="POST">
          <p><strong>Name:</strong><br>
          <input type="text" name="user"></p>
          <p><strong>Address:</strong><br>
          <textarea name="address" rows="5" cols="40"></textarea></p>
          <p><input type="submit" name='submit' value="send"></p>
        </form>
      </body>
    </html>