ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Code Hack Requests / Profileinstellungen bei der Anmeldung


Seite 1 von 2 – nächste Seite >>

Suitcase schrieb am 20.09.2003 um 12:29 Uhr

Hallo,

lässt es sich einrichten dass die Forenbesucher bereits bei der Anmeldung nähere Angaben (Wohnort, ICQ, Geburtstag, Beruf...) über sich machen, die dann im Profil gespeichert werden? Die meisten machen sich, nachdem sie ihre Zugangsdaten erhalten haben, ja nicht mehr die Mühe ihr Profil auszufüllen.

Darüberhinaus würde ich mir wünschen, dass die Leute bei der Anmeldung neben diesen Profildaten noch ein paar Fragen beantworten ("Von dieser Seite erfahren hast du durch...?", "In welchem Semester studierst du?"...), und die Antworten auf diese Fragen automatisch zusammen mit dem Benutzernamen in einem Extra-Brett ("Neuzugänge") als kleine Begrüßungsnachricht gepostet werden.

<---
Beispiel:
Soeben [datum][zeit] hat sich [nickname] angemeldet.
[nickname] hat von dieser Seite durch [erfahrendurch] erfahren und studiert im [semester] Semester.
--->

Ich bin mir sicher dass so eine Funktion auch für andere Forumbetreiber interessant wäre. Wer weiss, vielleicht gibt es einen solchen Hack ja bereits?


MfG. Suit

Gamy schrieb am 21.09.2003 um 15:26 Uhr

also, geben tut es sowas immo noch net, so viel ich weiss, zu realisieren ist das erste eigentlich ganz leicht, ich hab immo keine Lust dazu, aber vielleicht mach ich es doch, mal sehen, wenn sich keiner erbahmt :D

Lars007 schrieb am 21.09.2003 um 20:39 Uhr

Och büdde! *liebbittesagt*

serotonic schrieb am 22.09.2003 um 15:23 Uhr

Halte ich für eine sehr gute Idee!!!

Suitcase schrieb am 24.09.2003 um 08:55 Uhr

Dann brauchen wir nur jetzt noch jemanden der sich der Sache annimmt... *hundeblick*

Delysid schrieb am 28.09.2003 um 04:43 Uhr

Für die Extrakategorien im Profil gibts schon n Hack:

http://www.hacks.slware.com/tboard/showtopic.php?threadid=510&time=1064716490

serotonic schrieb am 29.09.2003 um 12:12 Uhr

Es geht ja nur bedingt um die Extra-Kategorien, primär geht es um die Ausfüllung des Profils während der Anmeldung und um die automatische Erstellung des Vorstellungs-Threads.

Suitcase schrieb am 18.10.2003 um 15:34 Uhr

Ich hab den Gamy mal angeschrieben ob er sich der Sache annehmen würde. Sieht aber nicht so aus, zumindest hat er sich bis jetzt noch nicht gemeldet :-/

Jürgen S. schrieb am 19.10.2003 um 12:13 Uhr

Hallo,
ich hab mal gestern angefangen, da was umzuschreiben. Es funktioniert schon. Fast die gesamte Profileintragsseite erscheint, wenn sich jemand registrieren will. Ich bin im moment nur noch beim basteln um das Geburtsdatum reinzubekommen.

Jürgen S. schrieb am 19.10.2003 um 13:39 Uhr

Ich habe die Änderungen erstmal ins Netz gestellt. Wer interesse hat, kann sich das ja mal runterladen und anschauen. Das mit dem Geburtsdatum hab ich noch nicht - aber das andere geht.

Edit:// Jetzt geht es auch mit dem Geburtsdatum.

Probierts aus und gebt nen rapport.

hier findet ihr das:
http://www.forum.kirche-hoenow.de/update/

Gamy schrieb am 19.10.2003 um 21:00 Uhr

Hallo,

sry hatte keine Zeit mehr, hasst du das ganze schon bei den Hacks gepostet ?

greetz Gamy

Jürgen S. schrieb am 19.10.2003 um 21:22 Uhr

Hallo,
hab mich da gerad angemeldet und alles eingetragen

solsch schrieb am 23.10.2003 um 18:54 Uhr

