Zitat geschrieben von
Nano.v1
hmm, du mußt im prinzip nen neues profilfeld anlegen, dort per checkbox o.ä. nen wahrheitswert in die db schreiebn (am besten unter prefix_user:loginsound (oder so, mußt aber selbst in der datenbank anlegen) und beim login auswerten, ausgelessen würde er schon werden, du müßtest jetzt also lediglich per case-anweisung den wahrheitswert zum user lesen und function abrufen oder ebend nicht
Das Profilfeld und die DB Tabelle ist kein Problem und ist erledigt.
Nur das abrufen der Einstellung ist für mich das Problem.
meine profil_edit.htm hat nun folgenden zusätzlichen Eintrag:
<tr class="Cnorm" align="left" valign="top">
<td width="150" valign="middle"><img src="include/images/icons/sound3.jpg" width="16" height="16" alt="" align="left">
<strong>Sounds</strong><br> <span class="smalfont">beim einloggen?</span></td>
<td><input style="margin-top:1px;" id="opt_login_sound1" type="radio" value="1" name="opt_login_sound" {opt_login_sound1} />
<label for="opt_login_sound1"> {_lang_yes}</label>
<br> <input style="margin-top:1px;" id="opt_login_sound0" type="radio" value="0" name="opt_login_sound" {opt_login_sound0} />
<label for="opt_login_sound0"> {_lang_no}</label></td>
</tr>
meine profil_edit.php folgende zusätzlichen ABfragen:
$abf = 'SELECT email,wohnort,vorname,job,psnid,homepage,aim,msn,icq,skype,yahoo,avatar,status,staat,gebdatum,sig,opt_pm_popup,opt_pm,opt_login_sound,opt_mail,geschlecht,spezrank,gmapkoords FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"';
if ( $row['opt_login_sound'] == 1 ) { $row['opt_login_sound1'] = 'checked'; $row['opt_login_sound0'] = ''; } else { $row['opt_login_sound1'] = ''; $row['opt_login_sound0'] = 'checked'; }
opt_login_sound = '".escape($_POST['opt_login_sound'], 'string')."',
In meiner DB habe ich in der prefix_user das Feld eingefügt:
opt_login_sound tinyint(1) Nein 0
das Ändern des Optionsfeld im Profiledit klappt auch. Nur fehlt jetzt die Verknüpfung zum Loginsound, den ich dann per login.php abfragen lasse.
hier mal meine login.php:
<?php
# Copyright by Manuel Staechele
# Support www.ilch.de
defined ('main') or die ( 'no direct access' );
$tpl = new tpl ( 'user/boxen_login.htm' );
if ( loggedin() ) {
if ( user_has_admin_right($menu,false) ) {
$downs = '';
if (has_right(-8,'archiv-downloads') and $downs = db_count_query('SELECT COUNT(*) FROM prefix_downloads WHERE cat = -1') > 0) {
$downs = "$downs Downloads freizuschalten";
}
$admin = '<a class="box" href="admin.php?admin" target="ali">'.$lang['adminarea'].'</a><br />'.$downs;
} else {
$admin = '';
}
$tpl->set ( 'ADMIN', $admin );
if ( $allgAr['Fpmf'] == 1 ) {
$erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = ".$_SESSION['authid']);
$check_pm = db_result($erg,0);
$nachrichten_link = '<a class="box" href="index.php?forum-privmsg">'.$lang['messages'].'</a> ('.$check_pm.')<br>';
} else {
$nachrichten_link = '';
}
$abf = 'SELECT id, name, avatar FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"';
$erg = db_query($abf);
$row = db_fetch_object($erg);
if ( file_exists($row->avatars)) {
$avatar = '<br><img src="'.$row->avatars.'" border="0"><br>';
}else{
$avatars = '';
}
if ( $_COOKIE['soundplayed']!="1" ) {
mt_srand((double)microtime()*10000000);
$anfang = '1'; // Anfangsdatei (1.mp3)
$ende = '7'; // Letzte Datei mit der höchsten Nummer (20.mp3)
$file = mt_rand($anfang, $ende);
$pfad = 'include/usersounds/'.$file;
if(file_exists($pfad.'.mp3'))
$src = $pfad.'.mp3';
else
$src = $pfad.'.wav';
echo '<embed src="'.$src.'" hidden="true" loop="false" autostart="true" height="0" width="0">';
setcookie("soundplayed","1");
}
$tpl->set ( 'ID' , $row->id );
$tpl->set ( 'AVATAR' , $avatar );
$tpl->set ( 'SID' , session_id() );
$tpl->set ( 'NACHRICHTEN' , $nachrichten_link );
$tpl->set ( 'NAME', $_SESSION['authname'] );
$tpl->set ( 'POPUP', check_for_pm_popup() );
$tpl->out (0);
} else {
if (empty($_POST['login_name'])) { $_POST['login_name'] = 'Nickname'; }
if (empty($_POST['login_pw'])) { $_POST['login_pw'] = 'ääääääää'; }
$regist = '';
if ( $allgAr['forum_regist'] == 1 ) {
$regist = ' <a href="index.php?user-regist">Regist</a>';
}
$tpl->set_ar_out ( array ( 'regist' => $regist, 'wdlink' => '?'.$allgAr['smodul'], 'PASS' => $_POST['login_pw'], 'NAME' => $_POST['login_name'] ) , 1 );
}
unset($tpl);
?>
habe schon analog zum check_for_pm_popup herumprobiert, aber nur Fehlermeldungen erzeugt.
Hat jemand die passende Abfrage für mich?
Vielen Dank vorab.