Seite 1 von 1
Einträge in der Users Datenbank mit Script ändern
Verfasst: 29.08.2010 02:30
von xxvchrisvxx
Hallo,
ich versuche seit 2 Stunden verzweifelt ein Script zu schreiben,
was mir bei Seitenaufruf einen Eintrag (zu der User_ID die über phpBB eingeloggt ist)
ändert.
Wie man Felder draus anzeigen lässt weiß ich und das funktioniert auch bereits. -g-
Re: Einträge in der Users Datenbank mit Script ändern
Verfasst: 29.08.2010 04:57
von Pyramide
Und wo genau tritt nun das Problem auf?
KB:programmierfragen
Re: Einträge in der Users Datenbank mit Script ändern
Verfasst: 29.08.2010 15:12
von xxvchrisvxx
Pyramide hat geschrieben:Und wo genau tritt nun das Problem auf?
KB:programmierfragen
Okay ich merk schon, ich erklärs lieber nochmal ausführlicher
Ich möchte, dass sich bei Seitenaufruf in meiner Datenbank
in dem _users Bereich ein Feld von "Ja" (was ich selbst angelegt habe) auf "Nein" ändert,
und zwar genau in der Zeile, wo die SESSION_ID des eingeloggten Users ist.
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
//Dateierweiterung für PHP ermitteln
$phpEx = substr(strrchr(__FILE__, '.'), 1);
//phpBB3 common functions includieren
include('common.php');
// phpBB3 Session auslesen
$user->session_begin();
// phpBB3 Benutzer-Informationen laden
$auth->acl($user->data);
das habe ich bereits eingebaut (Datei befindet sich im phpBB3 Hauptverzeichnis)
was müsste ich jetzt dazu angeben?
Mit dem üblichen Befehl
mysql_query("UPDATE access_useres SET ex1ver='Nein' WHERE uid='$uid'");
klappt es nicht.
Re: Einträge in der Users Datenbank mit Script ändern
Verfasst: 29.08.2010 15:58
von Pyramide
xxvchrisvxx hat geschrieben:Code: Alles auswählen
<?php
define('IN_PHPBB', true);
//Dateierweiterung für PHP ermitteln
$phpEx = substr(strrchr(__FILE__, '.'), 1);
//phpBB3 common functions includieren
include('common.php');
// phpBB3 Session auslesen
$user->session_begin();
// phpBB3 Benutzer-Informationen laden
$auth->acl($user->data);
Und für den Code hast du zwei Stunden gebraucht?
xxvchrisvxx hat geschrieben:in dem _users Bereich ein Feld von "Ja" (was ich selbst angelegt habe) auf "Nein" ändert,
und zwar genau in der Zeile, wo die SESSION_ID des eingeloggten Users ist.
In der users Tabelle gibt es aber keine Session-ID, die gibt es nur in der sessions-Tabelle. Welche möchtest du denn ändern?
xxvchrisvxx hat geschrieben:Mit dem üblichen Befehl
mysql_query("UPDATE access_useres SET ex1ver='Nein' WHERE uid='$uid'");
klappt es nicht.
Was heißt "klappt nicht"? Kommt eine Fehlermeldung und wenn ja welche? Hast du die Tabelle bei dir wirklich in "useres" umbenannt? Woher nimmst du den Wert für die Variable $uid?
Wenn du MySQL als Datenbank nutzt, sollten die mysql
Funktionen ganz normal funktionieren. Allerdings ist es sauberer, den DBAL von phpBB zu nutzen: http://wiki.phpbb.com/display/DEV/Datab ... tion+Layer
Re: Einträge in der Users Datenbank mit Script ändern
Verfasst: 29.08.2010 17:01
von xxvchrisvxx
Pyramide hat geschrieben:xxvchrisvxx hat geschrieben:
xxvchrisvxx hat geschrieben:Mit dem üblichen Befehl
mysql_query("UPDATE access_useres SET ex1ver='Nein' WHERE uid='$uid'");
klappt es nicht.
Was heißt "klappt nicht"? Kommt eine Fehlermeldung und wenn ja welche? Hast du die Tabelle bei dir wirklich in "useres" umbenannt? Woher nimmst du den Wert für die Variable $uid?
Wenn du MySQL als Datenbank nutzt, sollten die mysql
Funktionen ganz normal funktionieren. Allerdings ist es sauberer, den DBAL von phpBB zu nutzen: http://wiki.phpbb.com/display/DEV/Datab ... tion+Layer
Alsoooooooooooo.. ich hab mir die Seite angesehen und sie hat mir ein wenig weitergeholfen, Danke dafür ersmal.
Kann mir jetzt noch jemand sagen, wieso er jetzt mit folgendem Code den Eintrag, wenn ich die Seite abrufe immer noch nicht ändert? Natürlich bin ich eingeloggt., und er hat mit db->$users['tabellenspalte']... auch Zugriff auf die Daten der Tabelle. Die Datenbank und die Tabelle wird mit dem Befehl auch erkannt, da er mir ausgibt, dass die Tabelle nicht existiert, sobald ich access_users in iwas anderes ändere. Die Seite lässt sich auch ganz normal ohne Fehlermeldung mehr abrufen. Leider ändert er das Feld "ex1ver" in "access_users" immer noch nicht
.
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
//Dateierweiterung für PHP ermitteln
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'includes/db/mysql.' . $phpEx);
$db = new dbal_mysql();
$db->sql_connect('localhost', 'USER', 'PW', 'Datenbank', '', false, false);
$data = array(
'ex1ver' => 'Nein',
);
$sql = 'UPDATE ' .access_users. ' SET ' . $db->sql_build_array('UPDATE', $data) . ' WHERE user_id = ' . (int) $user_id;
$db->sql_query($sql);
?>