Nach Benutzer suchen + Rückgabe

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
cheethaz
Mitglied
Beiträge: 28
Registriert: 11.05.2004 09:16

Nach Benutzer suchen + Rückgabe

Beitrag 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:
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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:
cheethaz
Mitglied
Beiträge: 28
Registriert: 11.05.2004 09:16

Beitrag 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?
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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:
cheethaz
Mitglied
Beiträge: 28
Registriert: 11.05.2004 09:16

Beitrag 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'
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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); 
?>
cheethaz
Mitglied
Beiträge: 28
Registriert: 11.05.2004 09:16

Beitrag 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
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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); 
?>
cheethaz
Mitglied
Beiträge: 28
Registriert: 11.05.2004 09:16

Beitrag von cheethaz »

Vielen Dank für dein Mühe, jetzt geht es.

:lol:
Antworten

Zurück zu „Coding & Technik“