| Autor |
Nachricht |
Sascha Müller
phpBB2.de User

Anmeldungsdatum: 26.01.2005
Beiträge: 181
|
Verfasst am:
Di 14 März, 2006 02:24 |
  |
Hallo zusammen,
zunächst einmal habe ich bei dieser neuen Funktion einen Schönheitsfehler entdeckt. Es sollte in Deutsch wahrscheinlich "Profilfelder" und nicht Profilfielder" heißen.
Der echte Fehler tritt aber auf, wenn ich ein neues Profilfeld hinzufügen möchte, dann erhalte ich folgende Fehlermeldung:
| Zitat: |
Could not expand users table for new profile field.
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-feld varchar(255) DEFAULT ''' at line 2
ALTER TABLE phpbb_users ADD test-feld varchar(255) DEFAULT ''
Line : 252
File : admin_profile_fields.php |
Im Profil wird dieses neue Feld anschließend angezeigt, aber wenn ich dort etwas hineinschreibe und das Profil speichern möchte, erhalte ich folgende Fehlermeldung:
| Zitat: |
Could not update custom profile fields
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-feld = 'Test-Feld' WHERE user_id = 257' at line 2
UPDATE phpbb_users SET test-feld = 'Test-Feld' WHERE user_id = 257
Line : 775
File : usercp_register.php |
Will man einen Beitrag von einem User lesen, erhält man dann folgende Fehlermeldung:
| Zitat: |
Could not obtain post/user information.
DEBUG MODE
SQL Error : 1054 Unknown column 'u.test' in 'field list'
SELECT u.username, u.user_absence, u.user_absence_mode, u.user_id, u.user_posts, u.user_from, u.user_from_flag, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_warnings, u.user_level, u.user_allow_viewonline, u.user_session_time, u.user_birthday, u.user_next_birthday_greeting, u.user_gender, u.test-feld, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt WHERE p.topic_id = 1735 AND pt.post_id = p.post_id AND u.user_id = p.poster_id ORDER BY p.post_time ASC LIMIT 0, 20
Line : 495
File : viewtopic.php |
Löscht man das Feld anschließend im ACP wieder, bekommt man folgende Fehlermeldung zu sehen:
| Zitat: |
Could not remove column from phpbb_users
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-feld' at line 2
ALTER TABLE phpbb_users DROP COLUMN test-feld
Line : 407
File : admin_profile_fields.php |
Danach sind alle Fehlermeldungen wieder weg.
Viele Grüße
Sascha |
|
|
    |
 |
Google
|
Verfasst am:
|
 |
|
|
 |
Titus
Administrator

Anmeldungsdatum: 24.03.2004
Beiträge: 4255
|
Verfasst am:
Di 14 März, 2006 10:25 |
  |
ich denke das "-" ist hier ein problem, werde mir das nochmal ansehen |
_________________ "geht nicht" ist keine Fehlerbeschreibung mit der man was anfangen kann
bei Fragen erst suchen
Downloads gibts hier und da |
|
   |
 |
Titus
Administrator

Anmeldungsdatum: 24.03.2004
Beiträge: 4255
|
Verfasst am:
Di 14 März, 2006 10:47 |
  |
ich würde vorläufig vorschlagen KEINE felder anzulegen, da ich denke ich die funktion welche das feld standardkonform macht mal überarbeiten sollte |
_________________ "geht nicht" ist keine Fehlerbeschreibung mit der man was anfangen kann
bei Fragen erst suchen
Downloads gibts hier und da |
|
   |
 |
Titus
Administrator

Anmeldungsdatum: 24.03.2004
Beiträge: 4255
|
Verfasst am:
Di 14 März, 2006 11:47 |
  |
Hier die überarbeiteten Dateien |
_________________ "geht nicht" ist keine Fehlerbeschreibung mit der man was anfangen kann
bei Fragen erst suchen
Downloads gibts hier und da |
|
   |
 |
Sascha Müller
phpBB2.de User

Anmeldungsdatum: 26.01.2005
Beiträge: 181
|
Verfasst am:
Di 14 März, 2006 14:44 |
  |
Folgendes Vorgehen:
- Neues Feld im ACP angelegt:
- Feld-Namen: Test-Feld
- Feld Beschreibung: Dieses Feld ist nur zum Test
- Feld im Profil wie folgt gefüllt: Test-Feld
- Profil gespeichert
- ACP
- Profilfelder, Bearbeiten
- Bearbeiten
- Anzeige in Themen aktiviert und gespeichert
- Folgender Fehler wird erzeugt:
| Zitat: |
Field exists
DEBUG MODE
SELECT test_feld FROM phpbb_users WHERE user_id = 257 LIMIT 1
Line : 182
File : admin_profile_fields.php |
|
|
|
    |
 |
Titus
Administrator

Anmeldungsdatum: 24.03.2004
Beiträge: 4255
|
Verfasst am:
Di 14 März, 2006 16:19 |
  |
weil das feld schon agelegt wurde (vermutlich vorher)
da mysql keien feldnamen mit "-" nimmt werden diese wie auch alle unerwünschten zeichen zu "_" damit kann es dann zu überschenidungen kommen wenn du z.b:
test-feld
und
testäfeld
anlegst, weil hier beide male test_feld als feldname genommen wird, lässt sich aber leider nicht anders realisieren |
_________________ "geht nicht" ist keine Fehlerbeschreibung mit der man was anfangen kann
bei Fragen erst suchen
Downloads gibts hier und da |
|
   |
 |
Sascha Müller
phpBB2.de User

Anmeldungsdatum: 26.01.2005
Beiträge: 181
|
Verfasst am:
Di 14 März, 2006 16:29 |
  |
Naja, das Attribut kann man ja zur Not auch direkt in der Datenbank setzen.
Also am besten kein "-" und keine Sonderzeichen verwenden! |
|
|
    |
 |
onnicon
phpBB2.de User


Anmeldungsdatum: 13.11.2004
Beiträge: 191
|
Verfasst am:
Mi 15 März, 2006 13:57 |
  |
tach zusammen...
es gibt noch ein prob... wenn kein feld angelegt worden ist, kann man das profil im acp zwar bearbeiten, aber beim speichern gibt es eine fehlermeldung.
| Code: |
Could not update custom profile fields
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE user_id = 2' at line 3
UPDATE phpbb_users SE WHERE user_id = 2
Line : 993
File : admin_users.php |
wenn ein feld angelegt ist geht alles. |
|
|
    |
 |
hansmaul
phpBB2.de User

Anmeldungsdatum: 21.02.2006
Beiträge: 15
|
Verfasst am:
So 19 März, 2006 21:25 |
  |
das sollte als lösung genügen
| Code: |
//
// Custom Profile Fields MOD
//
$profile_data = get_fields();
$profile_names = array();
$sql2 = "UPDATE " . USERS_TABLE . "
SET ";
$profile_fields_count = 0;
foreach($profile_data as $fields)
{
$profile_fields_count++;
$name = text_to_column($fields['field_name']);
$type = $fields['field_type'];
$required = $fields['is_required'] == REQUIRED ? true : false;
$temp = $HTTP_POST_VARS[$name];
if($type == CHECKBOX)
{
$temp2 = '';
if ($temp)
foreach($temp as $temp3)
$temp2 .= htmlspecialchars($temp3) . ',';
$temp2 = substr($temp2,0,strlen($temp2)-1);
$temp = $temp2;
}
else
$temp = is_numeric($temp) ? intval($temp) : htmlspecialchars($temp);
$profile_names[$name] = $temp;
$sql2 .= $name . " = '".str_replace("\'","''",$profile_names[$name])."', ";
}
$sql2 = substr($sql2,0,strlen($sql2)-2)."
WHERE user_id = ".$this_userdata['user_id'];
if ( $profile_fields_count > 0 )
{
if(!$db->sql_query($sql2))
{
message_die(GENERAL_ERROR,'Could not update custom profile fields','',__LINE__,__FILE__,$sql2);
}
}
//
// END Custom Profile Fields MOD
//
|
|
|
|
   |
 |
DESIRE1977
phpBB2.de User

Anmeldungsdatum: 10.03.2006
Beiträge: 26
|
Verfasst am:
Di 21 März, 2006 12:16 |
  |
| Code: |
Allgemeiner Fehler
Could not update custom profile fields
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE user_id = 5' at line 3
UPDATE phpbb2_users SE WHERE user_id = 5
Line : 1000
File : admin_users.php |
Jetzt habe ich diese Meldung.
EDIT: http://www.phpbb2.de/fpost191708.html#191708
Nach diesem Update geht es nun.
THX @Titus |
|
|
   |
 |
Timo
phpBB2.de User


Anmeldungsdatum: 30.09.2003
Beiträge: 112
Wohnort: Wahlstedt
|
Verfasst am:
Mi 22 März, 2006 18:02 |
  |
Hallo,
bei mir gibt es Probleme, wenn ich etwas an einem ProfielFeld ändern will.
Beim Speichern bekomme ich die Meldung:
| Zitat: |
Allgemeiner Fehler
Field exists
DEBUG MODE
SELECT test2 FROM phpbb_users WHERE user_id = 2 LIMIT 1
Line : 182
File : admin_profile_fields.php
|
Gruß Timo |
|
|
    |
 |
Titus
Administrator

Anmeldungsdatum: 24.03.2004
Beiträge: 4255
|
Verfasst am:
Mi 22 März, 2006 23:51 |
  |
open
admin_profile_fields.php
find
| Code: |
else if ($old_name)
|
replace wirh
| Code: |
else if ( $old_name != $name )
|
|
_________________ "geht nicht" ist keine Fehlerbeschreibung mit der man was anfangen kann
bei Fragen erst suchen
Downloads gibts hier und da |
|
   |
 |
ScaryMule
phpBB2.de User

Anmeldungsdatum: 23.03.2006
Beiträge: 9
|
Verfasst am:
Do 23 März, 2006 00:37 |
  |
Hallo,
bei mir gibt es Probleme
bitte help
| Zitat: |
| Couldn't get file info for this category DEBUG MODE SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 10 SELECT f1.*, f1.file_id, r.votes_file, AVG(r.rate_point) AS rating, COUNT(r.votes_file) AS total_votes, u.user_id, u.username, COUNT(c.comments_id) AS total_comments FROM phpbb_pa_files AS f1 LEFT JOIN phpbb_pa_votes AS r ON f1.file_id = r.votes_file LEFT JOIN phpbb_users AS u ON f1.user_id = u.user_id LEFT JOIN phpbb_pa_comments AS c ON f1.file_id = c.file_id WHERE f1.file_pin = 1 AND f1.file_approved = 1 AND f1.file_catid = 3 GROUP BY f1.file_id ORDER BY Line : 898 File : functions_pafiledb.php |
|
|
|
   |
 |
Titus
Administrator

Anmeldungsdatum: 24.03.2004
Beiträge: 4255
|
Verfasst am:
Do 23 März, 2006 11:58 |
  |
@ScaryMule
dein problem betrifft aber einn ganz anderen bereich des Forums
sieh mal nach ob pafiledb/cache CHMOD 777 hat und ob dort eine datei global_data.php zu finden ist |
_________________ "geht nicht" ist keine Fehlerbeschreibung mit der man was anfangen kann
bei Fragen erst suchen
Downloads gibts hier und da |
|
   |
 |
ScaryMule
phpBB2.de User

Anmeldungsdatum: 23.03.2006
Beiträge: 9
|
Verfasst am:
Do 23 März, 2006 16:45 |
  |
hi Titus danke
the pafiledb/cache CHMOD 777 ist ok,habe ich finden keine eine global_data.php
gross |
|
|
   |
 |
|
|
|
|