kleine phpbb-Datenbank
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
dogsandfun
- Mitglied
- Beiträge: 248
- Registriert: 03.09.2004 15:47
- Wohnort: Bonn
- Dominik Müller
- Mitglied
- Beiträge: 494
- Registriert: 08.08.2004 19:04
- Wohnort: Siegbach
- Kontaktdaten:
Wo kann ich mir denn die Datenbank ohne Fehler downloaden?
Grafiken, Banner, etc. sind in Signaturen nicht erlaubt...and now I make me - me nothing, you nothing - out of the dust...
http://www.schildkroeten-farm.de , http://www.schildkroetenforum.net
http://www.schildkroeten-farm.de , http://www.schildkroetenforum.net
-
dogsandfun
- Mitglied
- Beiträge: 248
- Registriert: 03.09.2004 15:47
- Wohnort: Bonn
Hallo,
habe auch die DB eingebaut und die hier vorgestellten Veränderungen vorgenommen.
Allerdings kann ich noch nicht auf weitere Seiten vorblättern. Mehr als 15 Einträge werden nicht angezeigt.
Wo wird dies eingestellt/abgefragt?
Die Sortierung über die Tabellenüberschrift (Titel, Genre, ...) funzt auch nicht.
Das ist allerdings das kleine Problem.
Irgendwie scheint er die Gesamtzahl nicht richtig zu haben oder so.
Damit mir meine Einträge alle aufgelistet werden hatte ich erstmal
$max_results = ( !$max_results ) ? '15' : $max_results;
in
$max_results = ( !$max_results ) ? '100' : $max_results;
geändert.
Aber die Gesamtseitenzahl erscheint ja auch nicht.
Danke schon mal
Dirk F.
habe auch die DB eingebaut und die hier vorgestellten Veränderungen vorgenommen.
Allerdings kann ich noch nicht auf weitere Seiten vorblättern. Mehr als 15 Einträge werden nicht angezeigt.
Wo wird dies eingestellt/abgefragt?
Die Sortierung über die Tabellenüberschrift (Titel, Genre, ...) funzt auch nicht.
Das ist allerdings das kleine Problem.
Irgendwie scheint er die Gesamtzahl nicht richtig zu haben oder so.
Damit mir meine Einträge alle aufgelistet werden hatte ich erstmal
$max_results = ( !$max_results ) ? '15' : $max_results;
in
$max_results = ( !$max_results ) ? '100' : $max_results;
geändert.
Aber die Gesamtseitenzahl erscheint ja auch nicht.
Danke schon mal
Dirk F.
Hallo,
einfach die Abfrage nach dem Zustand der Übergabevariable:
Füge das mal gleich im Anfangsbereich ein.
Wenn es dann immer noch nicht geht, sg Bescheid.
Bei mir läuft es alles, ich kann dann weiter nachschauen, was noch fehlen könnte.
Viele Grüße
Klaus
Ich habe mittlerweile diverse Änderungen gemacht, bin daher nicht sicher, ob es nur daran lag, aber wahrscheinlich fehlt Dir obenDirk F. hat geschrieben:Hallo,
habe auch die DB eingebaut und die hier vorgestellten Veränderungen vorgenommen.
Allerdings kann ich noch nicht auf weitere Seiten vorblättern. Mehr als 15 Einträge werden nicht angezeigt.
Wo wird dies eingestellt/abgefragt?
einfach die Abfrage nach dem Zustand der Übergabevariable:
Code: Alles auswählen
$max_results = ( isset($HTTP_POST_VARS['max_results']) ) ? $HTTP_POST_VARS['max_results'] : $HTTP_GET_VARS['max_results'];
Füge das mal gleich im Anfangsbereich ein.
Auch hier, wird vielleicht nur die Angabe über die angezeigte Seite fehlen:Dirk F. hat geschrieben:Hallo,
Die Sortierung über die Tabellenüberschrift (Titel, Genre, ...) funzt auch nicht.
Das ist allerdings das kleine Problem.
Irgendwie scheint er die Gesamtzahl nicht richtig zu haben oder so.
Damit mir meine Einträge alle aufgelistet werden hatte ich erstmal
$max_results = ( !$max_results ) ? '15' : $max_results;
in
$max_results = ( !$max_results ) ? '100' : $max_results;
geändert.
Aber die Gesamtseitenzahl erscheint ja auch nicht.
Danke schon mal
Dirk F.
Code: Alles auswählen
$page = ( isset($HTTP_POST_VARS['page']) ) ? $HTTP_POST_VARS['page'] : $HTTP_GET_VARS['page'];
Bei mir läuft es alles, ich kann dann weiter nachschauen, was noch fehlen könnte.
Viele Grüße
Klaus
Hallo Klaus,
danke erst einmal für deine Mühe.
Leider läuft es auch mit den Änderungen nicht.
Habe meine database.php mal hochgeladen.
hier
Deine Änderungen habe ich gleich zum Anfang eingefügt (Zeile 18/19 oder so)
Bin dir schon mal jetzt dankbar
Gruß
Dirk F.
danke erst einmal für deine Mühe.
Leider läuft es auch mit den Änderungen nicht.
Habe meine database.php mal hochgeladen.
hier
Deine Änderungen habe ich gleich zum Anfang eingefügt (Zeile 18/19 oder so)
Bin dir schon mal jetzt dankbar
Gruß
Dirk F.
Hi, here we goDirk F. hat geschrieben:Hallo Klaus,
danke erst einmal für deine Mühe.
Leider läuft es auch mit den Änderungen nicht.
Habe meine database.php mal hochgeladen.
hier
Deine Änderungen habe ich gleich zum Anfang eingefügt (Zeile 18/19 oder so)
Bin dir schon mal jetzt dankbar
Gruß
Dirk F.
Du hast zwar meine Zeile eingefügt, weiter unten wird es aber wieder überschrieben:
Code: Alles auswählen
Zeile 41: $page = isset($HTTP_POST_VARS['page']); Für das Blättern, vor zurück, habe ich noch folgendes geändert, damit es funktioniert:
Finde:
Code: Alles auswählen
if ($search_results > 0)
{
$previous_page_results = $search_results - $search_maximum;
$previous_page = '<a href="'. $title_sort .'&sort='. $sort .'&search_results='. $previous_page_results . '">'. $lang['Previous'] .'</a>';
}
else
{
$previous_page = $lang['Previous'];
}
if ($search_results + $search_maximum < $total[0])
{
$next_page_results = $search_results + $search_maximum;
$next_page = '<a href="'. $title_sort .'&sort='. $sort .'&search_results='. $next_page_results . '">'. $lang['Next'] .'</a>';
}
else
{
$next_page = $lang['Next'];
}
Code: Alles auswählen
if ($search_results > 0)
{
$previous_page_results = $search_results - $search_maximum;
$_page = $page - 1;
$previous_page = '<a href="'. $title_sort .'&sort='. $sort .'&search_results='. $previous_page_results . '&page='.$_page.'">'. $lang['Previous'] .'</a>';
}
else
{
$previous_page = $lang['Previous'];
}
if ($search_results + $search_maximum < $total[0])
{
$next_page_results = $search_results + $search_maximum;
$_page = $page + 1;
$next_page = '<a href="'. $title_sort .'&sort='. $sort .'&search_results='. $next_page_results . '&page='.$_page. '">'. $lang['Next'] .'</a>';
}
else
{
$next_page = $lang['Next'];
}
Zum Sortieren:
Die Sortierfunktion braucht den Sort String, dazu
musst Du die Variable $sort irgendwo am Anfang setzen per:
Code: Alles auswählen
$sort = ( isset($HTTP_POST_VARS['post']) ) ? $HTTP_POST_VARS['post'] : $HTTP_GET_VARS['sort'];
Klaus
Hallo Klaus,
juhu - na ja fast juhu
Sortieren klappt wunderbar, vorblättern allerdings erst, wenn ich das Button 2x anklicke. Erst dann wird die Seite 2 übergeben. Ganz unten erscheint Seite 1 von - und da fehlt die Gesamtseitenangabe.
Und weil unsere Beziehung so prima klappt (ja ja, den kleinen Finger gereicht
) - kann man die Datenbankzugriffe noch so einstellen, dass der User seinen Einträge selbst nacheditieren kann? Im Adminbereich auf USER gestellt, erlaubt es ja jedem User Änderungen vorzunehmen.
Aber wäre nicht so problematisch für mich, nur eben schön
Danke
die geänderte Datei liegt wieder wie oben
juhu - na ja fast juhu
Sortieren klappt wunderbar, vorblättern allerdings erst, wenn ich das Button 2x anklicke. Erst dann wird die Seite 2 übergeben. Ganz unten erscheint Seite 1 von - und da fehlt die Gesamtseitenangabe.
Und weil unsere Beziehung so prima klappt (ja ja, den kleinen Finger gereicht
Aber wäre nicht so problematisch für mich, nur eben schön
Danke
die geänderte Datei liegt wieder wie oben
das editieren nur für den User müsste doch eigentlich so gehen, oder
$auth_edit = $userdata['user_level'] == $database_config['allow_edit'] || $userdata['user_level'] == ADMIN || ($database_config['allow_edit'] == all && $userdata['user_id'] != ANONYMOUS) || $database_entries['user_id']==$userdata['user_id'];
tut es aber nicht *grübel*
$auth_edit = $userdata['user_level'] == $database_config['allow_edit'] || $userdata['user_level'] == ADMIN || ($database_config['allow_edit'] == all && $userdata['user_id'] != ANONYMOUS) || $database_entries['user_id']==$userdata['user_id'];
tut es aber nicht *grübel*
Hi Dirk,Dirk F. hat geschrieben:das editieren nur für den User müsste doch eigentlich so gehen, oder
$auth_edit = $userdata['user_level'] == $database_config['allow_edit'] || $userdata['user_level'] == ADMIN || ($database_config['allow_edit'] == all && $userdata['user_id'] != ANONYMOUS) || $database_entries['user_id']==$userdata['user_id'];
tut es aber nicht *grübel*
Die Variable $database_entries ist nicht definiert. $database_config wird durch die Einbindung der Datei "functions_database.php" gesetzt (sieh Dir die ersten 19 Zeilen des Codes dort an) und somit kannst Du auf die Eintträge zurückgreifen.
Die einzelnen Einträge in der Datenbank haben aber verschiedene
user_id's , je nachdem, wer den Eintrag gemacht hatte. Falls Du als Admin Änderungen vorgenommen hast, steht dann Deine User ID in dem Eintrag.
Ich habe es für meinen Anwendungsfall so verändert:
Jeder User darf neue Einträge machen. Wenn er einen neuen Eintrag macht, wird seine User id in einem extra Feld des Datenbank Eintrags mit gespeichert. Wie gesagt, die Datenbank macht das zwar im Prinzip schon mit dem user_id Feld, wenn man dann aber als Administrator einen Eintrag macht, ändert sich damit auch die User ID.
Bei mir existiert also ein User, dem der Datenbankeintrag sozusagen gehört und trotzdem kann der Admin Änderungen vornehmen, die dann auch unter seiner ID verzeichnet werden.
Als Administrator kann er auch den entsprechenden verantwortlichen User
des Eintrags ändern.
Wenn dann sich dann ein User die Datenbank ansieht, bekommt er bei seinen eigenen Einträgen auch die Möglichkeit, diese zu modifizieren.
Ich habe dazu folgendes hinter die ganzen "$auth_" variablen gesetzt:
Code: Alles auswählen
// START Erlauben von Editierung User ID die gleiche wie im Feld 16a eingetragen ist
$sql = "SELECT field16a FROM ". DATABASE_TABLE . " WHERE id = ". intval($HTTP_GET_VARS[id]);
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not retrieve value of field16a', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$field16a = $row['field16a'];
$band_admin = ($field16a == $userdata['user_id']) ? 1 :0;
$auth_edit = $auth_edit || $band_admin;
// END Erlauben von Editierung wenn User ID die gleiche wie im Feld 16a eingetragen ist
Bei der Anzeige der Datenbankeinträge habe ich dann noch eingefügt/verändert:
Code: Alles auswählen
$field16a = $row['field16a']; // enthält Band_Admin_ID
/// START Anzeigen von Ändern / Löschoption wenn User ID die gleiche wie im Feld 16a eingetragen ist
$band_admin = ($field16a == $userdata['user_id']) ? 1 :0;
/// END Anzeigen von Ändern / Löschoption wenn User ID die gleiche wie im Feld 16a eingetragen ist
$template->assign_block_vars('entries', array(
'ROW_CLASS' => $row_class,
'L_EDIT' => ( $auth_edit || $band_admin ) ? $lang['Edit'] : '',
Ich hoffe Du kannst damit vielleicht etwas anfangen. Wenn Du Probleme hast, melde Dich.
Klaus