profil.php?user=test
Hallo allerseits,
ich habe eine Liste von Usern in einer MYSQL-Datenbank.
Nun möchte ich, dass man sich diese Profile möglichst einfach ansehen kann.
Wie kann ich am besten eine Art profil.php basteln, bei der man einfach http://www.meineseite.de/profil.php?user=Test oder so ähnlich. Damit man möglichst einfach darauf verlinken kann!
Wie mach ich das am besten?
Gruß,
Üsch
Antwort schreiben
Antwort 1 von Proggi vom 05.06.2019, 20:36 Options
wie du schon sagtest...
mach eine datei profil.php,
prüfe ob $_GET['user'] gesetzt ist,
mache eine SQL-Abfrage in der form
$Result = mysql_query("select * from Tabelle where user='".$_GET['user']."';")
if ($Data = mysql_fetch_array($Result)) {
?>Die ist das Profil von <?= $Data['user'] ?>.....
<?php
}
else {
?>
<b>Ein benutzer mit dem namen <?= $_GET['user'] ?> gibt es nicht.</b>
<?php
}
usw so ähnlich halt ^^
Antwort 2 von dettlef vom 05.06.2019, 20:37 Options
weisst du nicht, wie du die variable "user" im skript abfragst, oder was stellt das problem bei der sache dar?
Antwort 3 von Uesch vom 05.06.2019, 22:17 Options
Na, ich möchte halt einen ganz normalen Link haben. Also:
<a href="profil.php?user=otto">Otto</a>
Aber wie kann ich ihm sagen, dass er gerade profil.php?user=otto nimmt und nicht einen anderen User. Denn der Name Otto steht ja nicht in einem Textfeld oder so und kann als Variable gespeichert werden.
Gruß,
Üsch
Antwort 4 von rabies vom 06.06.2019, 09:18 Options
Err...
$_GET['user']
reicht doch schon. In dieser Variable steht dann der Benutzername als String.
Und danach, wie Proggi schon angedeutet hat:
$query = 'SELECT * FROM Benutzertabelle WHERE user = \''.$_GET['user'].'\'';
$result = mysql_query($query) or die('MySQL-Error: '.mysql_error());
--rabies.
Antwort 5 von Uesch vom 06.06.2019, 16:16 Options
Oke, danke!
Antwort 6 von grt vom 06.06.2019, 22:53 Options
<ironie>
Super ...
</ironie>
Das ist ein offenes Tor für SQL-Injections ...
Besser wäre:
$conn = mysql_connet( ....
$query = "SELECT * FROM Benutzertabelle WHERE user = '".mysql_real_escape_string( $_GET['user'], $conn ) ."'";
$result = mysql_query($query, $conn);
Den Teil mit dem "or die" sollte man weglassen und lieber danach $result auf Gültigkeit prüfen. Wie das geht, steht im Manual.
Danach bitte zur php-FAQ:
http://php-faq.de/q/q-sql-select.html