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.
cheethaz
Mitglied
Beiträge: 28 Registriert: 11.05.2004 09:16
Beitrag
von cheethaz » 18.11.2005 11:23
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
fanrpg
Mitglied
Beiträge: 2909 Registriert: 13.12.2004 22:41
Beitrag
von fanrpg » 18.11.2005 11:59
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
cheethaz
Mitglied
Beiträge: 28 Registriert: 11.05.2004 09:16
Beitrag
von cheethaz » 18.11.2005 12:34
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 » 18.11.2005 12:39
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
cheethaz
Mitglied
Beiträge: 28 Registriert: 11.05.2004 09:16
Beitrag
von cheethaz » 18.11.2005 12:48
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'
fanrpg
Mitglied
Beiträge: 2909 Registriert: 13.12.2004 22:41
Beitrag
von fanrpg » 18.11.2005 13:02
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);
?>
cheethaz
Mitglied
Beiträge: 28 Registriert: 11.05.2004 09:16
Beitrag
von cheethaz » 18.11.2005 13:12
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
fanrpg
Mitglied
Beiträge: 2909 Registriert: 13.12.2004 22:41
Beitrag
von fanrpg » 18.11.2005 13:13
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);
?>
cheethaz
Mitglied
Beiträge: 28 Registriert: 11.05.2004 09:16
Beitrag
von cheethaz » 18.11.2005 13:18
Vielen Dank für dein Mühe, jetzt geht es.