Usernamen verwenden

Hast du Probleme Admidio einzurichten? Hier kannst du Fragen rund um die Einrichtung stellen.
Antworten
bk7
Beiträge: 69
Registriert: 3. Aug 2006, 12:07

Usernamen verwenden

Beitrag von bk7 »

Hi Leute,

ich fänds super, wenn ich auf meine Startseite eine individuelle Begrüßung setzten könnte.
Also ich meine, dass "Willkommen Peter" erscheint, falls dieser gerade eingeloggt ist.

Leider hab ich die Variable für den Usernamen selbst nicht gefunden.
Ich hoffe jemand kann mir helfen.

Danke
Benutzeravatar
fasse
Administrator
Beiträge: 6167
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hi Bk7,

du kannst das folgendermaßen lösen:

Code: Alles auswählen

if($g_session_valid == 1)
{
   echo "Hallo $g_current_user->first_name $g_current_user->last_name, Willkommen auf der Homepage ";
}
else
{
   echo "Willkommen auf der Homepage";
}
$g_session_valid == 1 fragt ab, ob der User eingeloggt ist oder nicht und $g_current_user->first_name ,$g_current_user->first_name sind die Variablen für den Mitgliedernamen. Du kannst auch $g_current_user->login_name benutzen.

Gruß
Fasse
bk7
Beiträge: 69
Registriert: 3. Aug 2006, 12:07

Beitrag von bk7 »

Danke für die schnelle Antwort, ihr seit echt klasse...
toschi269
Beiträge: 71
Registriert: 11. Sep 2006, 11:48
Wohnort: Hannover

Beitrag von toschi269 »

fasse hat geschrieben:Hi Bk7,

du kannst das folgendermaßen lösen:

Code: Alles auswählen

if($g_session_valid == 1)
{
   echo "Hallo $g_current_user->first_name $g_current_user->last_name, Willkommen auf der Homepage ";
}
else
{
   echo "Willkommen auf der Homepage";
}
$g_session_valid == 1 fragt ab, ob der User eingeloggt ist oder nicht und $g_current_user->first_name ,$g_current_user->first_name sind die Variablen für den Mitgliedernamen. Du kannst auch $g_current_user->login_name benutzen.

Gruß
Fasse
Ich bekomme das leider überhaupt nicht hin. Obwohl eingeloggt wird immer nur "Willkommen auf der Homepage" angezeigt.

Meine Vorgehensweise:
Ich habe das obige script (ohne weiteren Text) in einer Datei "test.php" eingebaut, der im ordner texte liegt. Ich verstehe nicht ganz die Variable "first_name". In der Datenbank steht usr_first_name. Und fehlt da nicht irgendwo ein "$" ? Brauche ich nicht noch die "common.php" ? Ich hab die mal eingebaut, bekomme dann aber die Fehlermeldung Warning: main(common.php): failed to open stream: No such file or directory in /var/www/web1/html/domains/thahn/igsfv/texte/test.php on line 2

Fatal error: main(): Failed opening required 'common.php' (include_path='.:/usr/lib/php') in /var/www/web1/html/domains/thahn/igsfv/texte/test.php on line 2

Irgendwo habe ich da ein Brett vor dem Kopf.
Wer kann helfen? Danke!
fly2me
Former team member
Beiträge: 300
Registriert: 27. Nov 2006, 10:38
Wohnort: Zürich

Beitrag von fly2me »

Schick mal dir php Datei zu, ich schau drauf
Zuletzt geändert von fly2me am 4. Sep 2007, 08:11, insgesamt 1-mal geändert.
Benutzeravatar
fasse
Administrator
Beiträge: 6167
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Du brauchst die common.php dazu. Hast du den auch den Pfad zur common.php richtig gesetzt ?
bk7
Beiträge: 69
Registriert: 3. Aug 2006, 12:07

Beitrag von bk7 »

jo super. danke. läuft wieder.
hatte nur include... nich am anfang
thx
bk7
Beiträge: 69
Registriert: 3. Aug 2006, 12:07

Beitrag von bk7 »

hi
hab nochmal ne frage zu dem thema.
besteht die möglichkeit auf diese art auch auf bestimmte user zuzugreifen?

bsp:
beim anzeigen der seite erscheint wie oben genannt:
"Hallo $g_current_user->first_name $g_current_user->last_name, Willkommen auf der Homepage ";

und darunter:
"unser spieler des monats: (name z.b. von user 30 anzeigen)"

ist das möglich ?
danke
Benutzeravatar
fasse
Administrator
Beiträge: 6167
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Wenn du die ID des Users kennst, dann ist es möglich.

Code: Alles auswählen

$neuer_user = new User($g_adm_con);
$neuer_user->getUser($die_gesuchte_user_id);
Dann kannst du mit den gewohnten Funktionen auf $neuer_user zugreifen und erhälst die Daten des Users.

Gruß
Fasse
bk7
Beiträge: 69
Registriert: 3. Aug 2006, 12:07

Beitrag von bk7 »

hallo,

ich hab nun auf die neue admidio version umgestellt. leider funktionieren jetzt eure lösungsvorschläge bei mir nicht mehr. bekomm' da immer einen fehler.
könntet ihr mir vielleicht wieder einen kleinen tipp geben, wie ich nun auf einen bestimmten usernamen etc. zugreifen kann?? wär echt super nett... danke im voraus!
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

In der Admidio Version 2 wird das Userobjekt anders angesprochen. Das folgende Beispiel sollte die Fragen beantworten:

Code: Alles auswählen

// Ein neues Userobjekt anlegen, wobei "USER-ID" die ID des Benutzers ist
$neuer_user = new User($g_db, USER-ID);
// Jetzt ist der Zugriff auf alle Daten des Users möglich
// Schlüssel ist der Name des jeweiligen Feldes
// Hier am Beispiel vom Namen
echo $neuer_user->getValue("Vorname"). " ". $neuer_user->getValue("Nachname");
Gruss,
Matze
bk7
Beiträge: 69
Registriert: 3. Aug 2006, 12:07

Beitrag von bk7 »

oh ja! hat mit sehr geholfen. vielen dank dafür!!
jetzt würd ich allerdings auch gerne noch das jweilige profilfoto anzeigen.
leider reicht mein wissensstand mal wieder nicht aus um das alleine hinzubekommen.
hat vielleicht noch irgendwer einen tip für mich?
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Klar geht das:

Code: Alles auswählen

echo '<img border="1" src="'.$g_root_path. '/adm_program/modules/profile/profile_photo_show.php?usr_id=USER-ID" title="Userfoto" alt="Userfoto">';
Damit wird das Profilfoto aus der Datenbank ausgelesen und dargestellt. Ist kein Foto für den Benutzer vorhanden, wird das Standardfoto für User angezeigt.
Bitte beachte, dass Du hier nur eine Ausgabe des Bildes erreichen wirst, wenn Du eingeloggt bist. Das resultiert aus der PHP Datei, die das Bild aus der Datenbank ausliest (profile_photo_show.php). Dort wird in Zeile 18 das Login gefordert.

Gruss,
Matze
bk7
Beiträge: 69
Registriert: 3. Aug 2006, 12:07

Beitrag von bk7 »

danke erstmal!
ich möchte aber, dass das bild nach möglichkeit schon allen usern gezeigt wird. also auch denjenigen die nicht eingeloggt sind. vor dem update war das möglich. diese lösung gibt aber wie schon gesagt leider nur noch fehler aus.
wär es ratsam einfach eine kopie der profile_photo_show.php zu erstellen, meinetwegen profile_photo_show_public.php, dort die betreffende codezeile, die den login erfordert zu löschen und schließlich

Code: Alles auswählen

echo '<img border="1" src="'.$g_root_path. '/adm_program/modules/profile/profile_photo_show_public.php?usr_id=USER-ID" title="Userfoto" alt="Userfoto">';
auszugeben?
oder ist das quatsch und irgendwie sinnvoller umsetzbar?
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Da hatten wir vor längerer Zeit hier schon mal eine Diskussion drüber. Letzten Endes muss es jeder selbst wissen. Wenn Du die Zeile rausnimmst, sind halt die Profilfotos für jedermann einsehbar...

Ich habe auf unserer FF Webseite ebenfalls eine Kopie der Datei erstellt und dort das Login herausgenommen. Damit gebe ich in der öffentlichen Übersicht der Mitglieder die Fotos aus.

Wenn es erforderlich ist, könnte man sicherlich mit etwas zusätzlichem Programmieraufwand den Mitgliedern die Möglichkeit geben, selbst zu entscheiden ob das Bild Öffentlich einsehbar ist oder nicht. Wenn man im Profil eine Checkbox anlegt (Bild öffentlich: ja/nein) und diese Checkbox in der Datei (ohne Login) mit abfragt, hätte man eine kleine Lösung...
Antworten