PHPBB: Neues Feld im Profil um Datum in die DB zu schreiben
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Hi,
du kannst ja mal versuchen vor:

Gruß Ramon
du kannst ja mal versuchen vor:
das einzufügen:function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current_email, &$coppa, &$username, &$email, &$new_password, &$cur_password, &$password_confirm, &$icq, &$aim, &$msn, &$yim, &$website, &$location, &$user_flag, &$occupation, &$interests, &$referral, &$signature, &$viewemail, &$notifypm, &$popuppm, &$notifyreply, &$user_away, &$user_away_from, &$attachsig, &$allowhtml, &$allowbbcode, &$allowsmilies, &$hideonline, &$style, &$language, &$timezone, &$dateformat, &$allow_mass_pm, &$custom_rank, &$dstime, &$gender, &$birthday, &$realname)
vieleicht funktionierts$user_away_from = strtotime ("$y_away-$m_away-$d_away 00:00:00-0000");

Gruß Ramon
Sonst keiner ne idee?Wenn ich das entferne unter den Drop Downs:
ist nichts vorher ausgewählt aber dann ist auch nichts mehr ausgewählt wenn ich etwas gespeichert habe
Candy
Code: Alles auswählen
$s_d_first_pc = str_replace("value=\"".date("d","$user_first_pc_from")."\">", "value=\"".date("d","$user_first_pc_from")."\" SELECTED>" ,$s_d_first_pc);


Candy
okay code für die ausgabe:
$data['startdate'] ist der ursprüngliche wert aus dem feld... als default würde ich den wert von time(); nehmen
code für erzeugung des timestamps:
und dann solltest du noch folgende javascript am ende der templatedatei einfügen:
du musst natürlich den name des formulars, die namen der felder und den name der variabeln dementsprechend anpassen...
ah
$data['startdate'] ist der ursprüngliche wert aus dem feld... als default würde ich den wert von time(); nehmen
Code: Alles auswählen
$year = date('Y');
$startdate = getdate($data['startdate']);
$startdate_select = '<select name="start_day">';
for ( $i = 1; $i <= 31; $i++ )
{
$selected = ( $startdate['mday'] == $i ) ? ' selected="selected"' : '';
$null = ( strlen($i) == 1 ) ? '0' : '';
$startdate_select .= '<option value="' . $i . '"' . $selected . '>' . $null . $i . '</option>';
}
$startdate_select .= '</select> ';
$startdate_select .= '<select name="start_month" onChange="check(this.form.start_day,this,this.form.start_year)">';
for ( $i = 1; $i <= 12; $i++ )
{
$selected = ( $startdate['mon'] == $i ) ? ' selected="selected"' : '';
$startdate_select .= '<option value="' . $i . '"' . $selected . '>' . $lang['months_long'][$i-1] . '</option>';
}
$startdate_select .= '</select> ';
$startdate_select .= '<select name="start_year" onChange="check(this.form.start_day,this.form.start_month,this)">';
for ( $i = $startdate['year'] - 1; $i <= $year + 1; $i++ )
{
$selected = ( $startdate['year'] == $i ) ? ' selected="selected"' : '';
$startdate_select .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
}
$startdate_select .= '</select>';
Code: Alles auswählen
$startdate = mktime(0, 0, 0, $HTTP_POST_VARS['start_month'], $HTTP_POST_VARS['start_day'], $HTTP_POST_VARS['start_year']);
Code: Alles auswählen
<script type="text/javascript">
<!--
//
// 'Date check function' © 2002 by Saerdnaer <saerdnaer@web.de>
//
function check(field, month, year)
{
month = month.options[month.selectedIndex].value;
year = year.options[year.selectedIndex].text;
switch(month)
{
case '4':
case '6':
case '9':
case '11':
days = 30;
break;
case '2':
if ((year / 4) == Math.floor(year / 4))
{
days = 29;
}
else
{
days = 28;
}
break;
default:
days = 31;
break;
}
if (days < field.length)
{
while (days < field.length)
{
field.options[field.length-1] = null;
}
}
else if (days > field.length)
{
while (days > field.length)
{
field.options[field.length] = new Option (field.length+1);
}
}
}
check(document.post.start_day, document.post.start_month, document.post.start_year);
//-->
</script>
ah
Hi,
ich habe es jetzt hinbekommen das nicht schon von Anfang an was ausgewählt ist ( Mit dem von dir geposteten Code @saerdnaer komme ich überhaupt nicht zurecht ) ich habe es auch so umgecodet das man das Jahr in ein eingabfeld selbst angeben muss und hab eine frage dazu wenn ein user jetzt in das eingabefeld 200 eingibt statt z.b. 2003 wird trotzdem ein timestamp in die db eingefügt wie kann ich das verhindern also das wenn $user_first_pc ein falsches Datumsformat enthält eine fehlermeldung angezeigt wird nach dem absenden?
Ich habe es mir mal beim birthday Mod angesehen da wird das so gemacht:
wobei $lang['Submit_date_format'] in der lang_main.php so aussieht:
kann ich das bei der von dir geposteten lösung @MisterX genauso machen weil das ist scheinbar in einem anderen Datumsformat:
müsst ich dann dafür nur d-m-Y in Y-m-d ändern oder wie?
Grüße Candy
ich habe es jetzt hinbekommen das nicht schon von Anfang an was ausgewählt ist ( Mit dem von dir geposteten Code @saerdnaer komme ich überhaupt nicht zurecht ) ich habe es auch so umgecodet das man das Jahr in ein eingabfeld selbst angeben muss und hab eine frage dazu wenn ein user jetzt in das eingabefeld 200 eingibt statt z.b. 2003 wird trotzdem ein timestamp in die db eingefügt wie kann ich das verhindern also das wenn $user_first_pc ein falsches Datumsformat enthält eine fehlermeldung angezeigt wird nach dem absenden?
Ich habe es mir mal beim birthday Mod angesehen da wird das so gemacht:
Code: Alles auswählen
if ( $birthday <= strlen($lang['Submit_date_format']) )
{
$error = TRUE;
if( isset($error_msg) )$error_msg .= "<br />";
$error_msg .= $lang['Wrong_birthday_format'];
}
Code: Alles auswählen
$lang['Submit_date_format'] = 'd-m-Y';
Code: Alles auswählen
$user_first_pc = strtotime ("$y_first_pc -$m_first_pc -$d_first_pc 00:00:00-0000");
Grüße Candy