关于表单提交 用PHP后台接收值时报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于表单提交 用PHP后台接收值时报错相关的知识,希望对你有一定的参考价值。

就是接收$_POST["styleid"] 这个 报错。 其他的表单变量都能正常接受!
报错图如下

请问各位大侠问什么呢?

测试代码

<?php
echo $_POST['styleid'];
?>

<form method="post">
<input type="radio" name="styleid" value="1" checked="checked" /> 测试
<br>
<button type="submit">提交</button>
</form>

页面显示如下:

提交后


完全正常,请参照上面代码检查你的代码。


提交前的页面如果不希望出现错误提示,赋值前可加上判断

$t = isset($_POST['styleid']) ? $_POST['styleid'] : NULL;

参考技术A

你获取表单数据之前要判断下有没有数据提交上来了。

这样的代码:

echo $_POST['styleid'];

当然是要出错的啊。

//接收表单是一定要判断下的
if(isset($_POST['styleid']))
   echo $_POST['styleid'];

你这个问题就是$_POST没有数据可是你却使用了$_POST

参考技术B 在php文件的最顶部加上
<?php
error_reporting(E_ALL ^ E_NOTICE);
?>追问

$styleid=$_POST["styleid"];
echo $styleid;

我后台是这样获取值的 但就是报那个错误 您提供给我的那个方法是可以屏蔽错误 但没有获取值呢!

参考技术C 这不是一个错误,只是个提醒,因为你服务器设置问题,变量使用前要先定义,不定义的话就会出现这个提醒追问

$styleid=$_POST["styleid"];
echo $styleid;

我在后台已经这样子定义了?还是会出这样的警告为啥呢? 我表单那也是用post方式提交过来的!

追答

那是赋值,不是定义
你最好是到配置文件中把设置改掉,这样会很麻烦

追问

但取消掉这个错误也没办法获取到$styleid=$_POST["styleid"];这个值 ,请问为啥?

追答

你用var_dump($_POST);看一下接受到的所有数据

form表单提交后,后台怎么处理数据

1、首先创建一个名称为 formphp的html文件 。

2、然后创建一form表单设置表单的name和action地址。

3、接着添加两个输入框分别设置name,一个数用户名,一个是性别输入框。

4、然后加入一个submit类型的输入框,再新建一个接受form表单数据的php文件act。

5、在act文件中加入接收提交数据的代码,并分别打印出代码。

6、最后在浏览器中打开文件,点击button查看效果,就完成了。

参考技术A java中使用request.getParameter("参数名")方法来获取form表单传过来的数据。
具体代码如下:
jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Demo</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<form action="demoServlet" method="post">
<table>
<tr>
<td>
<input type="text" name="name" id="name"/>
</td>
</tr>
<tr>
<td>
<input type="submit" value="提交"/>
</td>
</tr>
</table>
</form>
</body>
</html>

Servlet代码:
public class DemoServlet extends HttpServlet
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
String name = request.getParameter("name");
System.out.println(name);

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
doGet(request, response);


其中DemoServlet是一个继承了HttpServlet类的Servlet类,当表单提交(点击提交按钮)时,回去调用这个类的doPost()方法,执行对应的代码,通过request.getParameter("name")来获取表单的值。

以上是关于关于表单提交 用PHP后台接收值时报错的主要内容,如果未能解决你的问题,请参考以下文章

PHP 使用表单提交到本页,POST接收不到数据值

跪求!!!用jsoup提交表单时报错 HTTP error fetching URL,Status=405

关于form表单提交数据后不跳转页面+ajax接收返回值的处理

form表单提交后,后台怎么处理数据

php 后台接受POST值

Spring mvc 表单提交问题!!关于date类型!!