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 :oops:

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 :wink:

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 :wink:

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 :wink:

Und es wird die user_id zurückgegeben :wink:

Verfasst: 18.11.2005 12:48
von cheethaz
fanrpg hat geschrieben:
Ist keine phpBB Seite? Dann muss das anders aussehen :wink:

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 :wink:

Und es wird die user_id zurückgegeben :wink:
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">&nbsp;&nbsp;<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 :oops:

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
:oops: 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">&nbsp;&nbsp;<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.

:lol: