Beiträge: 8
Themen: 1
Registriert seit: 08.06.2006
Also hab noch mal darüber nachgedacht und will gerne folgendes machen:
Wenn der Eintrag noch nicht in der board db existiert, soll der nutzer auf die Register seite umgeleitet werden und sein name+passwort schon drinnstehen und nicht geändert werden können.
Was muß ich denn dazu machen?
Eine normale Registrierung sollte nicht mehr existieren....
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Nur eine Zwischenfrage: Hat das mit dem automatischen Einloggen mit dem letzten Code funktioniert?
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 8
Themen: 1
Registriert seit: 08.06.2006
ja, super. Hat mir sehr weitergeholfen! Nur ein klitze kleiner Fehler war drin:
if(!username_exists(addslashes($_SERVER['PHP_AUTH_USER'])) )
hier fehlte eine Klammer (fett makiert). Ansonsten super. Mein Problem ist nun eher, wie ich die Leute in die Datenbank bekomme. Habe inzwischen noch ein wenig geforscht und gesehen, dass die passwörter in der mybb_users Tabelle verschlüsselt sind.
Zun besseren verständnis. Ich habe noch eine db, in der die user schon ihre mail eingegeben haben. Jetz will ich diese automatisch mit in mybb eintragen, also user, pss aus htaccess und email aus Eingabe oder Datenbank. Wie bekomme ich das mit der Verschlüsselung denn hin?
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Hier nochmal zusammengefasst die kompletten Änderungen:
Öffne die Datei global.php und suche nach:
PHP-Code:
// Load Main Templates and Cached Templates
Darüber einfügen:
PHP-Code:
if($mybb->user['uid'] == "0" && isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
require("./inc/functions_user.php");
if(!username_exists(addslashes($_SERVER['PHP_AUTH_USER']))) {
redirect("member.php?action=register", "Es existiert noch kein Account, du kannst nun einen anlegen.");
}
$user = validate_password_from_username(addslashes($_SERVER['PHP_AUTH_USER']), addslashes($_SERVER['PHP_AUTH_PW']));
if(!$user['uid']) {
error($lang->error_invalidpassword);
}
$db->query("DELETE FROM ".TABLE_PREFIX."sessions WHERE ip='".$session->ipaddress."' AND sid<>'".$session->sid."'");
$newsession = array(
"uid" => $user['uid'],
);
$db->update_query(TABLE_PREFIX."sessions", $newsession, "sid='".$session->sid."'");
mysetcookie("mybbuser", $user['uid']."_".$user['loginkey']);
mysetcookie("sid", $session->sid, -1);
if(function_exists("loggedIn")) {
loggedIn($user['uid']);
}
redirect("index.php", $lang->redirect_loggedin);
}
Dadurch wird der Benutzer direkt angemeldet oder zur Registrierung geleitet, wenn noch kein Account existiert.
Öffne das Template member_register und suche nach:
Code:
<tr>
<td colspan="2"><span class="smalltext">$lang->username</span></td>
</tr>
<tr>
<td colspan="2"><input type="text" name="username" size="40" value="$username" /></td>
</tr>
Ersetzen durch:
Code:
<input type="hidden" name="username" value="$_SERVER[PHP_AUTH_USER]" />
Öffne das Template member_register_password und ersetze den Inhalt durch diesen:
Code:
<input type="hidden" name="password" value="$_SERVER[PHP_AUTH_PW]" />
<input type="hidden" name="password2" value="$_SERVER[PHP_AUTH_PW]" />
Dadurch werden bei der Registrierung Benutzer und Passwort von der Abfrage per htaccess übernommen und sich nicht änderbar. Die E-Mail-Adresse kann noch eingegeben werden.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 8
Themen: 1
Registriert seit: 08.06.2006
so, kam gerade erst zu testen. anscheinend ist noch irgendwo ein fehler drin. wenn der user noch nicht existiert, dann kommt man in eine Endlosschleife, in der nur die seite zu sehen ist, dass man noch nicht registriert ist und jetzt weitergeleitet wird. auch der link, wenn es einem zu lange dauert funktioniert nicht...
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Kannst du mir bitte den Link zu der Seite per PN schicken?
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.