Seite 1 von 1
Nach Benutzer suchen + Rückgabe
Verfasst: 18.11.2005 11:23
von cheethaz
Hallo muss nochmal stören
Ich will mir auf einer externen Seite ein Formular bauen, welches nach einem Benutzer sucht und zurück gibt, ob er vorhanden ist oder nicht.
Am besten wäre es noch den gesuchten Benutzernamen nochmals auszugeben.
Geht das irgendwie mit der serach.php? Habs mal mit search.php?mode=searchuser probiert, ging aber nicht
Danke schön

Verfasst: 18.11.2005 11:59
von fanrpg
Code: Alles auswählen
$sql = "SELECT * FROM `".USERS_TABLE."` WHERE `username`= '".$_GET['username']."' LIMIT 1";
if(!($result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
if($row['username'] == $_GET['username'])
{
echo $row['username'];
}
Das fügst du in einer beliebigen php Datei ein, und suchen kannst du dann per diedatei.php?username=Hier_muss_der_Username_stehen
Und das wars dann auch schon

Verfasst: 18.11.2005 12:34
von cheethaz
Danke dir schonmal, aber es erscheint jetzt die Fehlermeldung:
Fatal error: Call to a member function sql_query() on a non-object in
Gibt es vielleicht noch eine Möglichkeit die UserID zurück zu geben?
Verfasst: 18.11.2005 12:39
von fanrpg
cheethaz hat geschrieben:Danke dir schonmal, aber es erscheint jetzt die Fehlermeldung:
Fatal error: Call to a member function sql_query() on a non-object in
Gibt es vielleicht noch eine Möglichkeit die UserID zurück zu geben?
Ist keine phpBB Seite? Dann muss das anders aussehen
So ungefähr:
Code: Alles auswählen
$sql = "SELECT * FROM `deinprefix_users` WHERE `username`= '".$_GET['username']."' LIMIT 1";
if(!($result = mysql_query($sql))
{
die('Could not query users<br /><br />SQL: '.$sql.'<br />MySQL-Error: '.mysql_error());
}
$row = mysql_fetch_array($result);
if($row['username'] == $_GET['username'])
{
echo $row['user_id'];
}
deinprefix durch den Tabellenprefix von phpBB ersetzen
Und es wird die user_id zurückgegeben

Verfasst: 18.11.2005 12:48
von cheethaz
fanrpg hat geschrieben:
Ist keine phpBB Seite? Dann muss das anders aussehen
So ungefähr:
Code: Alles auswählen
$sql = "SELECT * FROM `deinprefix_users` WHERE `username`= '".$_GET['username']."' LIMIT 1";
if(!($result = mysql_query($sql))
{
die('Could not query users<br /><br />SQL: '.$sql.'<br />MySQL-Error: '.mysql_error());
}
$row = mysql_fetch_array($result);
if($row['username'] == $_GET['username'])
{
echo $row['user_id'];
}
deinprefix durch den Tabellenprefix von phpBB ersetzen
Und es wird die user_id zurückgegeben

Also ich habe jetzt eine Datei suche.php angelegt mit folgendem Inhalt (die Datei liegt im Hauptverzeichnis von phpbb2):
Code: Alles auswählen
<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
$sql = "SELECT * FROM `forum_users` WHERE `username`= '".$_GET['username']."' LIMIT 1";
if(!($result = mysql_query($sql)))
{
die('Could not query users');
}
$row = mysql_fetch_array($result);
if($row['username'] == $_GET['username'])
{
echo $row['user_id'];
}
?>
Forumprefix ist forum_
Welche Datei muss ich nun einbinden, weil jetzt das hier kommt: Access denied for user 'ODBC'@'localhost'
Verfasst: 18.11.2005 13:02
von fanrpg
Da fehlt ja die Hälfte erstell mal eine suche.php mit folgendem Inhalt:
Code: Alles auswählen
<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//Dieser Block kann weggelassen werden, wenn du nur den die Userdaten brauchst und auf den phpBB-Header verzichen möchtest
$page_title = 'User Suche';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
// Benötige Variabeln
$username = $_POST['username'];
$username = stripslashes($username);
$username = str_replace("'", "\'", $username);
if(isset($_POST['submit']))
{
$sql = "SELECT * FROM `".USERS_TABLE."` WEHRE `username` = $username";
if(!($result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query user', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
echo 'User-ID: '.$row['user_id'];
}
?>
<form method="post">
Nach Usernamen suchen: <input type="text" name="username"> <input type="submit" name="submit" value="Suchen">
</form>
<?
//Footer - nur dann weglassen, wenn du auch den Header weglässt
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Verfasst: 18.11.2005 13:12
von cheethaz
Hmm leider kommt wieder ein Fehler
Code: Alles auswählen
Could not query user
DEBUG MODE
SQL Error : 1054 Unknown column 'Test' in 'where clause'
SELECT * FROM `forum_users` WHERE `username` = Test
Line : 24
File : suche.php
Verfasst: 18.11.2005 13:13
von fanrpg

Was vergessen:
Code: Alles auswählen
<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//Dieser Block kann weggelassen werden, wenn du nur den die Userdaten brauchst und auf den phpBB-Header verzichen möchtest
$page_title = 'User Suche';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
// Benötige Variabeln
$username = $_POST['username'];
$username = stripslashes($username);
$username = str_replace("'", "\'", $username);
if(isset($_POST['submit']))
{
$sql = "SELECT * FROM `".USERS_TABLE."` WEHRE `username` = '$username'";
if(!($result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query user', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
echo 'User-ID: '.$row['user_id'];
}
?>
<form method="post">
Nach Usernamen suchen: <input type="text" name="username"> <input type="submit" name="submit" value="Suchen">
</form>
<?
//Footer - nur dann weglassen, wenn du auch den Header weglässt
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Verfasst: 18.11.2005 13:18
von cheethaz
Vielen Dank für dein Mühe, jetzt geht es.
