Welcome, Guest. Please Login or Register.
April 28, 2025, 09:01:18 PM
Home Help Search Log in Register
News: SMF is the next generation in forum software, almost completely re-written from the ground up, make sure you don't fall for cheap imitations that suffer from feature bloat!

YaBB SE Community  |  German User Help  |  Hilfe zu YaBB SE  |  Im Registrier-Formular Adress-Felder hinzufügen « previous next »
Pages: [1] Reply Ignore Print
Author Topic: Im Registrier-Formular Adress-Felder hinzufügen  (Read 1300 times)
Poxi11
Jr. Member
**
Posts: 59


YABB SE User

Im Registrier-Formular Adress-Felder hinzufügen
« on: October 28, 2002, 03:32:14 PM »
Reply with quote

Wie kann ich denn im Registrier- bzw. im Profil-Formular zusätzliche Felder einfügen, die auch in der SQL-Datenbank erfasst werden?
Logged

Ein Tag ohne Lachen ist wie ein verlorener Tag
MC600
YaBB God
*****
Posts: 968


Jetzt habe ich Zähne!

ICQ - 168723559 WWW
Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #1 on: October 28, 2002, 04:16:43 PM »
Reply with quote

Für die Anzeige bei Registrierung ist folgendes in der Register.php zu ändern (ist nur ein Beispiel):

Suche nach:
EOT;
}
print <<<EOT
    </table>
    </td>
  </tr>
</table>
EOT;

ersetzen durch:
EOT;
}
print <<<EOT
      <tr>
        <td width="40%"><font size=2>* <b>Test1:</b></font></td>
        <td><font size=2><input type=text name=test1 size=30></font></td>
      </tr><tr>
        <td width="40%"><font size=2>* <b>Test2:</b></font></td>
        <td><font size=2><input type=text name=test2 size=30></font></td>
      </tr>
    </table>
    </td>
  </tr>
</table>
EOT;

Somit hast du erstmal die Anzeige für zwei zusätzliche Felder, Rest folgt...
« Last Edit: October 28, 2002, 04:33:36 PM by MC600 » Logged

Freundliche Grüße aus Hönow - MC600 - Forum Gegen Krebs
Newsletter Service - Info´s über MOD´s von MC600 - Hier eintragen
MC600
YaBB God
*****
Posts: 968


Jetzt habe ich Zähne!

ICQ - 168723559 WWW
Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #2 on: October 28, 2002, 04:45:40 PM »
Reply with quote

Um die SQL Datenbank zu erweitern, würde dann dieser Code zum Einsatz kommen:

<?php
/*****************************************************************************/
/* dbmod.php                                                                  */
/*****************************************************************************/
/* YaBB: Yet another Bulletin Board                                          */
/* Open-Source Project started by Zef Hemel ([email protected])                 */
/* Software Version: YaBB SE                                                 */
/* ========================================================================= */
/* Software Distributed by:    http://www.yabb.info                          */
/* Support, News, Updates at:  http://www.yabb.info/community                */
/*                             http://yabb.xnull.com/community               */
/* ========================================================================= */
/* Copyright (c) 2001-2002 Lewis Media - All Rights Reserved                 */
/* Software by: The YaBB Development Team                                    */
/*****************************************************************************/
/* This program is free software; you can redistribute it and/or modify it   */
/* under the terms of the GNU General Public License as published by the     */
/* Free Software Foundation; either version 2 of the License, or (at your    */
/* option) any later version.                                                */
/*                                                                           */
/* This program is distributed in the hope that it will be useful, but       */
/* WITHOUT ANY WARRANTY; without even the implied warranty of                */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General */
/* Public License for more details.                                          */
/*                                                                           */
/* The GNU GPL can be found in gpl.txt in this directory                     */
/*****************************************************************************/
?>

<html>
<head>
   <title>YaBB SE DB Editor</title>
