Registrierung von weiteren Usern durch Kunden?

Hier können Sie Fragen bezüglich der Kundenverwaltung stellen.
r_kempf
Senior Member
Beiträge: 214
Registriert: Do 14. Apr 2016, 13:27

Registrierung von weiteren Usern durch Kunden?

Beitragvon r_kempf » So 2. Aug 2020, 13:05

Schönen Sonntag,
wir arbeiten gerade an einem Mitgliederbereich und haben eine Verständnisfrage zur Kundenverwaltung:
Kann ein eingeloggter Kunde über ein Registrierungsformular weitere User mit jeweils eigener ID anlegen?
Im eingeloggten Zustand kann er ja nur seine eigenen KV-Felder ändern, die über <we:sessionField name="ID" type="hidden"/> zugeordnet werden.

Jetzt soll er aber eigene Kunden (Member) in seinem Login-Bereich anlegen können. Die Frage ist also, wie wir einen neuen Kunden(Member) mit neuer ID im eingeloggten Zustand eines Kunden in der KV speichern können.

Bei saveRegisteredUSer im <we:sessionField name="ID" type="hidden"/> steht ja immer die ID des derzeit eingeloggten Kunden!
Es müsste aber die neue ID sein. Wie kommen wir an eine neue, frische ID ran, um den Kunden(Member) speichern zu können?

Danke für alle Hinweise!
Regina

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: Registrierung von weiteren Usern durch Kunden?

Beitragvon NilSole » So 2. Aug 2020, 13:35

Hallo,

spontaner Einfall (ungetestet): wenn du das Session Feld ID auf 0 setzt, sollte wE eine neue (fortlaufende) ID generieren.

Es könnte aber sein, dass du dann den aktuellen Kunden bearbeitest...

Schöne Grüße
Nils

r_kempf
Senior Member
Beiträge: 214
Registriert: Do 14. Apr 2016, 13:27

Re: Registrierung von weiteren Usern durch Kunden?

Beitragvon r_kempf » So 2. Aug 2020, 13:54

Hallo Nils,
erstmal vielen Dank für Deine Antwort am Sonntag :-)

Das Problem ist:
<we:sessionField name="ID" type="hidden"/>
ergibt:
<input name="s[ID]" type="hidden" value="7" />

7 ist die ID des Hauptkunden. Das Formular würde also seine Daten überschreiben.

Das value müsste vor dem Absenden leer sein, wie im ausgeloggten Zustand:
<input name="s[ID]" type="hidden" value="" />

WE füllt das aber automatisch aus der Session und ich weiss nicht, wie man das manipulieren kann.

Grüße
Regina

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: Registrierung von weiteren Usern durch Kunden?

Beitragvon NilSole » So 2. Aug 2020, 14:07

Kein Problem,

zwei Dinge:
1. Du kannst einfach <input name="s[ID]" type="hidden" value > in dein Template schreiben, das wird dann auch so ausgegeben.
2. Habe im Code nachgeschaut. So läuft das wahrscheinlich auch nicht. Wenn ein Kunde eine Session offen hat wird da auch geprüft ob der eine ID hat. Wenn ja, wird kein neuer Kunde erstellt.
Eventuell könnte man die $_SESSION['webuser']['ID'] unsetten und dann könnte ein neuer Kunde erstellt werden...
Vielleicht könntest du das Formular an eine andere Seite senden, wo du den Hauptkunden zu Beginn quasi aus der Session schmeißt.

Edit: saveRegisteredUser sollte changesessiondata="false" gesetzt haben, sonst ist man glaube ich danach als neuer Kunde angemeldet...

Schöne Grüße

r_kempf
Senior Member
Beiträge: 214
Registriert: Do 14. Apr 2016, 13:27

Re: Registrierung von weiteren Usern durch Kunden?

Beitragvon r_kempf » So 2. Aug 2020, 14:44

Ja, soweit war ich eben auch, aber stimmt, mit
<input name="s[ID]" type="hidden" value="" />
wird nichts gespeichert.

Schade, für einen Mitgliederbereich wäre es schön, wenn es eine einfache Möglichkeit gäbe.

Puhh, das wird komplizierter als ich dachte. Nach dem Ausloggen und Formularübergabe an neue Seite, muss er sich dann ja auch wieder einloggen. Aber Danke erstmal, jetzt weiss ich erstmal, was nicht geht...

r_kempf
Senior Member
Beiträge: 214
Registriert: Do 14. Apr 2016, 13:27

Re: Registrierung von weiteren Usern durch Kunden?

Beitragvon r_kempf » So 2. Aug 2020, 17:43

ID killen funktioniert wunderbar mit unset.
Speichert aber den Kunden immer noch nicht:

Code: Alles auswählen

<?php
unset($_SESSION['webuser']['ID']);
?>
<we:saveRegisteredUser register="true"/>
<we:ifWritten formname="saveUser" type="customer">
<div class="alert alert-success" role="alert">Ein neuer Benutzer wurde erfolgreich angelegt!</div>
</we:ifWritten>
Mein Formular auf der Seite vorher sieht so aus:

Code: Alles auswählen

<we:form name="saveUser" action="\$action" method="get">
<input name="s[Forename]" value=""/>
<input name="s[Surname]" value=""/>
<input name="s[Username]" value=""/>
<input name="s[email]" value=""/>
<we:sessionField type="password" name="Password" value=""/>
<input name="s[ID[" type="hidden" value="" />
<input name="absenden" type="submit" class="btn btn-grad btn-block" value="Benutzerkonto anlegen">
</we:form>
Muss da vor saveRegisteredUser noch was gekillt werden?

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: Registrierung von weiteren Usern durch Kunden?

Beitragvon NilSole » So 2. Aug 2020, 18:30

Folgendes scheint zu funktionieren. Hier wird die Hauptsession kurz zwischengespeichert und freigemacht für den neuen Kunden.

Code: Alles auswählen

<we:sessionStart/>
<?php
$oldsession = $_SESSION['webuser'];
unset($_SESSION['webuser']);
?>
<we:saveRegisteredUser register="true" changesessiondata="false"/>
<we:ifWritten formname="saveUser" type="customer">
<div class="alert alert-success" role="alert">Ein neuer Benutzer wurde erfolgreich angelegt!</div>
	<we:else/>
	Nope
</we:ifWritten>
<?php
$_SESSION['webuser'] = $oldsession;
?>
Hier hattest du einen Klammerfehler bei der ID gemacht. Eventuell solltest du das aber eher per Post senden und nicht Get.

Code: Alles auswählen

<we:sessionStart/>
<we:form name="saveUser" action="\$action" method="get">
<input name="s[Forename]" value=""/>
<input name="s[Surname]" value=""/>
<input name="s[Username]" value=""/>
<input name="s[email]" value=""/>
<we:sessionField type="password" name="Password" value=""/>
<input name="s[ID]" type="hidden" value="" />
<input name="absenden" type="submit" class="btn btn-grad btn-block" value="Benutzerkonto anlegen">
</we:form>

r_kempf
Senior Member
Beiträge: 214
Registriert: Do 14. Apr 2016, 13:27

Re: Registrierung von weiteren Usern durch Kunden?

Beitragvon r_kempf » Mo 3. Aug 2020, 10:39

Merci Nils :-)
Klappt wunderbar!!! Und der Hauptkunde merkt vom unset nichts!

Schönen Wochenstart!
LG Regina


Zurück zu „Kundenverwaltung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste