做的一个类似贴吧的效果 在主页可以显示所有的帖子 点击某个帖子跳转到这个话题帖子里面 这个话题是通过$_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']。。我也是新手,不知道说的对不,对的话就给分

Gründe für einen Phpessionsfehler sind Konfigurationsfehler, Cookie -Probleme und Sitzungsablauf. 1. Konfigurationsfehler: Überprüfen Sie die richtige Sitzung und setzen Sie die korrekte Sitzung. 2. Kookie -Problem: Stellen Sie sicher, dass der Cookie korrekt eingestellt ist. 3.Sesion läuft ab: Passen Sie die Sitzung an.

Zu den Methoden zur Debugg -Sitzungsprobleme in PHP gehören: 1. Überprüfen Sie, ob die Sitzung korrekt gestartet wird. 2. Überprüfen Sie die Lieferung der Sitzungs -ID; 3. Überprüfen Sie den Speicher und das Lesen von Sitzungsdaten. 4. Überprüfen Sie die Serverkonfiguration. Durch Ausgabe von Sitzungs-ID und Daten, Anzeigen von Sitzungsdateiinhalten usw. können Sie effektiv Diagnose und Lösen von Sitzungen im Zusammenhang mit Sitzungen diagnostizieren und lösen.

Mehrere Anrufe bei Session_Start () führen zu Warnmeldungen und möglichen Datenüberschreibungen. 1) PHP wird eine Warnung ausstellen und veranlassen, dass die Sitzung gestartet wurde. 2) Dies kann zu unerwarteten Überschreibungen von Sitzungsdaten führen. 3) Verwenden Sie Session_Status (), um den Sitzungsstatus zu überprüfen, um wiederholte Anrufe zu vermeiden.

Das Konfigurieren des Sitzungslebenszyklus in PHP kann durch Einstellen von Sitzungen erreicht werden. 1) Session.gc_maxLifetime steuert die Überlebenszeit der serverseitigen Sitzungsdaten, 2) Sitzung.cookie_Lifetime steuert den Lebenszyklus von Client-Cookies. Wenn der Keks auf 0 eingestellt ist, läuft es, wenn der Browser geschlossen ist.

Die Hauptvorteile der Verwendung von Datenbankspeichersitzungen sind Persistenz, Skalierbarkeit und Sicherheit. 1. Persistenz: Auch wenn der Server neu gestartet wird, können die Sitzungsdaten unverändert bleiben. 2. Skalierbarkeit: Anwendbar für verteilte Systeme, um sicherzustellen, dass Sitzungsdaten zwischen mehreren Servern synchronisiert werden. 3. Sicherheit: Die Datenbank bietet verschlüsselten Speicher zum Schutz vertraulicher Informationen.

Das Implementieren der benutzerdefinierten Sitzung in PHP kann durch die Implementierung der SessionHandlerInterface -Schnittstelle durchgeführt werden. Die spezifischen Schritte umfassen: 1) Erstellen einer Klasse, die SessionHandlerInterface wie CustomSessionHandler implementiert; 2) Umschreiben von Methoden in der Schnittstelle (z. B. offen, schließen, lesen, schreiben, zerstören, GC), um die Lebenszyklus- und Speichermethode von Sitzungsdaten zu definieren; 3) Registrieren Sie einen benutzerdefinierten Sitzungsprozessor in einem PHP -Skript und starten Sie die Sitzung. Auf diese Weise können Daten in Medien wie MySQL und Redis gespeichert werden, um Leistung, Sicherheit und Skalierbarkeit zu verbessern.

SessionID ist ein Mechanismus, der in Webanwendungen verwendet wird, um den Benutzersitzstatus zu verfolgen. 1. Es handelt sich um eine zufällig generierte Zeichenfolge, mit der die Identitätsinformationen des Benutzers während mehrerer Interaktionen zwischen dem Benutzer und dem Server aufrechterhalten werden. 2. Der Server generiert und sendet ihn über Cookies- oder URL -Parameter an den Client, um diese Anforderungen in mehreren Anforderungen des Benutzers zu identifizieren und zu verknüpfen. 3. Die Erzeugung verwendet normalerweise zufällige Algorithmen, um Einzigartigkeit und Unvorhersehbarkeit zu gewährleisten. 4. In der tatsächlichen Entwicklung können In-Memory-Datenbanken wie Redis verwendet werden, um Sitzungsdaten zu speichern, um die Leistung und Sicherheit zu verbessern.

Das Verwalten von Sitzungen in staatenlosen Umgebungen wie APIs kann durch Verwendung von JWT oder Cookies erreicht werden. 1. JWT ist für Staatenlosigkeit und Skalierbarkeit geeignet, aber es ist groß, wenn es um Big Data geht. 2. Kookies sind traditioneller und einfacher zu implementieren, müssen jedoch mit Vorsicht konfiguriert werden, um die Sicherheit zu gewährleisten.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion
