[PHP/MySQL] Profile für per GET aufrufen******

thehacker

Anhänger der Apachen
Hallo,
es ist mal wieder so weit, ich melde mich wieder :D .
Also heute:
ich habe eine profil.php bei dieser soll per get die user id (also profil.php?=271).
Meine Frage ich weiß wie ich die Daten aus der GET raus hohllen, aber nicht wie ich dann die Daten von der Datenbank aus vergleiche.

Es sollen die id's vergleicht werden und wenn die id stimmt sollen die Daten des Users ausgegeben werden.

Aber wenn man die profil.php so aufruft, soll es die eigenen Daten anzeigen. Also alles nicht nur die Daten aus der Login session oder sind die dabei?


Mfg TheHecker
 
Wenn du den Besucher zur seite profil.php?id=12 schickst dann, muss deine profilseite ungefähr so aussehen:
PHP:
<?php
// die get variabel
$id = $_GET["id"];

// mysql verbindung, ich mache es immer mit include, du kanns es machen wie du willst
@include("config/config.php");

//abfrage ob id vorhanden ist:
if(!isset($id)) {
echo 'Bitte eine ID auswählen'; } else {

// jetzt kommt die Mysql Abfrage mit nachfrage ob id die selbe ist
$show_profile = "SELECT * FROM user WHERE id = '$id'";
$show_profile_ergebnis = mysql_query($show_profile);

// Ausgabe des Users
while($rowuser = mysql_fetch_object($show_profil_ergebnis))
   {
   echo 'Name: '.$rowuser->name.'</br>
            Geburtsdatum: '.$rowuser->bday.'</br>';
// usw.
   }
}

?>
 
Wenn du den Besucher zur seite profil.php?id=12 schickst dann, muss deine profilseite ungefähr so aussehen:
PHP:
<?php
// die get variabel
$id = $_GET["id"];

// mysql verbindung, ich mache es immer mit include, du kanns es machen wie du willst
@include("config/config.php");

//abfrage ob id vorhanden ist:
if(!isset($id)) {
echo 'Bitte eine ID auswählen'; } else {

// jetzt kommt die Mysql Abfrage mit nachfrage ob id die selbe ist
$show_profile = "SELECT * FROM user WHERE id = '$id'";
$show_profile_ergebnis = mysql_query($show_profile);

// Ausgabe des Users
while($rowuser = mysql_fetch_object($show_profil_ergebnis))
   {
   echo 'Name: '.$rowuser->name.'</br>
            Geburtsdatum: '.$rowuser->bday.'</br>';
// usw.
   }
}

?>

Man sollte aber http://php.net/manual/en/function.mysql-real-escape-string.php nicht vergessen!
Vor der Abfrage

PHP:
$id = mysql_real_escape_string($id);

Oder in dem Fall tut es auch folgendes

PHP:
if(!isset($id) || !is_numeric($id)) {
 
Jetzt habe ich nach dem ich die id angegeben habe folgenden Fehler:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /data/multiserv/users/551748/projects/1356138/www/profile2.php on line 18
 
Da die diese Art von Fragen (mit dieser Fehlermeldung) sehr oft kommt, habe ich mal ein Tutorial geschrieben wie man am besten auf Fehlersuche geht.
PHP/MySQL Debug Queries
Geh es doch mal durch und falls du die Lösung nicht findest, poste mal das ausgegebe SQL-Statement ins Forum.
 
Danke habe ich aber schon und das war der einzigste fehler

Und soweit wie ich verstehe das:
PHP:
while($rowuser = mysql_fetch_object($show_profil_ergebnis)) 
   { 
   echo 'Name: '.$rowuser->name.'</br> 
            Geburtsdatum: '.$rowuser->bday.'</br>'; 
// usw. 
   }
Kein richtiges MySQL wäre oder?
 
Zuletzt bearbeitet:
Das ist PHP und kein MySQL. Ergo auch 'kein richtiges MySQL'

Das MySQL ist dein SELECT-String den du an die DB schickst.

In Meinem weiter oben geposteten Tutorial siehst du wie du den Fehler finden kannst.
Trau dich, es ist ganz einfach
 

Neue Beiträge

Zurück