ilch Forum » Allgemein » HTML, PHP, SQL,... » Registrierung erweitern die 2.

Geschlossen
  1. #1
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Leute,
    hier nochmal das Thema, da das gleiche Thema nicht weiter bearbeitet werden kann. nicht von mir und nicht von anderen.
    Fehler "Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in /home/ilch_de/www/include/includes/func/bbcode.php on line 216 ". Es geht aber nicht um diesen Fehler.

    Also, ich möchte die Registrierung dahingehend erweitern, dass als Pflichteingabe der Vorname, der Nachname und die Mitgliedsnummer eingetragen werden müssen. In der regist.htm habe ich das eingetragen.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
        <tr>
            <td class="Cmite" width="60">{_lang_nachname}</td>
            <td class="Cnorm"><input type="text" value="{nachname}" maxlength="15"></td>
        </tr>
        <tr>
            <td class="Cmite" width="60">{_lang_vorname}</td>
            <td class="Cnorm"><input type="text" value="{vorname}" maxlength="15"></td>
        </tr>
        <tr>
            <td class="Cmite" width="60">{_lang_mtgnr}</td>
            <td class="Cnorm"><input type="text" value="{mtgnr}" maxlength="15"></td>
        </tr>
        <tr>
            <td class="Cmite">{_lang_mail}</td>
            <td class="Cnorm"><input type="text" maxlength="100" value="{email}" name="email"></td>
        </tr>
    {EXPLODE}
        <tr>
            <td class="Cmite">{_lang_password}</td>
            <td class="Cnorm"><input type="password" name="pass"></td>
        </tr>

    Bis jetzt bin ich so weit, dass meine Einträge fehlerfrei aufgenommen werden, nur nicht abgespeichert. Nach dem Abschicken gelangen die Daten hier hin: "Noch nicht bestätigte Registrierungen verwalten". Hier taucht Vornama, Nachname und Mitgliedsnummer aber schon nicht auf. Wenn ich den Haknen setzte kann ich in der Mitgliederverwaltung auch den User finden und aufrufen. Nur werden die Daten für "Nachname", "Vorname", und "Mitgliedsnummer" nicht abgespeichert.
    In der /includes/func/user.php habe ich folgendes in Zeile 354 geändert
    1
    function user_regist($name, $mail, $nachname, $vorname, $mrgnr, $pass) {

    die Datenfelder in der Tabelle "user" nennen sich "nachname", "vorname" und "mtgnr". Anbei meine geänderten Dateien.

    contens/user/regist.php

    eigefügt in die "de.php
    1
    2
    3
    'mtgnr' => 'Mitgliedsnummer',
    'nachname' => 'Nachname',
    'vorname' => 'Vorname',

    Vieleicht kann mir ein Nitglied mit ein paar Tips weiterhelfen.

    MfG heinz2


    verwendete ilch Version: 1.1 P

    betroffene Homepage: Fischerfreunde-haimhausen.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    FeTTsack Hall Of Fame
    Registriert seit
    27.06.2012
    Beiträge
    188
    Beitragswertungen
    26 Beitragspunkte
    Hab dir gestern Abend per pm geschrieben was machen musst.
    Hast das eingebaut??
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Also das ist schon ein bisschen Kauderwelsch kann das sein?
    Du solltest dich etwas mehr mit der Thematik beschäftigen, ansonsten kanns sogar soweit gehen dass du dein Anmeldeformular für Schadcode angreifbar machst.

    Punkt 1 bevor Daten an das Script übergeben werden ist, den Felder einen Namen zu geben.
    Beispiel
    ZitatZitat
    <input type="text" name="vorname" value="{vorname}" maxlength="15">

    Füge den Feldnamen am besten nach Type ein, dann vergisst du ihn nicht.

    Ohne Feldnamen kannst du kein Feld an PHP übergeben, ohne es direkt anzusprechen.


    Punkt 2 das Script überprüft nun die Variable bzw. das Feld $name, aber das gibt es ja nicht mehr. Hier musst du dich jetzt entscheiden was das Script als Pflichtfeld prüfen soll und $name durch dein Pflichtfeld ersetzen z.B. $mtgnr.


    Also Punkt 1 ganz wichtig, das hast du bisher nicht getan und deswegen kann das Script auch keine Felder/Werte zuordnen und kann selbstverständlich auch nicht damit arbeiten.

    Punkt 2 ist wichtig zu ändern da das Script im Moment ein Feld als Pflichtfeld prüft was garnicht mehr vorhanden ist!


    Zuletzt modifiziert von Ahrtas am 25.06.2015 - 13:14:49
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Schau bitte mal in die FAQ und die Entwickler Doku

    ich habe gestern Abend schon im anderen Post versucht zu antworten mochte er aber nicht.

    externer Link

    externer Link

    Gruß
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Rock@wulf,

    danke für den Hinweis zu dem Link. Genau das habe ich gesucht. Habe die Mitgliedsnummer ebenfalls eingebracht und klappt.

    MfG heinz2


    Zuletzt modifiziert von heinz2 am 29.06.2015 - 11:12:39
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Leute,
    also es funktioniert. Jetzt wollte ich den Schritt mit der E-Mail einfügen. Also E-Mail wiederholen. Soweit so gut. Die regist.htm habe ich abgeändert
    1
    2
    3
    4
    5
    6
    7
    8
    <tr>
                <td class="Cmite">{_lang_mail}</td>
                <td class="Cnorm"><input type="text" maxlength="100" value="{email}" name="email"></td>
            </tr>
            <tr>
                <td class="Cmite">{_lang_mail}</td>
                <td class="Cnorm"><input type="text" maxlength="100" value="{email}" name="email_wdh"></td>
            </tr>

    In einem vorangegangenem Beitrag (der nicht funktioniert) hatte ich das Thema schon einmal aufgegriffen.
    externer Link
    Die von FeTTsack gemachten Angaben kann ich aber irgendwie nicht umsetzen.
    Hier mal meine regist.php

    Was sollte ich wo eintragen, so das der Abgleich der richtigen Eingabe der E-Mail-Adresse funktioniert?

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    FeTTsack Hall Of Fame
    Registriert seit
    27.06.2012
    Beiträge
    188
    Beitragswertungen
    26 Beitragspunkte
    hiho

    poste mal bitte den gesamten Inhalt deiner html
    und die gesamte
    1
    function user_regist($name, $mail, $nachname, $vorname, $mrgnr, $pass) {
    aus deiner user.php

    wenn es geht noch die namen der Felder in der ic1_user (aus deiner DB) die du dafür ergänzt hast lächeln

    dann kann man dir das schnell anpassen.

    lg fetti


    Zuletzt modifiziert von FeTTsack am 06.07.2015 - 17:29:46
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo FeTTsack,

    alsiop hier mal die "regist.html"

    Felder in der Datenbank user
    1
    2
    3
    2   mitnr   int(4)      UNSIGNED ZEROFILL   Nein    kein(e)         Bearbeiten Bearbeiten   Löschen Löschen     Zeige nur unterschiedliche Werte Zeige nur unterschiedliche Werte   Weitere Aktionen anzeigen Mehr
    3   name    varchar(50)     latin1_swedish_ci       Nein    kein(e)         Bearbeiten Bearbeiten   Löschen Löschen     Zeige nur unterschiedliche Werte Zeige nur unterschiedliche Werte   Weitere Aktionen anzeigen Mehr
    4   familyname  varchar(50)     latin1_swedish_ci       Nein    kein(e)         Bearbeiten Bearbeiten   Löschen Löschen     Zeige nur unterschiedliche Werte Zeige nur unterschiedliche Werte   Weitere Aktionen anzeigen Mehr

    und hier due "user.php"

    sind die Angaben ausreichend?

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    FeTTsack Hall Of Fame
    Registriert seit
    27.06.2012
    Beiträge
    188
    Beitragswertungen
    26 Beitragspunkte
    sry.
    hätte mich besser ausdrücken sollen.

    brauch den inhalt der funktion
    1
    function user_regist($name, $mail, $nachname, $vorname, $mrgnr, $pass) {

    aus der include/includes/func/user.php

    weil sieht so aus, als ob du die verändert hast lächeln
    fängt ca. in Zeile 308 an lächeln
    ----

    heut keine zeit.
    morgen mach ich dir eine Lösung fertig lächeln



    lg fetti


    Zuletzt modifiziert von FeTTsack am 06.07.2015 - 19:57:54
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo FeTTsack,
    hier ist Zeile 307 bis 364 au der "include/includes/func/user.php"


    Die Dateien liegen alle noch bei mir auf meinem localserver.

    MfG heinz2


    Zuletzt modifiziert von heinz2 am 06.07.2015 - 23:08:57
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    ZitatZitat geschrieben von heinz2
    <input type="text" maxlength="100" value="{email}" name="email_wdh">


    des eggt nicht obacht wird mit dem selben value als das erste überschrieben

    ZitatZitat

    $checkNotEmpty = array(
    'name' => 'Nickname',
    'email' => 'E-Mail',
    'firstname' => 'Vorname',
    'familyname' => 'Nachname',
    'mitnr' => 'Mitgliedsnummer'
    );


    Hier fehlt das email_wdh

    Dann fehlt
    1
    2
    3
    4
    5
    $ch_name = false;
           $xname = escape_nickname($name);
           if (!empty($name) AND $xname == $name AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '" . $name . "'"), 0)) {
               $ch_name = true;
           }


    dieses umgebaut für email Prüfung ?

    Was nützt son Feld wenn man es nicht prüft...

    USW schau da nochmal drüber da fehlt ein weng viel
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    @heinz2
    Oder du machst einfach mal ein Thema in Anfrage/Angebote auf und lässt es dir erstellen für ein "Taschengeld". zwinker
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    FeTTsack Hall Of Fame
    Registriert seit
    27.06.2012
    Beiträge
    188
    Beitragswertungen
    26 Beitragspunkte
    schau mal ob das so geht.
    deine html sieht ok aus lächeln


    regist.php:


    user_regist:


    sollte es nicht klappen.
    bitte bescheid geben was für fehler kommt und was in die DB geschrieben wird ...

    ps.
    deine mitnr prüfst du auf string aber in der Datenbank ist es ein integer feld. Soll die mitnr auch andere zeichen beinhalten als nur zahlen ?

    lg fetti


    Zuletzt modifiziert von FeTTsack am 08.07.2015 - 09:20:02
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo FeTTsack,
    Danke, hat geklappt. Einträge werden eingetragen. Eine Fehlermeldung über ungleiche Mailadressen bekomme ich auch ausgegeben.

    MfG heinz


    Zuletzt modifiziert von heinz2 am 09.07.2015 - 23:45:49
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo fetti,
    Du schriebst
    ZitatZitat
    ps.
    deine mitnr prüfst du auf string aber in der Datenbank ist es ein integer feld. Soll die mitnr auch andere zeichen beinhalten als nur zahlen ?

    Mitgliedsnummern sind nur Zahlen und sollen vorn mit Nullen aufgefüllt werden. Was meinst Du mit der Prüfung?

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    FeTTsack Hall Of Fame
    Registriert seit
    27.06.2012
    Beiträge
    188
    Beitragswertungen
    26 Beitragspunkte
    den part meinte ich
    1
    $mitnr = escape($_POST['mitnr'], 'integer');

    bei dir war halt string da gesteanden.

    lächeln
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo fetti,

    vielen Dank Danke für die Hilfe. So lerne ich immer wieder etwas dazu.

    MfG heinz2
    kann geschlossen werden.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten