Jetzt kostenlos Anmelden!

googlehupf

postet ab und an hier

1

Sonntag, 6. Januar 2008, 20:44

Pflichtfelder fehlen bei der Registrierung

Hallo,

bei der Neuanmeldung (login/register.php) werden die Pflichtfelder nicht angezeigt. Es wird nur nach username und email-Adresse gefragt.

Phpkit Version ist 1.6.03, Pflichtfelderhack und Dropdown-Hack ist installiert. So sieht die Datei aus:

[klapp]

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
<?php
// no_spam by http://www.oberlausitz-community.de/ 2007
require("cryptoclass/cryptoclass.php");
$crypt = new Encryption;
// original code

if (isset($_POST['action'])) $ACTION=$_POST['action'];
else $ACTION='view';

// no_spam by http://www.oberlausitz-community.de/ 2007
 mt_srand ((double) microtime() * 1000000);
 $chars "0123456789";
 for ($i 0$i 4$i += 1) {
  $num mt_rand(0strlen($chars)-1);
  $setcode .= $chars[$num];
 }
// Schlüssel bitte ändern
// !Achtung, bitte nur aus folgenden Zeichen zusammensetzen)
// 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_*-$!
  $key "XXXX";
  $encrypted_data $crypt->encrypt($key$setcode$sourcelen 4);
// original code

if (isset($_POST['action'])) $ACTION=$_POST['action'];
else $ACTION='view';

if ($config['user_registry']!=&& $config[user_registry]!=2) {header ("location: include.php?event=21&PHPKITSID=".session_id()); exit();}
elseif ($ACTION==$_POST['refuse']) {header ("location: include.php?path=start.php&PHPKITSID=".session_id()); exit();}
elseif (($ACTION==$_POST['accept'] && $config['user_disclaimer']==1) || $config['user_disclaimer']==|| $ACTION==$_POST['send'] || $_REQUEST['disclaimer']==1) {
 $disclaimer=1;
 if ($ACTION==$_POST['send']) {
  if (isset($_POST['newuser'])) $newuser=$_POST['newuser'];
  if (isset($_POST['newemail'])) $newemail=$_POST['newemail'];
  if (isset($_POST['newemail2'])) $newemail2=$_POST['newemail2'];
  if (isset($_POST['newpass'])) $newpass=$_POST['newpass'];
  if (isset($_POST['newpass2'])) $newpass2=$_POST['newpass2'];

/********************************  Pflichtfeld Anfang  ********************************/
  if (isset($_POST['user_bd_day'])) $user_bd_day=addslashes($_POST['user_bd_day']);
  if (isset($_POST['user_bd_month'])) $user_bd_month=addslashes($_POST['user_bd_month']);
  if (isset($_POST['user_bd_year'])) $user_bd_year=addslashes($_POST['user_bd_year']);
  if (isset($_POST['ud_country'])) $user_country=addslashes($_POST['ud_country']);
  if (isset($_POST['ud_sex'])) $user_sex=addslashes($_POST['ud_sex']);

  if(is_array($_POST['feld_id']))
  foreach($_POST['feld_id'] as $id => $value){
  $felder=$DB->fetch_array($DB->query("SELECT * FROM `".$db_tab['profilefields']."` WHERE `profilefields_id`='".intval($id)."' LIMIT 1"));
  if($felder['profilefields_pflicht']==1){
  if($value=="") {$error1=TRUE$ausgabe_error=$felder['profilefields_name'];}}
   if($felder['profilefields_area']==AND $felder['profilefields_drop_down']==0){
  if(preg_match('/[^-.0-9]/'$value)) $error2=TRUE;}}

  if ($_POST['ud_sex']=='d'$error=23;
  elseif ($_POST['user_bd_month']==or $_POST['user_bd_day']==or $_POST['user_bd_year']==0$error=22;
  elseif(!checkdate($_POST['user_bd_month'],$_POST['user_bd_day'],$_POST['user_bd_year'])) $error=21;
  elseif ($_POST['ud_country']=='def' or $_POST['ud_country']=='00' or $_POST['ud_country']==''$error=24;
  elseif ($error1$error=20;
  elseif ($error2$error=25;
/********************************  Pflichtfeld Ende    ********************************/

/********************************  Pflichtfeld Anfang. Original wir nur angepasst  ********************************/
  elseif (!checkusername($newuser)) {unset($newuser); $error=3;}
/********************************  Pflichtfeld Ende. Original wir nur angepasst    ********************************/
  elseif (!emailcheck($newemail,1)) $error=5;
  elseif ($config['user_registry']==&& $newemail!=$newemail2$error=6;
  elseif ($config['user_registry']==&& ($newpass=="" or $newpass2=="")) $error=7;
  elseif ($config['user_registry']==&& ($newpass!=$newpass2)) $error=8;
  // no_spam by http://www.oberlausitz-community.de/ 2007
  elseif ($crypt->decrypt($key,$_REQUEST['crashcode']) != strtolower($_REQUEST['inputchars']) || strlen($_REQUEST['inputchars']) != 4$error=9;
// Orginal Code
  else {
   $user=$DB->fetch_array($DB->query("SELECT COUNT(*) FROM ".$db_tab['user']." WHERE user_name='".$newuser."' OR user_nick='".$newuser."' LIMIT 1"));
   if ($user[0]>0$error=3;
   else {
    $email=$DB->fetch_array($DB->query("SELECT COUNT(*) FROM ".$db_tab['user']." WHERE user_email='".$newemail."' LIMIT 1"));
    if ($email[0]>0$error=4;
    else {
     srand((double) microtime()*1000000); 
     $uid=md5(uniqid(rand()));
     if ($config['user_registry']==1$password=getpassword();
     else $password=$newpass;
    $sqlpassword=md5($password);

/********************************  Pflichtfeld Anfang. Original wir nur angepasst  ********************************/
     $DB->query("INSERT INTO ".$db_tab['user']." (uid, user_name, user_nick, user_pw, user_email, user_status, signin, lastlog, user_activate, user_sex, user_country, user_bd_day, user_bd_month, user_bd_year) VALUES ('$uid','".$newuser."','".$newuser."','".$sqlpassword."','".$newemail."','user','".time()."','".time()."','".$config['user_activate']."','".$user_sex."','".$user_country."','".$user_bd_day."','".$user_bd_month."','".$user_bd_year."')");
/********************************  Pflichtfeld Ende. Original wir nur angepasst    ********************************/
     $info=$DB->insert_id();

/********************************  Pflichtfeld Anfang  ********************************/
if($info>0){
$DB->query("INSERT INTO `".$db_tab['userfields']."` (userid) VALUES ('".$info."')");
foreach($_POST['feld_id'] as $ids => $value){
$DB->query("UPDATE `".$db_tab['userfields']."` set `field_".intval($ids)."`='".addslashes($value)."' WHERE `userid`='".addslashes($info)."' LIMIT 1");}
}
/********************************  Pflichtfeld Ende    ********************************/

     $mail_link=$config[site_url]."/include.php?user=".urlencode($newuser)."&userpw=".$password."&firstlog=1";
     eval ("\$mail_title= \"".getTemplate("register_mail_title")."\";");

    if ($config['user_activate']==1) eval ("\$mail_addtext= \"".getTemplate("register_mail_activate1","")."\";");
    else eval ("\$mail_addtext= \"".getTemplate("register_mail_activate0")."\";");

     if ($config['user_registry']==2) eval ("\$mail_text= \"".getTemplate("register_mail_2","")."\";");
    else eval ("\$mail_text= \"".getTemplate("register_mail_1")."\";");

     if (mailsender($newemail,$mail_title,$mail_text)) {
      if ($config['user_activate']==1$event=4;
      else $event=24; 
      
      $mail_title=$config['site_name'].': '.$lang['new_user'].' '.$newuser;
      eval ("\$mail_text= \"".getTemplate("register_mail_notify")."\";");      
      notifymail('register',$mail_title,$mail_text);
      
      $im_title=$lang['new_user'].': '.$newuser; 
      eval ("\$im_text= \"".getTemplate("register_im_notify")."\";");      
      notifyim('register',$im_title,$im_text);
      }
     else $event=35;
     }
    }
   }
  if ($error=='' && $config['user_registry']==1) {header ("location: include.php?event=".$event."&PHPKITSID=".session_id()); exit();}
  elseif ($error=='' && $config['user_registry']==2) {header ("location: include.php?remove_path=".urlencode("path=login/edtprofil.php")."&user=".$newuser."&userpw=".$newpass."&login=1"); exit();}
  }

 if (isset($_REQUEST['error'])) $error=$_REQUEST['error'];
 if (isset($error)) {
  if ($error>=1) {eval ("\$error_message= \"".getTemplate("register_error_".$error."")."\";");} 
  if ($config['user_registry']==2) {eval ("\$error_message= \"".getTemplate("register_error2")."\";");}
  else eval ("\$error_message= \"".getTemplate("register_error","")."\";");
  }

/********************************  Pflichtfeld Anfang  ********************************/
 if($_POST['ud_sex']=='d'$user_sex_option_0=' selected';
 if($_POST['ud_sex']=='w'$user_sex_option_1=' selected';
 if($_POST['ud_sex']=='m'$user_sex_option_2=' selected';

 if ($_POST['ud_country']=='ger'$user_country_1='selected';
 elseif ($_POST['ud_country']=='aut'$user_country_2='selected';
 elseif ($_POST['ud_country']=='ch'$user_country_3='selected';
 elseif ($_POST['ud_country']=='nl'$user_country_4='selected';
 elseif ($_POST['ud_country']=='oth'$user_country_5='selected';
 else $user_country_0='selected';

 $day=range(1,31);
 foreach($day as $d) {
 $bd_option_day.='<option value="'.$d.'"';
 if ($_POST['user_bd_day']==$d$bd_option_day.=' selected';
 $bd_option_day.='>'.$d.'</option>';
 }
 foreach($lang['all_month'] as $m) {
 if ($m[0]!=0) {
 $bd_option_month.='<option value="'.$m[0].'"'; 
 if ($_POST['user_bd_month']==$m[0]) $bd_option_month.=' selected';
 $bd_option_month.='>'.$m[1].'</option>';
 }
 }
 $year=range(1950,date("Y"time()));
 foreach($year as $y) {
 $bd_option_year.='<option value="'.$y.'"';
 if ($_POST['user_bd_year']==$y$bd_option_year.=' selected';
 $bd_option_year.='>'.$y.'</option>';
 }

 $fehler=$_POST['feld_id'];
 if($config['user_registry']==1) {$anzeige1=''$anzeige2='';}
 elseif($config['user_registry']==2) {$anzeige1='width="25%"'$anzeige2='width="75%" colspan="2"';}
 else {$anzeige1=''$anzeige2='';}
 $getfeld=$DB->query("SELECT * FROM ".$db_tab['profilefields']." WHERE profilefields_pflicht=1 ORDER by profilefields_order ASC");
 while($info_feld $DB->fetch_array($getfeld)) {
 $fieldname=$info_feld['profilefields_name'];
 $name=$info_feld['profilefields_id'];
 $value=$fehler[$info_feld['profilefields_id']];
 $fielddescription=$info_feld['profilefields_description'];
 /********************* Dropdown Anfang *********************/
if($info_feld['profilefields_drop_down']==1) {
$getdrops=$DB->query("SELECT * FROM `".$sqlprefix."_dropdown` WHERE `id_field`='".intval($info_feld['profilefields_id'])."' ORDER by `id_sort` ASC"); 
while ($drops=$DB->fetch_array($getdrops)) {
$info_drop.='<option value="'.$drops['text'].'"';
if ($value==$drops['text']) $info_drop.=' selected';
$info_drop.='>'.htmlentities(stripslashes(trim($drops['text']))).'</option>';
}
if($info_feld['profilefields_drop_down']==1$pflichtfeld='<span style="color:#d70007;">*</span>';
eval ("\$editprofile_userfield.= \"".getTemplate("register_userfield_drop")."\";");
unset($info_drop);
unset($pflichtfeld);}
elseif($info_feld['profilefields_pflicht']=="0" AND $info_feld['profilefields_area']=="0"){ unset($pflichtfeld);
/********************* Dropdown Ende ***********************/
 eval ("\$editprofile_userfield.= \"".getTemplate("register_userfield")."\";");}
 elseif($info_feld['profilefields_pflicht']=="0" AND $info_feld['profilefields_area']=="1"){ unset($pflichtfeld);
 eval ("\$editprofile_userfield.= \"".getTemplate("register_userfield_area")."\";");}
 elseif($info_feld['profilefields_pflicht']=="0" AND $info_feld['profilefields_area']=="2"){ unset($pflichtfeld);
 eval ("\$editprofile_userfield.= \"".getTemplate("register_userfield_num")."\";");}
 elseif($info_feld['profilefields_pflicht']=="1" AND $info_feld['profilefields_area']=="0"){$pflichtfeld='<span style="color:#d70007;">*</span>';
 eval ("\$editprofile_userfield.= \"".getTemplate("register_userfield")."\";");}
 elseif($info_feld['profilefields_pflicht']=="1" AND $info_feld['profilefields_area']=="1"){$pflichtfeld='<span style="color:#d70007;">*</span>';
 eval ("\$editprofile_userfield.= \"".getTemplate("register_userfield_area")."\";");}
 elseif($info_feld['profilefields_pflicht']=="1" AND $info_feld['profilefields_area']=="2"){$pflichtfeld='<span style="color:#d70007;">*</span>';
 eval ("\$editprofile_userfield.= \"".getTemplate("register_userfield_num")."\";");}
 }
/********************************  Pflichtfeld Ende    ********************************/

 if ($config['user_registry']==2) eval ("\$site_body.= \"".getTemplate("register2")."\";");
 else eval ("\$site_body.= \"".getTemplate("register")."\";");
 }
else eval ("\$site_body.= \"".getTemplate("register_termsofuse")."\";");
[/klapp]

Hat jemand eine Idee, woran das liegen könnte?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »googlehupf« (8. Januar 2008, 21:25)

  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

2

Dienstag, 8. Januar 2008, 13:38

Sorry für's pushen, aber hat niemand eine Idee?
  • Zum Seitenanfang
  • Zum Seitenende

jerryGFL Männlich

postet ab und an hier

Beiträge: 243

Geschlecht: Männlich

PHPKIT Version: 1.6.1

3

Dienstag, 8. Januar 2008, 13:41

poste mal noch deine templates da muss man nämlich die variablen noch einbinden also die register.htm und register2.htm falls du da noch nix angepassthaben solltest
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

4

Dienstag, 8. Januar 2008, 13:44

Hi Jerry,

post ich heute Abend mal, im Moment gehts leider nicht. Danke schonmal
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

5

Dienstag, 8. Januar 2008, 20:01

Hi, anbei die templates.
»googlehupf« hat folgende Datei angehängt:
  • trope.rar (1,53 kB - 2 mal heruntergeladen - zuletzt: 8. Januar 2008, 20:52)
  • Zum Seitenanfang
  • Zum Seitenende

jerryGFL Männlich

postet ab und an hier

Beiträge: 243

Geschlecht: Männlich

PHPKIT Version: 1.6.1

6

Dienstag, 8. Januar 2008, 20:44

jo dir fehlt bei beiden templates dei variable zum anzeigen der profil felder. Ich hatte ja gesehen in einem anderne thread dass du die herkunft gelöscht hast, vllt hast du dabei ausversheen auch die profilefelder und dasgeburtsdatum gelöscht welches auch fehlt. Sag mir nochmal ganz genau was du bei der registrierung haben willst.

Geburtsdatum optional
Herkunft nicht
aber deine pflichtfelder die du erstellt hast?

dann kann ich dir nen template schicken.

Für jetzt sage ich dir noch dieses hier:
suche:

Zitat

<tr>
<td class="heads" colspan="3" align="center">
<input type="submit" name="action" value="$lang[send]" />
<input type="hidden" name="send" value="$lang[send]" /></td>
</tr>
</form>
</table>
füge direkt davor ein:

Zitat

$editprofile_userfield
mfg
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

7

Dienstag, 8. Januar 2008, 21:30

Hi, funktioniert super.

Allerdings fehlt das Geburtsdatum, kann nicht erkennen warum... Wenn ich die Registrierungabschicken will, erhalte ich auch die Fehlermeldung, dass ich das Geburtsdatum angeben soll. (die Eingabe sollte aber auf freiwilliger Basis sein)

Anbei mal meine register.php, register1/2.htm
»googlehupf« hat folgende Datei angehängt:
  • register.rar (4,56 kB - 4 mal heruntergeladen - zuletzt: 17. März 2008, 13:25)
  • Zum Seitenanfang
  • Zum Seitenende

jerryGFL Männlich

postet ab und an hier

Beiträge: 243

Geschlecht: Männlich

PHPKIT Version: 1.6.1

8

Dienstag, 8. Januar 2008, 23:11

in der register.php bitte die änderung durchführen die ich hier gepostet habe:

Geburtsdatum als freiwilliges Feld einrichten

dann füge in beiden templates vor

Zitat

$editprofile_userfield
das hier ein:

Zitat

<tr>
<td class="left">Geburtsdatum</td>
<td class="right">
<select name="ud_bd_day" size="1">
<option value="0">Tag</option>
$bd_option_day
</select>
<select name="ud_bd_month" size="1">
<option value="0">Monat</option>
$bd_option_month
</select>
<select name="ud_bd_year" size="1">
<option value="0">Jahr</option>
$bd_option_year
</select></td>
<td class="right">
<font class="small">Geben Sie Ihr Geburtsdatum an.</font></td>
</tr>
mfg ich hoffe es klappt
  • Zum Seitenanfang
  • Zum Seitenende