<style>
<!--
body {
   font-family : Verdana;
   font-size : 10pt;
}
td {
   font-size : 10pt;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<center><table border=0 cellspacing=1 cellpadding=4 bgcolor="#000000" width=90%>
<tr>
   <th bgcolor="#34699E"><font color="#FFFFFF">YaBB SE DB Editor</font></th>
</tr>
<tr>
 <td bgcolor="#FFFFFF">
<?

include_once ("Settings.php");
$error=0;
$dbcon = mysql_connect($db_server, $db_user, $db_passwd);
mysql_select_db($db_name);

/* ### DB QUERIES START ### */

$result1 = mysql_query("ALTER TABLE {$db_prefix}members ADD test1 TEXT;");
if(!$result1){
    echo "<font color=red>Error updating the DB. SQL Error: ".mysql_error()."</font><BR>";
    $error++;}
else
 echo "<font color=green>Column added!</font><BR>";

$result2 = mysql_query("ALTER TABLE {$db_prefix}members ADD test2 TEXT;");
if(!$result1){
    echo "<font color=red>Error updating the DB. SQL Error: ".mysql_error()."</font><BR>";
    $error++;}
else
 echo "<font color=green>Column added!</font><BR>";


/* ### DB QUERIES END ### */

echo "</td></tr></table>";
if($error==0)
 echo "<P>Upgrade of SQL is ok.";
elseif ($error==1)
 echo "<P>There was <B>1</B> error when upgrading your SQL.";
elseif ($error>1)
 echo "<P>There were <B>$error</B> errors when upgrading your SQL.";
?>

Kopiere die dbmod.php in das YaBB SE Verzeichnis wo sich auch die Datei settings.php befindet und führe sie danach im Browser aus. Diese Datei aktualisiert die Datenbank mit den richtigen Einträgen und kann danach gelöscht werden.
« Last Edit: October 28, 2002, 05:37:30 PM by MC600 » Logged

Freundliche Grüße aus Hönow - MC600 - Forum Gegen Krebs
Newsletter Service - Info´s über MOD´s von MC600 - Hier eintragen
MC600
YaBB God
*****
Posts: 968


Jetzt habe ich Zähne!

ICQ - 168723559 WWW
Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #3 on: October 28, 2002, 05:17:34 PM »
Reply with quote

Damit die Daten test1 und test2 auch in die Datenbank geschrieben werden, ist noch folgendes zu ändern (in der Register.php):

Suche nach:
function Register2 () {
   global $HTTP_GET_VARS,$HTTP_POST_VARS,$mbname,$emailwelcome,$Cookie_Length,$emailpassword,$color,$cgi;
   global $hideemail,$yySetLocation,$scripturl,$yyTitle,$txt,$user,$regagree,$db_prefix,$webmaster_email;
   global $allow_hide_email,$modSettings,$REMOTE_ADDR;

Ersetze durch:
function Register2 () {
   global $HTTP_GET_VARS,$HTTP_POST_VARS,$mbname,$emailwelcome,$Cookie_Length,$emailpassword,$color,$cgi;
   global $hideemail,$yySetLocation,$scripturl,$yyTitle,$txt,$user,$regagree,$db_prefix,$webmaster_email;
   global $allow_hide_email,$modSettings,$REMOTE_ADDR;
   global $test1,$test2;

Suche nach:
   $request = mysql_query("INSERT INTO {$db_prefix}members (memberName,realName,passwd,emailAddress,posts,personalText,avatar,dateRegistered,hideEmail,memberIP) VALUES ('$member[user]','$member[user]','$queryPasswdPart','$member[email]',0,'$txt[209]','blank.gif',$requesttime,'$hideemail','$memIP')");
Ersetze durch:
   $request = mysql_query("INSERT INTO {$db_prefix}members (memberName,realName,passwd,emailAddress,posts,personalText,avatar,dateRegistered,hideEmail,memberIP,test1,test2) VALUES ('$member[user]','$member[user]','$queryPasswdPart','$member[email]',0,'$txt[209]','blank.gif',$requesttime,'$hideemail','$memIP','$test1','$test2')");
Und schon sind die Daten in der Datenbank.

Beachte bitte: Das ist nur ein Beispiel, die Daten werde nur in die DB geschrieben, werden noch nicht angezeigt und können auch noch nicht editiert werden. Dazu ist noch die Datei Profile.php zu ändern. Auch werden die Daten vor dem schreiben in die DB nicht überprüft. Dieses Beispiel soll dir nur als Vorlage dienen.
Logged

Freundliche Grüße aus Hönow - MC600 - Forum Gegen Krebs
Newsletter Service - Info´s über MOD´s von MC600 - Hier eintragen
Poxi11
Jr. Member
**
Posts: 59


YABB SE User

Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #4 on: October 29, 2002, 03:02:37 PM »
Reply with quote

Dankeschön, funktioniert super!

Jetzt möcht ich nur noch wissen, wie ich es machen kann, dass das Profil-Formular sich die Daten aus der SQL-DB holt und sie auch anzeigt!
Logged

Ein Tag ohne Lachen ist wie ein verlorener Tag
MC600
YaBB God
*****
Posts: 968


Jetzt habe ich Zähne!

ICQ - 168723559 WWW
Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #5 on: October 29, 2002, 03:32:08 PM »
Reply with quote

Erst mal zur Anzeige - beim klicken auf dein Profil (dieses Beispiel bezieht sich auf den Code von oben):

Suche nach:
   $yytitle = $txt[79];
   $request = mysql_query("SELECT passwd,realName,emailAddress,websiteTitle,websiteUrl,signature,posts,memberGroup,ICQ,
AIM,YIM,gender,personalText,avatar,dateRegistered,location,birthdate,timeFormat,timeOffset,hideEmail,ID_MEMBER,usertitle,
karmaBad,karmaGood,lngfile,MSN,secretQuestion,secretAnswer FROM {$db_prefix}members WHERE memberName='$user'");
   $memsettings = mysql_fetch_array($request);

Ersetze durch:
   $yytitle = $txt[79];
   $request = mysql_query("SELECT passwd,realName,emailAddress,websiteTitle,websiteUrl,signature,posts,memberGroup,ICQ,
AIM,YIM,gender,personalText,avatar,dateRegistered,location,birthdate,timeFormat,timeOffset,hideEmail,ID_MEMBER,usertitle,
karmaBad,karmaGood,lngfile,MSN,secretQuestion,secretAnswer,test1,test2 FROM {$db_prefix}members WHERE memberName='$user'");
   $memsettings = mysql_fetch_array($request);

Suche nach:
     </tr><tr>
   <td width="45%"><font size=2><b>$txt[83]: </b></font><BR>
   <font size=1>$txt[598]</font></td>
   <td><font size=2><input type=text name=websitetitle size=50 value="$memsettings[websiteTitle]"></font></td>
      </tr><tr>
   <td width="45%"><font size=2><b>$txt[84]: </b></font><BR>
   <font size=1>$txt[599]</font></td>
   <td><font size=2><input type=text name=websiteurl size=50 value="$memsettings[websiteUrl]"></font></td>
      </tr><tr>
   <td colspan=2>
   <BR><hr width="100%" size="1" class="windowbg3"></td>

Füge hinzu
     </tr><tr>
   <td width="45%"><font size=2><b>Test1: </b></font></td><BR>
   <td><font size=2><input type=text name=test1 size=50 value="$memsettings[test1]"></font></td>
      </tr><tr>
   <td width="45%"><font size=2><b>Test2: </b></font></td><BR>
   <td><font size=2><input type=text name=test2 size=50 value="$memsettings[test2]"></font></td>
      </tr><tr>
   <td colspan=2>
   <BR><hr width="100%" size="1" class="windowbg3"></td>

Achtung! vor AIM und karmaBad habe ich im Code ENTER gedrückt, damit die Anzeige hier klappt.
« Last Edit: October 29, 2002, 03:53:07 PM by MC600 » Logged

Freundliche Grüße aus Hönow - MC600 - Forum Gegen Krebs
Newsletter Service - Info´s über MOD´s von MC600 - Hier eintragen
MC600
YaBB God
*****
Posts: 968


Jetzt habe ich Zähne!

ICQ - 168723559 WWW
Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #6 on: October 29, 2002, 03:50:42 PM »
Reply with quote

Damit die Daten im Profil auch editiert werden können ist folgendes zu ändern (in Profile.php):

Suche nach:
function ModifyProfile2 (){
   global $HTTP_POST_VARS,$username,$settings,$txt,$allowpics,$emailnewpass,$MaxSigLen,$Cookie_Length;
   global $newpassemail,$yySetCookies,$password,$realname,$realemail,$pwseed,$cookieusername,$cookiepassword;
   global $usertimeoffset,$userID,$sourcedir,$scripturl,$cgi,$boardurl,$db_prefix,$yySetLocation,$modSettings,$timeoffset;
   global $usertitle,$REMOTE_ADDR, $userpic_width, $userpic_height;

Füge an:
   global $test1,$test2;
Suche nach:
  $request = mysql_query("UPDATE {$db_prefix}members SET $queryPasswdPart $customTitlePart realName='$member[name]',emailAddress='$member[email]',websiteTitle='$member[websitetitle]',websiteUrl='$member[websiteurl]',signature='$member[signature]',posts=$member[settings6],memberGroup='$member[settings7]',ICQ='$member[icq]',MSN='$member[msn]',AIM='$member[aim]',YIM='$member[yim]',gender='$member[gender]',personalText='$member[usertext]',avatar='$member[userpic]',$member[dr]location='$member[location]',birthdate='$member[bday]',lngfile='$member[language]',memberIP='$memIP',timeFormat='$member[usertimeformat]',timeOffset=$timeOffest,secretQuestion='$member[secretQuestion]',secretAnswer='$member[secretAnswer]',hideEmail=$hideEmail$karmaStr WHERE memberName='$user'");
Ersetze durch
  $request = mysql_query("UPDATE {$db_prefix}members SET $queryPasswdPart $customTitlePart realName='$member[name]',emailAddress='$member[email]',websiteTitle='$member[websitetitle]',websiteUrl='$member[websiteurl]',signature='$member[signature]',posts=$member[settings6],memberGroup='$member[settings7]',ICQ='$member[icq]',MSN='$member[msn]',AIM='$member[aim]',YIM='$member[yim]',gender='$member[gender]',personalText='$member[usertext]',avatar='$member[userpic]',$member[dr]location='$member[location]',birthdate='$member[bday]',lngfile='$member[language]',memberIP='$memIP',timeFormat='$member[usertimeformat]',timeOffset=$timeOffest,secretQuestion='$member[secretQuestion]',secretAnswer='$member[secretAnswer]',hideEmail=$hideEmail$karmaStr,test1='$member[test1]',test2='$member[test2]' WHERE memberName='$user'");
« Last Edit: October 29, 2002, 04:09:35 PM by MC600 » Logged

Freundliche Grüße aus Hönow - MC600 - Forum Gegen Krebs
Newsletter Service - Info´s über MOD´s von MC600 - Hier eintragen
MC600
YaBB God
*****
Posts: 968


Jetzt habe ich Zähne!

ICQ - 168723559 WWW
Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #7 on: October 29, 2002, 04:08:44 PM »
Reply with quote

Zum Schluß - damit die Daten auch bei ViewProfil zur Anzeige kommen (in Profile.php) ändern:

Suche nach:
   $karmastr
        <td><font size=2><b>$txt[233]: </b></font></td>
        <td><font size=2>$dr</font></td>
      </tr><tr>
   <td colspan="2"><hr size="1" width="100%" class="windowbg3"></td>

Füge an:
     </tr><tr>
        <td><font size=2><b>Test1:</b></font></td>
        <td><font size=2>$memsettings[26]</font></td>
      </tr><tr>
        <td><font size=2><b>Test2: </b></font></td>
        <td><font size=2>$memsettings[27]</font></td>
      </tr><tr>
   <td colspan="2"><hr size="1" width="100%" class="windowbg3"></td>

Suche nach:
   $request = mysql_query("SELECT passwd,realName,emailAddress,websiteTitle,websiteUrl,signature,posts,memberGroup,ICQ,
AIM,YIM,gender,personalText,avatar,dateRegistered,location,birthdate,timeFormat,timeOffset,hideEmail,ID_MEMBER,usertitle,
karmaBad,karmaGood,lngfile,MSN FROM {$db_prefix}members WHERE memberName='$user'");

Ersetze durch:
   $request = mysql_query("SELECT passwd,realName,emailAddress,websiteTitle,websiteUrl,signature,posts,memberGroup,ICQ,
AIM,YIM,gender,personalText,avatar,dateRegistered,location,birthdate,timeFormat,timeOffset,hideEmail,ID_MEMBER,usertitle,
karmaBad,karmaGood,lngfile,MSN,test1,test2 FROM {$db_prefix}members WHERE memberName='$user'");

Achtung! vor AIM und karmaBad habe ich im Code ENTER gedrückt, damit die Anzeige hier klappt.

Das war es..., im groben.
« Last Edit: October 29, 2002, 04:13:12 PM by MC600 » Logged

Freundliche Grüße aus Hönow - MC600 - Forum Gegen Krebs
Newsletter Service - Info´s über MOD´s von MC600 - Hier eintragen
Poxi11
Jr. Member
**
Posts: 59


YABB SE User

Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #8 on: November 01, 2002, 08:43:56 AM »
Reply with quote

Also:

Das mit dem in die DB schreiben funktioniert problemlos!

Ich hab trotzdem noch ein Problem: sobald ich mir mein eigenes Profil ansehen möchte, sind die zusätzlich hinzugefügten Felder wieder leer!

Wie kann ich das beheben?
Logged

Ein Tag ohne Lachen ist wie ein verlorener Tag
MC600
YaBB God
*****
Posts: 968


Jetzt habe ich Zähne!

ICQ - 168723559 WWW
Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #9 on: November 01, 2002, 09:55:08 AM »
Reply with quote

Schau dir bitte nochmal den letzten Schritt hier an, da hast du wahrscheinlich einen Fehler eingebaut. Du kannst mir aber auch deine Profile.php per e-Mail zusenden.

PS: oder habe ich im Listing was vergessen?? Prüfe ich nochmal!

PS: Ok, habe noch mal alles geprüft. Der Code stimmt so. Beachte aber bitte meinen Hinweis von oben:

Achtung! vor AIM und karmaBad habe ich im Code ENTER gedrückt, damit die Anzeige hier klappt.
« Last Edit: November 01, 2002, 10:12:23 AM by MC600 » Logged

Freundliche Grüße aus Hönow - MC600 - Forum Gegen Krebs
Newsletter Service - Info´s über MOD´s von MC600 - Hier eintragen
Poxi11
Jr. Member
**
Posts: 59


YABB SE User

Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #10 on: November 01, 2002, 10:14:59 AM »
Reply with quote

Den letzten Schritt hab ich ausgelassen! Ich möchte nämlich nicht, dass diese Daten für alle sichtbar sind!

Ich schick Dir gern meine profile.php; vielleicht hängt es auch damit zusammen, dass die zusätzlichen Felder nicht am Ende des Profiles sind sondern mitten drin???
Logged

Ein Tag ohne Lachen ist wie ein verlorener Tag
MC600
YaBB God
*****
Posts: 968


Jetzt habe ich Zähne!

ICQ - 168723559 WWW
Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #11 on: November 05, 2002, 04:46:09 PM »
Reply with quote

Habe deine Datenfelder hinzugefügt, für andere Mitglieder unsichtbar, nur User selbst und Admin haben Zugriff. Denke mal so geht es.
Logged

Freundliche Grüße aus Hönow - MC600 - Forum Gegen Krebs
Newsletter Service - Info´s über MOD´s von MC600 - Hier eintragen
Poxi11
Jr. Member
**
Posts: 59


YABB SE User

Re:Im Registrier-Formular Adress-Felder hinzufügen
« Reply #12 on: November 06, 2002, 10:59:09 AM »
Reply with quote

Super, danke für die rasche Hilfe!
Logged

Ein Tag ohne Lachen ist wie ein verlorener Tag
Pages: [1] Reply Ignore Print 
YaBB SE Community  |  German User Help  |  Hilfe zu YaBB SE  |  Im Registrier-Formular Adress-Felder hinzufügen « previous - next »
 


Powered by MySQL Powered by PHP YaBB SE Community | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.
SMF 2.1.4 © 2023, Simple Machines
Valid XHTML 1.0! Valid CSS

Page created in 0.039 seconds with 16 queries.