php$_post[]方法使用问题

2024-12-01 01:38:00
推荐回答(4个)
回答1:

直接打开页面 b,对于 b 来说,$_POST 是一个空的数组,里面没有元素,所以你获取 里面的元素,比如 $_POST['name'] 时会报错。解决办法就是判断下是否有这个值,如:

$name = isset( $_POST['name'] ) ? $_POST_['name'] : '';


a 页面提交数据到 b,对于 b 来说,$_POST 是有元素,表单项的值如果是空(没有写)的话,那么元素存在,且它的值是空值。如:

// 假设提交时,name 没有写
$name = $_POST['name']; // $name = ''


你要区别,空值只是这个元素的值是空,但是元素是存在的。而直接进入 b 页面,那么元素是不存在的。


这里有一个常见的方式:

a 页面 - 提交按钮设置一个 name,比如 $name=”submited"

b 页面 - 判断这个 $_POST['submited'] 即可,如果有这个值(isset($_POST['submited'])),说明有数据通过 post 方式提交过来。那么你可以直接(当然,不建议怎么做) $name = $_POST['name'];


参考:

// a.php

    
    


// b.php
if( isset( $_POST['submited'] ) )
{
    // codes
    $name = $_POST['name'];
}
// other codes

回答2:

$_POST 变量用于收集来自 method=”post” 的表单中的值。

$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。
$_POST 变量用于收集来自 method=”post” 的表单中的值,带有 POST 方法的表单发送的信息,任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

例如:


Enter your name: 
Enter your age: 

当点击提交按钮,URL 不会含有任何表单数据,看上去类似这样:

http://www.testpost.com.cn/hello.php

“hello.php” 现在可以通过 $_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的 ID 键):

Welcome .
You are  years old!

回答3:

它报的错误只是notice而已·····或者你改改··
$name_my = isset($_POST['name']) ? $_POST['name'] : '';
这样就不会报错了··

回答4:

要是跳转到b.php,那a.php种的form表单中应该是action=“b.php”吧