Profielopties weghalen
Geplaatst: 28 mar 2004, 17:55
Ik wil wat opties in het profiel weghalen zoals tijdszone en forum taal.
Wat moet ik precies weghalen (en waar)?
Wat moet ik precies weghalen (en waar)?
<input type="hidden" name="{NAAM}" value="{WAARDE}"/>
Code: Selecteer alles
<input type="text" class="post"style="width: 150px" name="aim" size="20" maxlength="255" value="{AIM}"/>Code: Selecteer alles
<input type="hidden" name="{L_AIM}" value="{AIM}"/>Code: Selecteer alles
<tr>
<td class="row1"><span class="gen">{L_AIM}:</span></td>
<td class="row2">
<input type="text" class="post"style="width: 150px" name="aim" size="20" maxlength="255" value="{AIM}" />
</td>
</tr>Code: Selecteer alles
<input type="hidden" name="aim" value="{AIM}"/>Er zijn 2 members online :: 2 Geregisteerd, 0 Verborgen en 0 Gasten
Code: Selecteer alles
<input type="hidden" name="hideonline" value="0"/>Code: Selecteer alles
UPDATE phpbb_users
SET user_allow_viewonline = 1;Ok , dan ga ik dat ff wijzigen , die optie komt er dan ook niet meer te staan als mensen registreren?? ( denk van nietmosymuis schreef:Je kunt die optie wegsnijden uit de profielen ja, en bijvoorbeeld vervangen voor
als je wilt dat alle leden altijd zichtbaar zijn. Een SQL query maakt het dan af:Code: Selecteer alles
<input type="hidden" name="hideonline" value="0"/>
Code: Selecteer alles
UPDATE phpbb_users SET user_allow_viewonline = 1;
Nope...Erulezz schreef:Die optie komt er dan ook niet meer te staan als mensen registreren?? ( denk van niet)
Code: Selecteer alles
</tr>
<tr>
<td class="row1"><span class="gen">{L_PUBLIC_VIEW_EMAIL}:</span></td>
<td class="row2">
<input type="radio" name="viewemail" value="1" {VIEW_EMAIL_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="viewemail" value="0" {VIEW_EMAIL_NO} />
<span class="gen">{L_NO}</span></td>
</tr>
<tr>
<td class="row1"><span class="gen">{L_HIDE_USER}:</span></td>
<td class="row2">
<input type="radio" name="hideonline" value="1" {HIDE_USER_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="hideonline" value="0" {HIDE_USER_NO} />
<span class="gen">{L_NO}</span></td>
Code: Selecteer alles
<tr>
<td class="row1"><span class="gen">{L_HIDE_USER}:</span></td>
<td class="row2">
<input type="radio" name="hideonline" value="1" {HIDE_USER_YES} />
<span class="gen">{L_YES}</span>
<input type="radio" name="hideonline" value="0" {HIDE_USER_NO} />
<span class="gen">{L_NO}</span></td>
</tr>Die verandert voor iedereen de instelling zodat ze zichtbaar zijn.Erulezz schreef:maar wat doet die SQL query?
ik heb dat eerst stuk code gewoon helemaal weggehaald. dat kan ook of niet?mosymuis schreef:Nee;
dit moetCode: Selecteer alles
<tr> <td class="row1"><span class="gen">{L_AIM}:</span></td> <td class="row2"> <input type="text" class="post"style="width: 150px" name="aim" size="20" maxlength="255" value="{AIM}" /> </td> </tr>
dit worden.Code: Selecteer alles
<input type="hidden" name="aim" value="{AIM}"/>
Volgens mij houdt ie de waarde die standaard in de database zit moos, dus eigenlijk kan je in dit geval alles gewoon verwijderen.mosymuis schreef:Dat kan, maar het is netter om er een hidden input voor terug te plaatsen. Nu krijgt PHP geen waarde aangereikt en plaatst hij dus user_aim= '' in de database query. Het zou beter zijn wanneer dat user_aim= '0' zou zijn, omdat je deze waarde dan later ook terug zou kunnen veranderen.
Als je hem waarde 1 mee wilt geven is het zelfs verplicht, omdat deze anders zou veranderen naar 0, elke keer dat iemand zijn profiel zou updaten.
Nee, bij elke UPDATE voert hij alle waardes opnieuw in. Bij bijvoorbeeld pagina's in het adminpanel is dat inderdaad niet zo.-=|Rik|=- schreef:Volgens mij houdt ie de waarde die standaard in de database zit moos, dus eigenlijk kan je in dit geval alles gewoon verwijderen.
Ja, maar wat doet hij voor die update? Juist hij haalt alle waardes uit de database, dus tenzij je iets in een veld veranderd, veranderd er niks.mosymuis schreef:Nee, bij elke UPDATE voert hij alle waardes opnieuw in. Bij bijvoorbeeld pagina's in het adminpanel is dat inderdaad niet zo.-=|Rik|=- schreef:Volgens mij houdt ie de waarde die standaard in de database zit moos, dus eigenlijk kan je in dit geval alles gewoon verwijderen.
Dus het gaat om de var $aim. Deze wordt door deze stappen heen geleid... (van onder naar boven)$sql = "UPDATE " . USERS_TABLE . "
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_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 . "
WHERE user_id = $user_id";
Code: Selecteer alles
$aim = stripslashes($aim);Code: Selecteer alles
validate_optional_fields($icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature);Code: Selecteer alles
$strip_var_list = array('username' => 'username', 'email' => 'email', 'icq' => 'icq', 'aim' => 'aim', 'msn' => 'msn', 'yim' => 'yim', 'website' => 'website', 'location' => 'location', 'occupation' => 'occupation', 'interests' => 'interests');Code: Selecteer alles
while( list($var, $param) = @each($strip_var_list) )
{
if ( !empty($HTTP_POST_VARS[$param]) )
{
$$var = trim(htmlspecialchars($HTTP_POST_VARS[$param]));
}
}Code: Selecteer alles
user_aim = '" . str_replace("\'", "''", str_replace(' ', '+', '')) . "'