wbb 2.15 profil nach username

grey
wie lasse ich das profil nach usernamen beim 2.15 erscheinen ? exampel: profile.php?username=meinusername ????

ich finde dazu nichts

danke im voraus !!!!!!!!!!!!!!!!!!
grey
problem gelöst - dank euch dennoch !!!!
daHooligan
kannst du bitte die lösung posten??
grey
Zitat:
Original von daHooligan
kannst du bitte die lösung posten??


Na klar - gern:
Gefunden bei Woltlab

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
<?php
require("global.php");

if(isset($_REQUEST['username'])) $username=$_REQUEST['username'];
else access_error();

if($username) {

$result=$db->query("SELECT userid FROM bb".$n."_users WHERE username='$username' ");
$userid=mysql_result($result,$userid);

header("Location: profile.php?userid=$userid");
exit();
}

?>


Ein problem habe ich aber noch: sucht man nach einem usernamen, der nicht existent ist, sollte eigentlich eine fehlermeldung vom board kommen. stattdessen kommt nur:

Warning: Unable to jump to row 0 on MySQL result index 5 in
Warning: Cannot add header information - headers already sent by (output started at

Evtl habt ihr ne idee ?

gruß grey
chrigu99
die funktion mit @ ausführen lassen und dann prüfen ob die request-variable true oder false ist...

schöne grüsse
grey
klappt leider nicht

gruß grey
chrigu99
andere idee: überprüf mit den mysql-funktionen erst ob der datensatz besteht und gib ihn erst danach aus... gibt sicher irgend nen sql-query daszu musst selber kucken, kenne mich mit sql (noch) nicht besonders gut aus...

so long

[edit]
eventuelle quellen:
http://www.php3.de
http://tut.php-q.net
http://www.g00gl3.de
[/edit]
grey
sicher gibt es einen query: $result=$db->query("SELECT userid FROM bb".$n."_users WHERE username='$username' ");

ich bekomm e es einfach nicht hin verwirrt
chrigu99
jo das ist das query zum abfragen des datensatzes, ich meinte aber ein query zum überprüfen ob der datensatz besteht...
p-Logic
Wie wärs mit:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?php
require("global.php");

if(isset($_REQUEST['username'])) $username=$_REQUEST['username'];
else access_error();

if($username) {

  $result=$db->query("SELECT userid FROM bb".$n."_users WHERE  username='$username' ");
  if ($result) {
    $userid=mysql_result($result,$userid);

    header("Location: profile.php?userid=$userid");
  } else {
     // Hier kannst du dann Fehler ausgeben  
  }
exit();
}

?>


Wenn ich mich nicht irre wird von query false zurückgegeben, wenn er nichts findet, ansonsten der Pointer...
ThiefMaster
Wie wärs damit?
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
<?php
require("global.php");

if(isset($_REQUEST['username'])) $username=$_REQUEST['username'];
else access_error();

if($username) {

  list($userid) = $db->query_first("SELECT userid FROM bb".$n."_users WHERE username='".addslashes($username)."'");

  if ($userid) {
    header("Location: profile.php?userid=$userid&sid=".$session['hash']);
  } else {
     // Hier kannst du dann Fehler ausgeben
  }
  exit;
}
?>


gerade wenn man kein addslashes verwendet ist sehr schöne SQL injection möglich...
grey
dank euch - jetzt klappts !!!