+ Antworten
Ergebnis 1 bis 10 von 10

Thema: Registrierung - Attribute zusammenführen

  1. #1
    Neu an Board
    Registriert seit
    06.09.2008
    Beiträge
    70
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Registrierung - Attribute zusammenführen

    Hallo zusammen,

    ich habe in meiner User-Registrierung das Geburtsdatum in 3 Select Boxen aufgeteilt.
    Jetzt würde ich gerne vor Einfügen des Users in die Datenbank die 3 Attribute zu einem zusammenführen. In welcher Datei kann ich das am besten machen?
    In welcher Datei werden die Parameter abgefragt? Und in welcher Datei wird das Insert ausgeführt?

    Vielen Dank im Voraus!
    UniBits.de - IT-Dienstleistungen und Softwareentwicklung von Studenten

  2. #2
    Moderator Avatar von time4mambo
    Registriert seit
    11.12.2006
    Ort
    76646 Bruchsal
    Alter
    54
    Beiträge
    14.346
    Bedankte sich
    455
    Erhielt 2.972 Danksagungen
    in 2.791 Beiträgen

    Standard

    Zitat Zitat von mbauer Beitrag anzeigen
    ich habe in meiner User-Registrierung das Geburtsdatum in 3 Select Boxen aufgeteilt.
    Wie genau hast das gemacht? Hast da selber was programmiert oder den CB genommen oder ...?

    Ansonsten kannst auch einfach ein Plugin programmieren, dass die drei Teile aus der Datenbank zusammensucht und woanders hinschreibt.


    Axel
    Schulungen, Webentwicklung: time4mambo
    (Video-)Tutorials: time4joomla

  3. #3
    Neu an Board
    Registriert seit
    06.09.2008
    Beiträge
    70
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Danke für deine Anwort.

    Ich habe die Erweiterung selber programmiert.
    Nur weiß ich nicht, in welcher Datei die Attribute des Registrierungsformulars abgefragt werden. Oder in welcher Datei das Insert-Statement ist. Dort könnte ich die Attribute zusammenfügen.
    UniBits.de - IT-Dienstleistungen und Softwareentwicklung von Studenten

  4. #4
    Moderator Avatar von time4mambo
    Registriert seit
    11.12.2006
    Ort
    76646 Bruchsal
    Alter
    54
    Beiträge
    14.346
    Bedankte sich
    455
    Erhielt 2.972 Danksagungen
    in 2.791 Beiträgen

    Standard

    Das Geburtsdatum wird in der Standard-Registratur nicht abgefragt und somit musst du ein eigenes Tabellenfeld anlegen, wenn du das Datum zusammengeschrieben haben willst.


    Axel
    Schulungen, Webentwicklung: time4mambo
    (Video-)Tutorials: time4joomla

  5. #5
    Neu an Board
    Registriert seit
    06.09.2008
    Beiträge
    70
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ich habe einige Felder hinzugefügt und das funktioniert auch.

    Nur habe ich das Geburtsdatum in 3 Select-Boxen (Tag/Monat/Jahr) gesplittet. Jetzt möchte ich nicht 3 neue Spalten in der Datenbank anlegen und das Geburtsdatum getrennt einfügen.

    Ich möchte nur eine Spalte in der Datenbank. Nur weiß ich nicht wie und wo ich die 3 Werte zusammenführen kann. Deshalb wüsste ich gerne in welcher Datei die Werte abgefragt werden. Das muss so was wie $_Post['username'] sein. Außerdem müsste doch auch irgendwo das SQL-Statement "Insert username Into jos_users" stehen. Dort könnte ich die 3 Werte auch wieder zusammenführen.

    Vielen Danke im Voraus!
    UniBits.de - IT-Dienstleistungen und Softwareentwicklung von Studenten

  6. #6
    Moderator Avatar von time4mambo
    Registriert seit
    11.12.2006
    Ort
    76646 Bruchsal
    Alter
    54
    Beiträge
    14.346
    Bedankte sich
    455
    Erhielt 2.972 Danksagungen
    in 2.791 Beiträgen

    Standard

    Es nutzt ja nichts, das erste Post zu wiederholen, wenn ich dir grad schrieb, dass es kein Geburtsdatum gibt in der Standard-Registratur und somit logischerweise noch kein Feld in der DB. Also kannst du doch in deiner selbstprogrammierten Registratur gleich die drei Felder zusammen in einem DB-Feld abspeichern.

    Ich verstehe überhaupt nicht, was du noch willst?


    Axel
    Schulungen, Webentwicklung: time4mambo
    (Video-)Tutorials: time4joomla

  7. #7
    Neu an Board
    Registriert seit
    06.09.2008
    Beiträge
    70
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ich habe in meinem Html-Formular 3 Felder.
    Wie bekomme ich die 3 Felder in eine Spalte der Datenbank? Wie ich sie in 3 Spalten bekomme ist mir klar.

    Ich habe dazu mich an folgende Anleitung gehalten:

    Anleitung

    Wie man in dieser Anleitung sehen kann, wird lediglich die Tabelle jos_users erweitert und in der Datei libraries/joomla/database/table/user.php die Felder hinzugefügt.
    Aber es wird nicht beschrieben wo die Parameter abgefragt werden. Dazu muss es ein Model oder Controller geben. Wie heißt die Datei in der ich diese Parameterabfrage zusammenfassen kann?

    Ich hoffe, so ist es verständlicher.
    UniBits.de - IT-Dienstleistungen und Softwareentwicklung von Studenten

  8. #8
    Moderator Avatar von time4mambo
    Registriert seit
    11.12.2006
    Ort
    76646 Bruchsal
    Alter
    54
    Beiträge
    14.346
    Bedankte sich
    455
    Erhielt 2.972 Danksagungen
    in 2.791 Beiträgen

    Standard

    Ist nicht einfach - ich versuchs mal zu erklären:
    Joomla selber fragt nie nicht nach einem Geburtstag. Ergo legt Joomla kein DB-Feld dafür an und fragt das natürlich auch nicht ab.

    Wenn du selber was programmierst, bleibt dir nun offen, was du damit machst. Wenn du im Formular drei Felder hast, mach daraus anschließend im Code ein Feld, in dem du die Inhalte der drei Felder entsprechend mit einer Zeichenkettenverknüpfung zusammenbaust und speichere diese in einem Tabellenfeld in der DB deiner Wahl. Also erweitere eine Tabelle oder erstelle eine ganz neue.

    Wenn du das Geburtstagsdatum wieder haben willst, dann programmiere dir ein Modul oder Plugin, was damit was macht.


    Wozu brauchst du denn den Geburtstag, was willst du denn machen auf deiner Website?


    Axel
    Schulungen, Webentwicklung: time4mambo
    (Video-)Tutorials: time4joomla

  9. #9
    Neu an Board
    Registriert seit
    06.09.2008
    Beiträge
    70
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Das Joomla nicht standardmäßig ein Geburtstagsfeld mit dabei hat, ist mir schon klar.
    Deshalb habe ich nach der Anleitung, ein Post weiter von oben, die Regestrierung erweitert. Nur war mir die ganze Zeit nicht klar wie ich die Felder Tag, Monat und Jahr in eine Datenbankspalte bekomme.

    Ich habe jetzt in der /libraries/joomla/database/table/user.php ab der Zeile 235 in der store() Funktion folgendes eingefügt:

    PHP-Code:
    // new record
    $this->geburtsdatum=$this->day.$this->month.$this->year;
    $ret $this->_db->insertObject$this->_tbl$this$this->_tbl_key ); 
    P.S.:
    Ich möchte für ein Gewinnspiel die Volljährigkeit überprüfen. Dies soll schon bei der Registrierung erfolgen.

    Danke!
    UniBits.de - IT-Dienstleistungen und Softwareentwicklung von Studenten

  10. #10
    Neu an Board
    Registriert seit
    06.09.2008
    Beiträge
    70
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ich korrigiere:

    PHP-Code:
    $this->geburtsdatum=$_POST['day'].'.'.$_POST['month'].'.'.$_POST['year'];
    $ret $this->_db->insertObject$this->_tbl$this$this->_tbl_key ); 
    Nur so funktioniert es!
    UniBits.de - IT-Dienstleistungen und Softwareentwicklung von Studenten

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein