Seite 1 von 1
Loginfelder beim Posten einer Antwort
Verfasst: 07.02.2005 16:33
von peterpeter
Hallo Leute,
ich habe folgende Frage:
Gibt es eine Möglichkeit, dort wo man eine Antwort postet eine Login und Passwort-Box einzubauen, dass man auch unter seinem Namen posten kann, wenn man sich nicht vorher eingeloggt hat?
Bisher habe ich mein Forum so eingerichtet, dass auch nicht registrierte User als Gast posten können. Ist man nicht eingeloggt, kann man den Namen wählen, bleibt aber weiterhin Gast. Ich würde jetzt gerne eine Box haben, wo man oberhalb der Antwort seine Daten (Username/PW) eingibt und dann auf "Absenden" klicken kann, um unter seinem eigenen Namen zu posten. Also nicht eine Box, wo man erst auf Login klicken muss und dann wieder zurück und posten.
Geht sowas? Wäre nett wenn mir da jemand helfen könnte.
MfG Peter
Verfasst: 07.02.2005 20:51
von QCO
Also dafür müsste man ein paar kleine Änderungen am Code vornehmen...
Wenn du bis morgen Abend warten kannst, mach ich dir so einen Mod.
Jetzt hab ich grad keine Zeit.
Verfasst: 07.02.2005 22:36
von peterpeter
Das wäre super!!
Vielen Dank!
Verfasst: 08.02.2005 17:36
von QCO
Mhh, das war etwas komplizierter, als ich mir das vorgestellt hatte, aber so könnte es funktionieren.
Ich hab nur kurz ausprobiert, bin also nicht sicher, ob alles funktioniert.
Bitte teste nach dem Einbau selbst nochmal alle mögliche Fälle von Nutzername/Passwort/kein Passwort ausführlich.
Ich übernehme keine Haftung für irgendwas.
ÖFFNE posting.php
SUCHE (ungefähr Zeile 540)
Code: Alles auswählen
case 'newtopic':
case 'reply':
$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
FÜGE DANACH EIN
Code: Alles auswählen
// MOD login_with_post
if ( !empty($HTTP_POST_VARS['password']) )
{
$password = $HTTP_POST_VARS['password'];
$sql = "SELECT user_id, username, user_password, user_active, user_level
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\\'", "''", $username) . "'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
}
if( $row = $db->sql_fetchrow($result) )
{
if( md5($password) == $row['user_password'] && $row['user_active'] )
{
$userdata = session_begin($row['user_id'], $user_ip, PAGE_POSTING, FALSE, FALSE);
if( !$userdata['session_logged_in'] )
{
message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);
}
}
else
{
$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Error_login_with_post'] . '' : $lang['Error_login_with_post'];
break;
}
}
else
{
$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Error_login_with_post'] . '' : $lang['Error_login_with_post'];
break;
}
}
// END MOD login_with_post
ÖFFNE language/lang_german/lang_main.php
SUCHE
Code: Alles auswählen
//
// That's all Folks!
// -------------------------------------------------
FÜGE DANACH EIN
Code: Alles auswählen
// MOD login_with_post
$lang['Error_login_with_post'] = 'Benutzername und Passwort passen nicht zusammen. Wenn du deinen Beitrag als Gast verfassen möchtest, gib bitte kein Passwort ein.';
// END MOD login_with_post
ÖFFNE templates/subSilver/posting_body.tpl
SUCHE
Code: Alles auswählen
<td class="row2"><span class="genmed"><input type="text" class="post" tabindex="1" name="username" size="25" maxlength="25" value="{USERNAME}" /></span></td>
</tr>
FÜGE DANACH EIN
Code: Alles auswählen
<tr>
<td class="row1"><span class="gen"><b>{L_PASSWORD}</b></span></td>
<td class="row2"><span class="genmed"><input type="password" class="post" tabindex="1" name="password" size="25" maxlength="25" value="" /></span></td>
</tr>
[edit] Debug-Ausgabe entfernt.
Dank an punkface für den Hinweis...
Verfasst: 08.02.2005 18:20
von punkface
Hab den MOD eben mal getestet, und es funzt. Nur eine Sache..
muss (naja, sollte) noch aus dem raus was man in die posting.php einfügen muss, ansonsten klasse
[ externes Bild ]
gruß
Verfasst: 08.02.2005 19:34
von QCO
punkface hat geschrieben:Hab den MOD eben mal getestet, und es funzt. Nur eine Sache..
Erwischt

Verfasst: 08.02.2005 19:56
von peterpeter
Hey vielen Dank!!
Werd es gleich mal ausprobieren
Verfasst: 08.02.2005 20:44
von peterpeter
Vielen Dank! Hat alles uper geklappt.
Hast du dir schon mal überlegt, das als MOD zur Verfügung zu stellen?
Verfasst: 08.02.2005 20:52
von QCO
Werd ich machen. Aber dazu muss ich es noch schön formatieren etc.