Meine Website eine URL (example.com/folder/index.php?id=22)
Besorgen Sie sich die langen Pfosten URL von der ID in der Datenbank-Tabelle
Die obige URL 22. die Post-ID angezeigt hat Hier ist ein weiterer wichtiger Teil:
|-------|-----------|-------------------|-------------------|
| id | user | title | url |
|-------|-----------|-------------------|-------------------|
| 22 | Admin | My Title Posts | my_title_post |
| | | | |
|-------|-----------|-------------------|-------------------|
include_once 'dbconnect.php';
$query = $con->query("SELECT * FROM posts WHERE id=".$_GET['id']);
$Row=$query->fetch_array();
echo $Row['user'];
echo $Row['title'];
echo $Row['url'];
Ergebnisse:
-Admin
-My Titel Beiträge
-my_title_post
Ich versuche, von zu verstecken $_GET['id'];
.htaccess
RewriteEngine on
RewriteRule ^newfolder/(.*) folder/index.php?id=$1
Meine neue URL hinzugefügt ist: example.com/newfolder/22
Aber dies noch nicht ganz richtig ist. Ich versuche, eine lange Post-URL im URL-Abschnitt anzuzeigen, nicht die ID. Also ich meine, wie die URL werden zu lassen:
example.com/newfolder/my_title_post
ich mich verändert habe die SQL: "SELECT * FROM posts WHERE url=".$_GET['id']
Aber der Server die Anforderung nicht verarbeiten kann.
Ich habe auch versucht, den Primärschlüssel in der Datenbank-URL-Spalte zu ändern, aber die Anfrage wird abgelehnt. Hier habe ich es auf Unique gesetzt, aber es hat immer noch nicht funktioniert.
Ist es möglich, das zu tun? Wenn jemand weiß, akzeptiere ich Vorschläge über Cpanel, htaccess, SQL oder etwas anderes. Danke ..
Wissen Sie, was passieren würde, wenn jemand zu dieser URL geht: example.com/folder/index.php?id=1%20OR%201%3D1. Lesen Sie über SQL-Injektion - https://www.w3schools.com/sql/sql_injection.asp – lloiacono
@lloiacono Ich weiß nicht, was du meinst – dBoys
_ "Ich habe die SQL geändert:" SELECT * FROM Beiträge WHERE url = ". $ _GET ['id'] Aber der Server kann die Anfrage nicht verarbeiten. "_ - das hört sich eher so an, als könnten Sie mit Datenbankfehlern noch nicht richtig umgehen - weshalb sollten Sie also zuerst nachlesen. _Ask_ die Datenbank, welches Problem es mit Ihrer Aussage hatte, so können Sie es beheben. – CBroe