Hallo,
hab den hack gerade runtergeladen. funzt auch soweit ausser das geburtsdatum! wäre froh wenn du die version bereit stellst wo das mit dem geburtsdatum auch funzt.

danke im voraus.

solsch

Jürgen S. schrieb am 23.10.2003 um 21:19 Uhr

Hab ich nicht die richtigen Daten hochgeladen? Sorry - ich schau mal nach.

Shadow schrieb am 23.10.2003 um 21:26 Uhr

Eigentlich sollte das selbst fürn Anfänger kein Problem sein ;)

hab jetzt mal geschaut und gschwind was für euch zusammengeschrieben. Funktioniert einwandfrei. Und alle Optionen sind vorhanden ;)

do_register.php

thwb_query("INSERT INTO ".$pref."user (username, userjoin, useremail, userpassword, groupids)
    VALUES('".addslashes($register['username']) . "', '" . time() . "',
    '".addslashes($register['useremail'])."',    '".md5($register['userpassword'])."', ',$config[default_groupid],')");

durch:

if( $user['userbday_day'] == 0 || $user['userbday_month'] == 0 || $user['userbday_year'] == 0 )
    {
        $user['userbday'] = '0000-00-00';
    }
    else
    {
        $user['userbday'] = sprintf('%04d-%02d-%02d', $user['userbday_year'], $user['userbday_month'], $user['userbday_day']);
    }
$register['userbday'] = $user['userbday'];

thwb_query("INSERT INTO ".$pref."user (username, userjoin, useremail, userpassword, userhomepage, userlocation, usericq, useraim, usermsn, userbday, useroccupation, userinterests, userhideemail, userinvisible, usernoding, userhidesig, groupids)
    VALUES('".addslashes($register['username']) . "',
           '" . time() . "',
           '".addslashes($register['useremail'])."',
           '".md5($register['userpassword'])."',
           '".addslashes($user['userhomepage'])."',
           '".addslashes($user['userlocation'])."',
           '".addslashes($user['usericq'])."',
           '".addslashes($user['useraim'])."',
           '".addslashes($user['usermsn'])."',
           '".addslashes($user['userbday'])."',
           '".addslashes($user['useroccupation'])."',
           '".addslashes($user['userinterests'])."',
           '".intval($user['userhideemail'])."',
           '".intval($user['userinvisible'])."',
           '".intval($user['usernoding'])."',
           '".intval($user['userhidesig'])."',
           ',$config[default_groupid],')");

register.php nach:

if( !$config['use_email'] )
    {

das einfügen:

// birthday stuff
$a_month = array(
    1 => 'Januar',
    2 => 'Februar',
    3 => 'M&auml;rz',
    4 => 'April',
    5 => 'Mai',
    6 => 'Juni',
    7 => 'Juli',
    8 => 'August',
    9 => 'September',
    10 => 'Oktober',
    11 => 'November',
    12 => 'Dezember'
);
$bdayform = '';

$user['userbday_year'] = (int)(substr($user['userbday'], 0, 4));
$user['userbday_month'] = (int)(substr($user['userbday'], 5, 2));
$user['userbday_day'] = (int)(substr($user['userbday'], 8, 2));

// day
$bdayform .= '<select name="user[userbday_day]" class="tbselect"><option value="0"></option>';
for( $i = 1; $i <= 31; $i++ )
{
    $bdayform .= '<option value="' . $i . '"' . ( $i == $user['userbday_day'] ? ' selected' : '' ) . '>' . sprintf('%02d', $i) . '</option>';
}
$bdayform .= '</select>';

// month
$bdayform .= '&nbsp;<select name="user[userbday_month]" class="tbselect"><option value="0"></option>';
for( $i = 1; $i <= 12; $i++ )
{
    $bdayform .= '<option value="' . $i . '"' . ( $i == $user['userbday_month'] ? ' selected' : '' ) . '>' . $a_month[$i] . '</option>';
}
$bdayform .= '</select>';

// year
$bdayform .= '&nbsp;<select name="user[userbday_year]" class="tbselect"><option value="0"></option>';
for( $i = 1930; $i <= 2000; $i++ )
{
    $bdayform .= '<option value="' . $i . '"' . ( $i == $user['userbday_year'] ? ' selected' : '' ) . '>' . $i . '</option>';
}
$bdayform .= '</select>';

dann die register.html durch das hier ersetzen:

<form name="regform" method="post" action="do_register.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="$style[border_col]">
  <tr>
    <td>
      <table width="100%" border="0" cellspacing="1" cellpadding="3">
        <tr bgcolor="$style[color4]">
          <td colspan="2"><b>$style[smallfont]<font color="$style[col_he_fo_font]">Registrieren</font>$style[smallfontend]</b></td>
        </tr>
        <tr bgcolor="$style[CellB]">
          <td width="20%">$style[stdfont]Name$style[stdfontend]</td>
          <td>
            <input class="tbinput" type="text" name="register[username]">$style[smallfont] Der Benutzername muss aus minimal $config[min_usernamelength] und maximal $config[max_usernamelength] Zeichen bestehen.$style[smallfontend]</td>
        </tr>
        <tr bgcolor="$style[CellA]">
          <td width="20%">$style[stdfont]Email$style[stdfontend]</td>
          <td>
            <input class="tbinput" type="text" name="register[useremail]">
            $style[smallfont]Bitte geben Sie eine g&uuml;ltige Emailadresse an.$style[smallfontend]</td>
        </tr>
$passwordfield
        <tr bgcolor="$style[CellA]">
          <td colspan="2">$style[stdfont]<b>Hinweis:</b> Bitte geben Sie eine gültige Email-Adresse an, da Ihr Passwort an selbige geschickt wird!$style[stdfontend]</td>
    </tr>
     <tr bgcolor="$style[CellB]">
        <td width="100%" colspan="2">$style[stdfont]<b>Optionale Angaben</b>$style[stdfontend]</td>
         <tr bgcolor="$style[CellA]">
            <td width="20%">$style[stdfont]Homepage$style[stdfontend]</td>
            <td>
              <input class="tbinput" type="text" name="user[userhomepage]" value="$user[userhomepage]">
        $style[smallfont]Hier k&ouml;nnen Sie Ihre Homepage angeben.$style[smallfontend]</td>
          </tr>
          <tr bgcolor="$style[CellB]">
            <td width="20%">$style[stdfont]Wohnort$style[stdfontend]</td>
            <td>
              <input class="tbinput" type="text" name="user[userlocation]" value="$user[userlocation]">
        $style[smallfont]Hier k&ouml;nnen Sie Ihren Wohnort angeben.$style[smallfontend]</td>
          </tr>
          <tr bgcolor="$style[CellA]">
            <td width="20%">$style[stdfont]ICQ UIN$style[stdfontend]</td>
            <td>
              <input class="tbinput" type="text" name="user[usericq]" value="$user[usericq]">
        $style[smallfont]Hier k&ouml;nnen Sie Ihre ICQ-Nummer angeben (falls vorhanden)$style[smallfontend]</td>
          </tr>
          <tr bgcolor="$style[CellB]">
            <td width="20%">$style[stdfont] AIM Name $style[stdfontend]</td>
            <td>
              <input class="tbinput" type="text" name="user[useraim]" value="$user[useraim]">
        $style[smallfont]Hier k&ouml;nnen Sie Ihren AIM-Nicknamen angeben (falls vorhanden)$style[smallfontend]</td>
          </tr>
          <tr bgcolor="$style[CellA]">
            <td width="20%">$style[stdfont]MSN Name$style[stdfontend]</td>
            <td>
              <input class="tbinput" type="text" name="user[usermsn]" value="$user[usermsn]">
        $style[smallfont]Hier k&ouml;nnen Sie Ihren MSN Nicknamen angeben (falls vorhanden)$style[smallfontend]</td>
          </tr>
          <tr bgcolor="$style[CellB]">
            <td width="20%">$style[stdfont]Geburtstag$style[stdfontend]</td>
            <td>
              $bdayform
        $style[smallfont]Hier k&ouml;nnen Sie Ihren Geburtstag angeben.$style[smallfontend]</td>
          </tr>
          <tr bgcolor="$style[CellA]">
            <td width="20%">$style[stdfont]Beruf$style[stdfontend]</td>
            <td>
              <input class="tbinput" type="text" name="user[useroccupation]" value="$user[useroccupation]">
        $style[smallfont]Hier k&ouml;nnen Sie Ihren Beruf angeben$style[smallfontend]</td>
          </tr>
          <tr bgcolor="$style[CellB]">
            <td width="20%">$style[stdfont]Interessen$style[stdfontend]</td>
            <td>
              <textarea class="tbtextarea" name="user[userinterests]" cols="40" rows="7">$user[userinterests]</textarea>
        $style[smallfont]$style[smallfontend]</td>
          </tr>
          <tr bgcolor="$style[CellA]">
            <td width="20%">$style[stdfont]Signaturen ausblenden?$style[stdfontend]</td>
            <td>
        $style[stdfont]
              <input type="radio" name="user[userhidesig]" value="1">
        Ja
              <input type="radio" name="user[userhidesig]" value="0" checked="checked">
        Nein$style[stdfontend]</td>
          </tr>
          <tr bgcolor="$style[CellB]">
            <td width="20%">$style[stdfont]Email Adresse verstecken?$style[stdfontend]</td>
            <td>
        $style[stdfont]
              <input type="radio" name="user[userhideemail]" value="1">
        Ja
              <input type="radio" name="user[userhideemail]" value="0" checked="checked">
        Nein$style[stdfontend]</td>
          </tr>
          <tr bgcolor="$style[CellA]">
            <td width="20%">$style[stdfont]Unsichtbar?$style[stdfontend]</td>
            <td>
        $style[stdfont]
              <input type="radio" name="user[userinvisible]" value="1">
        Ja
              <input type="radio" name="user[userinvisible]" value="0" checked="checked">
        Nein$style[stdfontend]$style[smallfont]&nbsp;&nbsp;&nbsp;(Damit werden Sie nicht in der 'Useronline'-Liste aufgeführt)$style[smallfontend]</td>
          </tr>
          <tr bgcolor="$style[CellB]">
            <td width="20%">$style[stdfont]Kein Nachrichtenhinweis?$style[stdfontend]</td>
            <td>
        $style[stdfont]
              <input type="radio" name="user[usernoding]" value="1">
        Ja
              <input type="radio" name="user[usernoding]" value="0" checked="checked">
        Nein$style[stdfontend]$style[smallfont]&nbsp;&nbsp;&nbsp;(Deaktiviert die Message Box wenn Sie eine Neue Privatnachricht haben)$style[smallfontend]</td>
          </tr>


        <tr bgcolor="$style[CellA]">
          <td colspan="2">$style[stdfont]
          Mit der Registrierung akzeptieren Sie die Forumregeln auf der Vorseite bedingungslos!<br>
          <br>
          Alle Benutzereinstellungen können Sie im Profil nachträglich noch ändern, sobald Sie registriert und eingeloggt sind.Ebenfalls lässt sich im Profil noch ein Avatar (kleines Benutzerbild einstellen). $style[stdfontend]</td>
        </tr>
        <tr bgcolor="$style[color4]">
          <td colspan="2">
            <center>
              <input class="tbbutton" type="submit" name="Submit" value="Registrieren">
            </center>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</form>

Viel Spaß!

edit: Ups hab überlesen das, das schon jemand gemacht hat ;) (naja dann is hier wenigstens die Erklärung. Falls man andere Hacks drin hat und die Dateien nicht ersetzen möchte. Und sind glaub mehr Einstellungen als in JürgenS. Hab mir den eben angeschaut. Ist zumindestens in den php Dateien identisch.

Jürgen S. schrieb am 23.10.2003 um 22:16 Uhr

Hallo,
also ich hab mir das nochmal angesehen. Es sind schon die richtigen Dateien.
Bei mir läuft es auch einwandfrei. Es wird alles ordnungsgemäß eingetragen - auch der Geburtstag. Was passiert bei dir bzw. was passiert nicht?

Ja in meiner Datei fehlen die Eingabemöglichkeiten, die direkt das Forum betreffen.

Gruß

Shadow schrieb am 24.10.2003 um 15:35 Uhr

und ich hatte unabhängig ja ausversehen den Hack nen 2. mal geschrieben. Und die bday entsprechenden Stellen sind identisch mit Jürgens. Und bei mir funktioniert es auch einwandfrei. hmm

Jürgen S. schrieb am 24.10.2003 um 17:23 Uhr

Hallo,
ich weiß nun nicht, wann er die Daten runtergeladen hat.
Bei den ersten Daten ging das mit dem Geburtsdatum noch nicht. vielleicht liegt es daran.
Prüf mal, ob in der Datei do_register.php diese Einträge vorhanden sind:

if( $user['userbday_day'] == 0 || $user['userbday_month'] == 0 || $user['userbday_year'] == 0 )
    {
        $user['userbday'] = '0000-00-00';
    }
    else
    {
        $user['userbday'] = sprintf('%04d-%02d-%02d', $user['userbday_year'], $user['userbday_month'], $user['userbday_day']);
    }
$register['userbday'] = $user['userbday'];

Shadow schrieb am 24.10.2003 um 17:28 Uhr

hmm bei mir lokal gings so. Aufem Server mit 2.8 nicht. geholfen hat das hier:

// birthday stuff
// birthday stuff
$a_month = array(
    1 => 'Januar',
    2 => 'Februar',
    3 => 'M&auml;rz',
    4 => 'April',
    5 => 'Mai',
    6 => 'Juni',
    7 => 'Juli',
    8 => 'August',
    9 => 'September',
    10 => 'Oktober',
    11 => 'November',
    12 => 'Dezember'
);
$bdayform = '';

$user['userbday_year'] = (int)(substr($user['userbday'], 0, 4));
$user['userbday_month'] = (int)(substr($user['userbday'], 5, 2));
$user['userbday_day'] = (int)(substr($user['userbday'], 8, 2));

// day
$bdayform .= '<select name="user[userbday_day]" class="tbselect"><option value="0"></option>';
for( $i = 1; $i <= 31; $i++ )
{
    $bdayform .= '<option value="' . $i . '"' . ( $i == $user['userbday_day'] ? ' selected' : '' ) . '>' . sprintf('%02d', $i) . '</option>';
}
$bdayform .= '</select>';

// month
$bdayform .= '&nbsp;<select name="user[userbday_month]" class="tbselect"><option value="0"></option>';
for( $i = 1; $i <= 12; $i++ )
{
    $bdayform .= '<option value="' . $i . '"' . ( $i == $user['userbday_month'] ? ' selected' : '' ) . '>' . $a_month[$i] . '</option>';
}
$bdayform .= '</select>';

// year
$bdayform .= '&nbsp;<select name="user[userbday_year]" class="tbselect"><option value="0"></option>';
for( $i = 1930; $i <= 2000; $i++ )
{
    $bdayform .= '<option value="' . $i . '"' . ( $i == $user['userbday_year'] ? ' selected' : '' ) . '>' . $i . '</option>';
}
$bdayform .= '</select>';

nach:

else
{
    $Tframe = new Template("templates/" . $style['styletemplate'] . "/frame.html");
    $Tregform = new Template("templates/" . $style['styletemplate'] . "/register.html");

    $navpath .= "User Registrierung &raquo; Dateneingabe";

einzufügen.

Jürgen S. schrieb am 24.10.2003 um 18:38 Uhr

Hallo Shadow,
ich habs nochmal ausprobiert auf meinem Server. Da funzt das auch so.
Welche Version hast di drauf. Ich hab die 2.81 Beta

Gruß

Shadow schrieb am 24.10.2003 um 18:48 Uhr

Lokales Testboard: 2.81 Beta

Aufem Server: 2.8

Lokal funktionierts wie bei mir im Post (und bei dir)

auf 2.8 so wie in meinem letzen Post. Frag mich nicht warum. Die register sind eigentlich identisch.

MrNase schrieb am 24.10.2003 um 18:52 Uhr

Kann speziell beim Datum am Server liegen.

Shadow schrieb am 24.10.2003 um 19:39 Uhr

MrNase postete
Kann speziell beim Datum am Server liegen.

nein. Mir gehts darum das das Formular nicht angezeigt wurde. Der Teil zum Eintragen ist der selbe.

Jürgen S. schrieb am 24.10.2003 um 20:33 Uhr

Was passiert denn genau?
Wenn ich deine Seite Aufrufe und dann auf registrieren erscheint das komplette Formular.
Browsercache?

Shadow schrieb am 25.10.2003 um 00:40 Uhr

wie schon gesagt... Ich hab mein erstes Post mit meiner Hackversion durch das Post: 018 ergänzt.

Seite 1 von 2 – nächste Seite >>