同一个PHP页面可以同时有提交和获取数据的动作吗?
做的一个类似贴吧的效果 在主页可以显示所有的帖子 点击某个帖子跳转到这个话题帖子里面 这个话题是通过$_GET['title'];用户在主页点击哪个标题就从数据库里面查询这个帖子作者发布的内容 代码如下 html布局很乱 大家凑合看吧
问题出在最后 我弄了一个提交回复的框 通过post提交内容 但是我一写提交插入从表的代码就开始报错啊 报错的位置就是$title=$_GET['title'];这一句话 那个插入从表的代码这么写的
这个是把提交的内容插入到从表数据库的代码 不写这段代码下面那段代码正常运行 一写上这段代码就报错 报错的位置标出来了 报错内容如下 Undefined index: title in D:\wamp\www\contentpage.php on line 26
insert.php页面
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
$stnt=$pdo->prepare("insert into reply(reid,name,content)values(:reid,:name,:content)");
$stnt->execute($_POST);
header("location:http://localhost/contentpage.php");
?>
下面是某个主题页面
contentpage.php
nbsp;html>
include "cookie.php";//显示登录的用户名
?>
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");//下面开始查询这个主题的内容
$title=$_GET['title'];//接收从主页点击的链接 点击哪个标题就查询哪个帖子 。。 。。。这里报的错 。。。。。
$stmt=$pdo->prepare("select id,title,type,name,num,site,content from blog where title=?");
$stmt->execute(array($title));
$res3=$stmt->fetchall(PDO::FETCH_ASSOC);
foreach($res3 as $v){
echo ''.$v['num'].'';//简单输出内容
}
?>
$id=$v['id'];
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");//这里也是一个输出的内容 是回复的内容
$stmt=$pdo->prepare("select id,name,content from reply where reid=?");//这个回复的内容建了一个从表 从从表里面查询的回复内容
$stmt->execute(array($id));
$res1=$stmt->fetchall(PDO::FETCH_ASSOC);
foreach($res1 as $v2){
echo $v2['name']; //简单输出一下回复内容
}
?>
回复讨论(解决方案)
错误提示这个 Undefined index: title in D:\wamp\www\contentpage.php on line 26
就是$title=$_GET['title'];这句话
你可以先判断一下再做呀
你可以先判断一下再做呀
怎么判断啊
if($_POST) {
//处理表单提交
}
if(isset($_GET['title'])) {
//处理定点查询
}
可以,但不建议。一般后台处理由一个独立文件去搞更好一些。
if($_POST) {
//处理表单提交
}
if(isset($_GET['title'])) {
//处理定点查询
}
我知道我提交回复后出现的问题了 因为提交回复的动作并没有$title=$_GET['title']传过来的值;这个POST的值是点开这个页面的标题时传过来的 提交回复的动作是在这个页面里面完成的 根本没有POST过来的值 所以会报错了 但是我怎么让这个一直可以查询到结果呢?
可以的。
可以的。
怎么弄啊大哥
不知道我理解的对否,听一下。
这明显是一对多的关系,提交回复的时候
你将 当前的帖子id和回复的内容得到。存入表的时候,明显可以拿到该id贴的标题,然后…继续存就可以了。
另外还可能出现另外一个,一对多,你想想吧
为什么要用title而不是用id去查?
首先要做空数据判断,比如$_GET过来的数据,$_POST过来的数据;
if (trim($_GET['title']) == '') {
//禁止操作
}
if (intval($_POST['reid']) //禁止操作
}
另外$_POST['reid']在表单什么位置提交过来的?隐藏域吗?没有看见
最后header("location:http://localhost/contentpage.php");建议这么写@header("Location:(空格)http://localhost/contentpage.php");
不知道我理解的对否,听一下。
这明显是一对多的关系,提交回复的时候
你将 当前的帖子id和回复的内容得到。存入表的时候,明显可以拿到该id贴的标题,然后…继续存就可以了。
另外还可能出现另外一个,一对多,你想想吧
回复之前可以得到帖子的id和标题的,提交回复后得不到Id和标题了 那么怎么在提交前把id这些保存起来呢?还是用别的办法呢?
为什么要用title而不是用id去查?
首先要做空数据判断,比如$_GET过来的数据,$_POST过来的数据;
if (trim($_GET['title']) == '') {
//禁止操作
}
if (intval($_POST['reid']) //禁止操作
}
另外$_POST['reid']在表单什么位置提交过来的?隐藏域吗?没有看见
最后header("location:http://localhost/contentpage.php");建议这么写@header("Location:(空格)http://localhost/contentpage.php");
已经做了if判断了 关键是提交的动作完成后根本没有接收到post传过来的值啊 所以会报错的 如果没有接收到post的值该怎么处理呢?该怎样去查询数据呢?
没人吗????????????
你用post提交,怎么用get接收呢?改成$_POST['title']。。我也是新手,不知道说的对不,对的话就给分

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Alipay PHP...

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...
