# Prüfen ob ein bestimmter user gerade eingeloggt ist

**URL:** <https://forum.shopware.com/t/prufen-ob-ein-bestimmter-user-gerade-eingeloggt-ist/36702>\
**Category:** Programmierung\
**Created:** [12. Mai 2016 um 10:15 UTC](https://forum.shopware.com/t/prufen-ob-ein-bestimmter-user-gerade-eingeloggt-ist/36702 "2016-05-12T10:15:48Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![so-dsgn](https://avatars.discourse-cdn.com/v4/letter/s/76d3ee/32.png) [@so-dsgn](https://forum.shopware.com/u/so-dsgn)\
**Post date:** [12. Mai 2016 um 10:15 UTC](https://forum.shopware.com/t/prufen-ob-ein-bestimmter-user-gerade-eingeloggt-ist/36702/1 "2016-05-12T10:15:48Z")

</div>

Hi Forum,

wie der Titel schon sagt, möchte ich überprüfen ob ein bestimmter User (Kunde - nicht Backend / Admin) gerade im Shop eingeloggt ist. Es geht darum Emails aus einem Plugin per Cronjob zu verschicken. Wenn der User gerade eingeloggt ist soll keine Mail an ihn versendet werden. Versucht habe ich es mit:

```
Shopware()->Modules()->Admin()->sCheckUser();

```

Damit komme ich an dieser stelle nicht weiter… ich bräuchte eher sowas wie:

```
Shopware()->Modules()->Admin()->sCheckUser();

```

Eine andere Überlegung war das “lastlogin” feld aus der Tabele s\_user abzufragen und mit zeitlichem Versatz zu arbeite, das ist mir aber eigentlich zu ungenau. Jemand einen Tip / Hinweis Idee?&nbsp;

Grüße,

&nbsp;

---

<div class="post-metadata">

**Author:** ![steinsoftware](https://avatars.discourse-cdn.com/v4/letter/s/b487fb/32.png) [@steinsoftware](https://forum.shopware.com/u/steinsoftware)\
**Post date:** [12. Mai 2016 um 11:34 UTC](https://forum.shopware.com/t/prufen-ob-ein-bestimmter-user-gerade-eingeloggt-ist/36702/2 "2016-05-12T11:34:29Z")

</div>

Sieh dir mal das Backend-Widget “Besucher Online” an. Da muss ja auch so was ähnliches gemacht werden.

---

<div class="post-metadata">

**Author:** ![so-dsgn](https://avatars.discourse-cdn.com/v4/letter/s/76d3ee/32.png) [@so-dsgn](https://forum.shopware.com/u/so-dsgn)\
**Post date:** [13. Mai 2016 um 08:00 UTC](https://forum.shopware.com/t/prufen-ob-ein-bestimmter-user-gerade-eingeloggt-ist/36702/3 "2016-05-13T08:00:18Z")

</div>

Danke für den Hinweis, da wird auch mit dem Timestamp gearbeitet allerdings aus der Tabell: “s\_statistics\_currentusers”.

Hier die (für meine Zwecke angepasste) Abfrage falls noch mal jemand vor dem Problem steht:

```
$loggedInUsers = Shopware()->Container()->get('db')->fetchAll("
                 SELECT 
                 userID,
                 remoteaddr
                 FROM s_statistics_currentusers
                 WHERE userID != 0
                 AND time > DATE_SUB(NOW(), INTERVAL 5 MINUTE)
                 GROUP BY userID
                 ");

```

Grüße,

---

<div class="post-metadata">

**Author:** ![AndreasP](https://avatars.discourse-cdn.com/v4/letter/a/5fc32e/32.png) [@AndreasP](https://forum.shopware.com/u/AndreasP)\
**Post date:** [16. Mai 2016 um 21:35 UTC](https://forum.shopware.com/t/prufen-ob-ein-bestimmter-user-gerade-eingeloggt-ist/36702/4 "2016-05-16T21:35:08Z")

</div>

Hallo so-dsgn,

ich habe ein ähnliches Problem, möchte den Formular ausfüllenden User

mit userId mitschicken.&nbsp;

Hast du vielleicht einen Hinweis/ Lösung für mich?

gruß, Andreas&nbsp;

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [16. Mai 2016 um 21:43 UTC](https://forum.shopware.com/t/prufen-ob-ein-bestimmter-user-gerade-eingeloggt-ist/36702/5 "2016-05-16T21:43:23Z")

</div>

@AndreasP‍

Glaub das simpelste wäre hier drauf zu subscriben:&nbsp;[shopware/Forms.php at 5.1 · shopware/shopware · GitHub](https://github.com/shopware/shopware/blob/5.1/engine/Shopware/Controllers/Frontend/Forms.php#L312)

Mail Template eine Variable ergänzen wie {$sUser}, beim Event Call den Mail Inhalt holen und via str\_replace den Text austauschen und zurück speichern
