Weiterleitung bei viewprofile zu einer anderen Seite

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
akime
Mitglied
Beiträge: 10
Registriert: 09.08.2005 03:38

Weiterleitung bei viewprofile zu einer anderen Seite

Beitrag von akime »

Hallo zusammen!
Ich habe mein phpBB zusammen mit einem Wiki laufen. Ich möchte nun, dass die Benutzer ihre Profile auf dem Wiki erstellen. Deswegen sollte, wenn man bei Benutzer auf den Namen klickt, eine Weiterleitung zum Wiki stattfinden und dann natürlich noch zu dem bestimmten Benutzer.
Hab es auch schon gefunden wo es geht, nämlich in der profile.php.

Code: Alles auswählen

 if ( $mode == 'viewprofile' )
        {
      include($phpbb_root_path . 'includes/usercp_viewprofile.'.$phpEx);
                exit;
        }
hab ich geändert zu:

Code: Alles auswählen

 if ( $mode == 'viewprofile' )
        {
      header("Location:http://wikiseite.de/index.php/Profiles/");
                exit;
Nun noch das Problem, dass hinter die Adresse http://wikiseite.de/index.php/Profile/ noch der Name muss, aber wie geht das?

Danke im Voraus!
AmShaegar
Mitglied
Beiträge: 408
Registriert: 09.07.2004 17:33

Beitrag von AmShaegar »

also ein link könnte so aussehen: http://www.terraemotus.de/phpBB2/profil ... ile&[b]u=2[/b]

ich persönlich würde einfach
if ( $mode == 'viewprofile' )
{
header("Location:http://wikiseite.de/index.php/Profiles/?".$_GET['u']);
exit;
daraus machen...

oder sprichst du die benutzer in deinem wiki nicht mit der phpbb benutzerid an? dann musst du anhand der id, die du ja aus der url also mit $_GET['u'] erhälst, noch den benutzernamen rausfinden.. wie das geht denke ich kannst du oder? einfache db abfrage der users tabelle..
akime
Mitglied
Beiträge: 10
Registriert: 09.08.2005 03:38

Beitrag von akime »

oder sprichst du die benutzer in deinem wiki nicht mit der phpbb benutzerid an? dann musst du anhand der id, die du ja aus der url also mit $_GET['u'] erhälst, noch den benutzernamen rausfinden.. wie das geht denke ich kannst du oder? einfache db abfrage der users tabelle..
nicht wirklich...
also hab jetzt folgendes probiert...

Code: Alles auswählen

$id = $_GET['u'];

$sql ="SELECT username 
       FROM USERS_TABLE 
       WHERE user_id = $id";
Wie es weitergeht weiß ich nicht, ich muss ja irgendwie zu einem Erbegnis kommen, und dass Ergebnis ist ja nicht $sql.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Code: Alles auswählen

$result = $db->sql_query($sql);
$row = $db->fetch_array($result) or die($db->sql_error());
$user = $row['username'];
Und dann in der Verlinkung:

Code: Alles auswählen

redirect(append_sid("http://wikiseite.de/index.php/Profiles/$user")); 
                exit;
akime
Mitglied
Beiträge: 10
Registriert: 09.08.2005 03:38

Beitrag von akime »

Dann kommt bei mir ein Fehler.

Fatal error: Call to undefined function: fetch_array() in


Code: Alles auswählen

$id = $_GET['u'];

$sql ="SELECT username 
       FROM USERS_TABLE 
       WHERE user_id = $id";

$result = $db->sql_query($sql);
$row = $db->fetch_array($result) or die($db->sql_error());
$user = $row['username'];

        if ( $mode == 'viewprofile' )
        {
        redirect(append_sid("http://smv.rbg-langenau.de/index.php/Profiles/$user"));
/*              include($phpbb_root_path . 'includes/usercp_viewprofile.'.$phpEx); */
                exit;
}
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Sorry so müsste das funktionieren:

Code: Alles auswählen

$result = $db->sql_query($sql); 
$row = $db->sql_fetcharray($result) or die($db->sql_error()); 
$user = $row['username'];
Wenn das nicht funktioniert sollte ich mal schlafen gehen...
akime
Mitglied
Beiträge: 10
Registriert: 09.08.2005 03:38

Beitrag von akime »

Da ist wieder eine Fehlermeldung wegen fetcharray gekommen.
Ich hab dann mal geschaut, wie es an anderen Stellen im Quellcode funktioniert und hab dann den einfach kopiert.
Also es hat dann geklappt:

Code: Alles auswählen

 $id = $_GET['u'];  

 $sql = "SELECT username
         FROM " . USERS_TABLE . "
         WHERE user_id = $id";
                                                 
$result = $db->sql_query($sql);
  

          $row = $db->sql_fetchrow($result);
         $user = $row['username'];

        if ( $mode == 'viewprofile' )
 { /* include($phpbb_root_path . 'includes/usercp_viewprofile.'.$phpEx);
                exit;*/

header("Location:http://smv.rbg-langenau/index.php/Profiles/$user");
exit;
        }
Danke fürs Helfen!!
mristau2k5
Mitglied
Beiträge: 140
Registriert: 10.05.2005 02:35
Wohnort: Filderstadt

Beitrag von mristau2k5 »

du könntest beim Nick auch mal versuchen einfach folgende Variable zu verwenden, da der im Header in den Links ja verwendet wird, ist er schon aus der DB geladen

Code: Alles auswählen

$userdata['username']
Ich kann nicht 100%ig sagen, ob die Variable da auch noch verfügbar ist.
Antworten

Zurück zu „Coding & Technik“