Silentium
Dies ist eine vorgefertigte Schablone.
Bitte fülle soviel aus, wie dir nur Möglich ist, du kannst auch gerne noch mehr Angaben machen.
Problembeschreibung:
Bei der Registration kommt sobald man sich Registrieren will die Fehlermeldung Die Anzahl der maximal selektierbaren Elemente wurde überschritten, bitte überprüfen sie ihre Eingaben. Da schon diverse Leute diesen Fehler hatten haben wir die Profilfelderhack Sache nochmal kontrolliert finden aber keinen Fehler beim Einbau. Woran kann es denn noch liegen? Eigentlich sollte morgen Eröffnungstermin sein aber so kann man das ja knicken. Kann jemand bitte helfen?
Fehlermeldung:
Die Anzahl der maximal selektierbaren Elemente wurde überschritten, bitte überprüfen sie ihre Eingaben.
Link zum Forum und Screenshot (KEINE Bilderhoster, per Dateianhang):
ZUM FORUM
Was wurde zuletzt geändert oder eingebaut?
Bräke
Dieser Fehler kommt eigentlich nur, wenn man in einem Mehrfachauswahlfeld was auf zB 3 Auswahlmöglichkeiten beschränkt wurde, mehr als 3 auswählt.
Aktuell sehe ich beim Registrieren keine zusätzlichen Felder im Formular, es kommt aber besagte Fehlermeldung. (Sobald das Feld mit der EMail-Adresse ausgefüllt ist) Hier den Einbau nochmals kontrollieren, ob alle php-Dateien und Templates auch geändert wurden. Evt. mal die geänderten Dateien der Registrierung anhängen, damit mal jemand reinschaut.
Oder ich würde auf eine fehlerhafte Einstellungen beim Erstellen/Bearbeiten der Profilfelder, vorallem der Select-/ Multiselectfelder im ACP tippen.
Silentium
Also so wie ich mir das anschaue haben wir nicht mal Select Felder eingebaut.
Ich habe jetzt erstmal nen screensht gemacht und angehängt um diese fehlbedienung auszuschließen.
Also nachkontrolliert sind die Dateien ja deswegen habe ich jetzt auch mal die register.php angehängt.
Bräke
code: |
1:
2:
3:
4:
5:
6:
7:
|
if ($r_email==$r_email2)
{
eval("\$redirect .= \"".$tpl->get("redirect_register1")."\";");
}
else {
eval ("\$error .= \"".$tpl->get("register_error8")."\";");
} |
|
Dieser Teil verursacht den Fehler. Scheint wohl eine eigene Modifikation zu sein für ein 2. EMail-Feld.
Dieser Teil ist am unteren Ende des Codes vom Profilfelder-Hack und ist falsch eingebaut, es wird dort auch das Template aufgerufen welches besagte Fehlermeldung ausgibt.
Original:
code: |
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:
|
$result = $db->query("SELECT profilefieldid, required, title, fieldkind, fieldoptions, maxselect FROM bb".$n."_profilefields ORDER BY profilefieldid ASC");
while($row=$db->fetch_array($result)) {
$tempvalue='';
switch ($row['fieldkind']){
case 'date':
$pfh="";
if($field[$row['profilefieldid']]['day'] && $field[$row['profilefieldid']]['month'] && $field[$row['profilefieldid']]['year']) {
$pfh['year']=strlen($field[$row['profilefieldid']]['year'])==4?$field[$row['profilefieldid']]['year']:(strlen($field[$row['profilefieldid']]['year'])==2?"19".$field[$row['profilefieldid']]['year']:"0000");
$pfh['month']=$field[$row['profilefieldid']]['month'];
$pfh['day']=$field[$row['profilefieldid']]['day'];
if (!checkdate($pfh['month'],$pfh['day'],$pfh['year'])) $userfield_error=1;
else $tempvalue=implode("-",$pfh);
} else if($row['required']) $userfield_error=1;
break;
case 'multiselect':
if (is_array($field[$row['profilefieldid']]) && count($field[$row['profilefieldid']])<=$row['maxselect']) $tempvalue=implode("\n",$field[$row['profilefieldid']]);
else $userfield_mserror=1;
break;
case 'tlong' || 'tshort':
$tempvalue=addslashes($field[$row['profilefieldid']]);
break;
default:
$tempvalue=addslashes(htmlspecialchars($field[$row['profilefieldid']]));
break;
}
if($row['required'] && !$field[$row['profilefieldid']]) $userfield_error=1;
$fieldkeys.=",field".$row['profilefieldid'];
$fieldvalues.=",'".trim($tempvalue)."'";
}
if($userfield_mserror) eval ("\$error .= \"".$tpl->get("register_error8")."\";"); |
|
In deiner register.php: (Zeile 28-34)
code: |
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:
|
$result = $db->query("SELECT profilefieldid, required, title, fieldkind, fieldoptions, maxselect FROM bb".$n."_profilefields ORDER BY profilefieldid ASC");
while($row=$db->fetch_array($result)) {
$tempvalue='';
switch ($row['fieldkind']){
case 'date':
$pfh="";
if($field[$row['profilefieldid']]['day'] && $field[$row['profilefieldid']]['month'] && $field[$row['profilefieldid']]['year']) {
$pfh['year']=strlen($field[$row['profilefieldid']]['year'])==4?$field[$row['profilefieldid']]['year']:(strlen($field[$row['profilefieldid']]['year'])==2?"19".$field[$row['profilefieldid']]['year']:"0000");
$pfh['month']=$field[$row['profilefieldid']]['month'];
$pfh['day']=$field[$row['profilefieldid']]['day'];
if (!checkdate($pfh['month'],$pfh['day'],$pfh['year'])) $userfield_error=1;
else $tempvalue=implode("-",$pfh);
} else if($row['required']) $userfield_error=1;
break;
case 'multiselect':
if (is_array($field[$row['profilefieldid']]) && count($field[$row['profilefieldid']])<=$row['maxselect']) $tempvalue=implode("\n",$field[$row['profilefieldid']]);
else $userfield_mserror=1;
break;
case 'tlong' || 'tshort':
$tempvalue=addslashes($field[$row['profilefieldid']]);
break;
default:
$tempvalue=addslashes(htmlspecialchars($field[$row['profilefieldid']]));
break;
}
if ($r_email==$r_email2)
{
eval("\$redirect .= \"".$tpl->get("redirect_register1")."\";");
}
else {
eval ("\$error .= \"".$tpl->get("register_error8")."\";");
}
if($row['required'] && !$field[$row['profilefieldid']]) $userfield_error=1;
$fieldkeys.=",field".$row['profilefieldid'];
$fieldvalues.=",'".trim($tempvalue)."'";
}
if($userfield_mserror) eval ("\$error .= \"".$tpl->get("register_error8")."\";"); |
|
Silentium
Okay also ich denke das leigt an diesem Multipleemailuse Hack dann weil ich habe den Teil jetzt korrigiert und nun kann man nicht mehr die selbe emailadresse nutzen. Dann ist da iwie nen Fehler wenn man das einbaut. Na gut den sauren Apfel muss man wohl beißen. Danke für deine hilfe hauptsache registrieren funktioniert wieder.
daytona.beach
Huhu (:
Ich wollte jetzt kein neues Thema aufmachen, weil bei meinem Board das gleiche Problem besteht. Hoffe, das ist in Ordnung.
Bei mir kommt genau die gleiche Fehlmeldung. Ich denke, dass es damit zutun hat, dass ich bei den ganzen Dateien eine Änderung gemacht habe, bezgl. dem Problem mit den Umlauten und dem nicht Anzeigen der Codes.
Die bereits vorgeschlagene Lösung habe ich schon versucht, doch scheinbar liegt der Fehler bei uns woanders. Habe mal die Datei angehängt und hoffe, dass uns jemand helfen kann.