Seite 1 von 1

Neues Feld in Profil 1.2.1: Ich tick gleich ab ...

Verfasst: 14.02.2004 22:31
von Wuppi
Hi

so langsam verzweifel ich :(

Ich möchte 3 Felder hinzufügen ... für alle 3 hab ich natürlich die DB erweitert. Dann schritt für schritt die Anleitung durchgegangen - bin dann allerdings etwas abgewichen: Die 3 Felder sind Felder die zu ner URL werden sollen - ähnlich YIM, ICQ, AIM usw.

Hab daher die Schritte der Anleitung bei usercp_viewprofile.php total ignoriert und mir dem YIM (Yahoo) als "Vorbild" genommen ...

z.b.

Code: Alles auswählen

$ebay_img = ( $profiledata['user_ebay'] ) ? '<a href="http://cgi6.ebay.de/ws/eBayISAPI.dll?ViewSellersOtherItems&userid=' . $profiledata['user_ebay'] . '&rd=1"><img src="' . $images['icon_ebay'] . '" alt="' . $lang['EBAY'] . '" title="' . $lang['EBAY'] . '" border="0" /></a>' : '';
$ebay = ( $profiledata['user_ebay'] ) ? '<a href="http://cgi6.ebay.de/ws/eBayISAPI.dll?ViewSellersOtherItems&userid=' . $profiledata['user_ebay'] . '&rd=1">' . $lang['EBAY'] . '</a>' : '';
Das hab ich eingefügt - aber auch sonst: überall wo AIM, ICQ und YIM steht, steht auch EBAY ... (ähnlich hab ich es auch bei anderen Dateien gemacht; da werden ja die Stellen editiert wo auch die IMs ihren Platz haben)

(Zusätzlich hab ich die subsilver.cfg geändert - wg. den Bilder der 3 Auktionen.)

Das Problem:
Es werden die Angaben nicht angezeigt. ABER: wenn ich im Adminmenu bin, dort User anschaue: die 3. Auktion steht drin. Hab mir also die user_edit_body.tpl angeschaut:

Code: Alles auswählen

 <tr> 
      <td class="row1"><span class="gen">{L_EBAY}</span></td>
      <td class="row2"> 
        <input class="post" type="text" name="ebay" size="20" maxlength="255" value="{EBAY}" />
      </td>
    </tr>
    <tr> 
      <td class="row1"><span class="gen">{L_MUENZA}</span></td>
      <td class="row2"> 
        <input class="post" type="text" name="muenza" size="20" maxlength="255" value="{MUENZA}" />
      </td>
    </tr>
    <tr> 
      <td class="row1"><span class="gen">{L_AZUBO}</span></td>
      <td class="row2"> 
        <input class="post" type="text" name="azubo" size="20" maxlength="255" value="{AZUBO}" />
      </td>
    </tr>
Groß/Klein beachtet - keine ' oder " vergessen - Namen sind auch richtig. Nur beim unteren wird nen inhalt angezeigt (in der DB haben alle 3 nen Inhalt! Das übertragen geht also)

In der admin_users.php sind alle 3 Einträge vom Aufbau identisch - keine sachen fehlen usw. - sind identisch vom Aubau her mit YIM ...

Ich find da einfach net mehr den fehler :( Die Anleitung 3-4mal durchgegangen und alles geprüft - groß/klein - nix ...

In der Profilansicht vom Board aus, sieht man den Eintrag auch net .... und beim Profieditieren sieht man auch den 3. Eintrag, der im Adminmenu geht, nicht! Ich versteh das langsam net mehr:(

Hilfe! :(
Bis denne
Wuppi

Verfasst: 14.02.2004 23:06
von Wuppi
Hi

schon nen schritt weiter:
Anzeige im Profil klappt - Anzeige im Adminmenu (um User-Profile zu ändern), klappt auch - nur im User-Profil-Menu klappt es nicht - die 3 Felder sind leer (in der db stehen se drin!) - wenn ich jetzt bei ebay z.b. was reinschreibe, wird das ebay übertragen - die leeren felder aber auch - es wird also wieder rausgelöscht aus der db ... und wenn ich im Adminmenu das Feld ebay ändere, wird das nicht geändert, sondern gelöscht - die anderen beiden bleiben aber erhalten - irgendwas ist da faul :( wo könnte da der fehler sein?

Hier noch die SQL-Teile in der usercp_register.php:

Update:

Code: Alles auswählen

SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) ."', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_ebay = '" . str_replace("\'", "''", $ebay) . "', user_muenza = '" . str_replace("\'", "''", $muenza) . "', user_azubo = '" . str_replace("\'", "''", $azubo) . "', user_birthday = '$birthday', user_next_birthday_greeting = '$next_birthday_greeting', user_sig = '" . str_replace("\'", "''", $signature) . "', user_sig_bbcode_uid = '$signature_bbcode_uid', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_notify_pm = $notifypm, user_popup_pm = $popup_pm, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_active = $user_active, user_actkey = '" . str_replace("\'", "''", $user_actkey) . "'" . $avatar_sql . "
insert:

Code: Alles auswählen

VALUES ($user_id, '" . str_replace("\'", "''", $username) . "', " . time() . ", '" . str_replace("\'", "''", $new_password) . "', '" . str_replace("\'", "''", $email) . "', '" . str_replace("\'", "''", $icq) . "', '" . str_replace("\'", "''", $website) . "', '" . str_replace("\'", "''", $occupation) . "', '" . str_replace("\'", "''", $location) . "', '" . str_replace("\'", "''", $interests) . "', '" . str_replace("\'", "''", $signature) . "', '$signature_bbcode_uid', $avatar_sql, $viewemail, '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', '" . str_replace("\'", "''", $yim) . "', '" . str_replace("\'", "''", $msn) . "', '" . str_replace("\'", "''", $ebay) . "', '" . str_replace("\'", "''", $muenza) . "', '" . str_replace("\'", "''", $azubo) . "', $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $notifypm, $popup_pm, $user_timezone, '" . str_replace("\'", "''", $user_dateformat) . "', '" . str_replace("\'", "''", $user_lang) . "', $user_style, 0, 1, '$birthday', '$next_birthday_greeting', ";
und admin_users.php
update:

Code: Alles auswählen

SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) . "', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_birthday='$birthday', user_next_birthday_greeting=$next_birthday_greeting, user_sig = '" . str_replace("\'", "''", $signature) . "', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", $aim) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_ebay = '" . str_replace("\'", "''", $ebay) . "', user_muenza = '" . str_replace("\'", "''", $muenza) . "', user_azubo = '" . str_replace("\'", "''", $azubo) . "', user_attachsig = $attachsig, user_sig_bbcode_uid = '$signature_bbcode_uid', user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowavatar = $user_allowavatar, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_allow_pm = $user_allowpm, user_notify_pm = $notifypm, user_popup_pm = $popuppm, user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_active = $user_status, user_rank = $user_rank" . $avatar_sql . "
=> es geht da um ebay, muenza und azubo - die einträge sehen doch alle identisch aus - auch sonst hab ich die 3 eigentlich überall angepasst - es scheint nur noch nen doofes dämliches detail übergeblieben zu sein :((( und ich weiß net wo ich suchen muß ...

Bis denne
Wuppi

Verfasst: 15.02.2004 08:18
von Nico Haase
ich habe letztens auch ein neues feld eingebaut, ist ne ganz schöne kleinarbeit... wenn ich dich jetzt richtig verstanden habe, wird der schon einmal eingegebene inhalt beim anzeigen des profil-änderungsformulars nicht übernommen, richtig? irgendwo in der datei includes/usercp_register.php (die verwaltet das profil-formular) gibts recht weit unten, so um zeile 800 - 900, einen langen $template->assign_vars-block. dort werden die daten, die vorher schon aus der db ausgelesen wurden, dem template zugeordnet. die felder werden also befüllt. das klappt bei mir problemlos. du musst nur dran denken, vorher das feld ggf. auch mit dem db-wert zu füllen. dazu gibts um zeile 100 die array-zuweisung $strip_var_list. dort packst du deine variablen rein mit dem namen des datenbankfeldes und sie werden dann extrahiert.

Verfasst: 15.02.2004 10:39
von Wuppi
Hi

wenns so einfach wäre :(

Ich hab ja überall wo YIM, AIM stand, meine 3 einträge dazugepappt - da kann nix fehlen .. hier die beiden stellen von dir:

Code: Alles auswählen

$strip_var_list = array('username' => 'username', 'email' => 'email', 'icq' => 'icq', 'aim' => 'aim', 'msn' => 'msn', 'yim' => 'yim', 'ebay' => 'ebay', 'muenza' => 'muenza', 'azubo' => 'azubo', 'website' => 'website', 'location' => 'location', 'occupation' => 'occupation', 'interests' => 'interests');
Bei 800-900 find ich keinen block - wohl etwas verschoben (hab noch u.a. dem Birthday-Mod drin) ... denke du meinst diesen:

Code: Alles auswählen

$template->assign_vars(array(
...
		'YIM' => $yim,
		'EBAY' => $ebay,
		'MUENZA' => $muenza,
		'AZUBO' => $azubo,	
		'ICQ' => $icq,
...
steht unter:

Code: Alles auswählen

$form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('
Wie du siehst, ist alles drin :( Das bringt mich ja zum verzweifeln :(

Hab gerade mit so nem Grep-Fähigen-Windows-Editor mal alle YIM-Stellen und alle Ebay-Stellen rausgesucht ... und übereinander gestellt - die Anzahl der YIMs und der Ebays sind identisch :( auch wo YIM groß ist, ist ebay groß - und umgekehrt ;(

=> Ich find das mal total unlogisch :(

ird der schon einmal eingegebene inhalt beim anzeigen des profil-änderungsformulars nicht übernommen, richtig?
Also: in der DB haben alle 3 Felder nen Inhalt ...
profile.php?mode=editprofile => Anzeige Null; jetzt editiere ich ALLE 3 ... ebay wird aus der DB gelöscht, die anderen bleiben erhalten
profile.php?mode=viewprofile&u=2 => Alle 3 werden richtig angezeigt. -> perfekt ;)
viewtopic.php?p= (erweiterung noch eingebaut) => alle 3 werden angezeigt (icon) -> perfekt ;)
admin/admin_users.php?... => alle 3 werden angezeigt ;) .. Editiere ich alle 3 wird ebay wieder gelöscht ... die anderen bleiben.

==> die "$sql = "UPDATE "" in der admin_users.php und der usercp_register.php sind soweit ich das sehe identisch :( (alles rund um die 3 Einträge - paar unterschiede generell sind da natürlich schon)


Ich kann leider derzeit keine .txt-Links setzen (läuft alles aufm Testforum) ... hier daher der Link zu nem Archiv wo ALLE geänderten Dateien drin sind: http://www.muenzforum.com/addfield.rar - Es sollte da 3 Felder (ebay, muenza, azubo) rein - alle 3 werden zu Links (wie beispielsweise der WWW-Button)

Bis denne
Wuppi

Verfasst: 15.02.2004 19:51
von Acid
Die Namen der 3 neuen Felder in der "users" Tabelle sind korrekt ?

Verfasst: 15.02.2004 19:59
von Wuppi
Hi

jo ... es wird ja auch in allen 3 Tabellenfeldern gespeichert ...

Die Dateien hab ich mir mehrfach angeschaut - und z.b. mit dem YIM-Beiträgen vergleichen - bis auf den Namen gleichen die sich eigentlich alle (ich seh nicht, wer sich nicht gleicht) - daher sollte das der Theorie nach doch laufen :(

Bis denne
Wuppi