Zablokowanie możliwości zmiany nicka przez użytkowników
|
Fenix |
Dodany dnia 06.09.2008 16:39:18
|
Przedszkolak
Postów: 32
Data rejestracji: 01.12.2007 12:41
|
Witam.
Kieruję do bardziej doświadczonych użytkowników pytanie.
Jak zablokować możliwość zmiany nicka przez użytkownika?
Pozdrawiam
PW od moderatora:
- Przeniesienie tematu - Pieka 06.09 - 16:53
Edytowane przez Pieka dnia 09.05.2009 00:54:04
|
|
|
|
Wścibski Gość |
Dodany dnia 24.11.2024 18:06:56
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Pieka |
Dodany dnia 06.09.2008 16:56:30
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Podobnie jak w v6, czyli edytuj plik edit_profile.php, znajdz (linia ~44):
echo "<td class='tbl'><input type='text' name='user_name' value='".$user_data['user_name']."' maxlength='30' class='textbox' style='width:200px;' /></td>\n";
i zamie na:
echo "<td class='tbl'><input type='hidden' name='user_name' value='".$user_data['user_name']."' maxlength='30' class='textbox' style='width:200px;' />".$user_data['user_name']."</td>\n";
Polega na zmianie typu pola z text na hidden + dodanie wyswietlania nicka.
Edytowane przez Pieka dnia 09.05.2009 00:55:20
Jestem jaki jestem
|
|
|
|
CyberSoft |
Dodany dnia 17.12.2008 14:23:32
|
Przedszkolak
Postów: 54 Pomógł: 2
v7.02.07 Data rejestracji: 08.01.2006 20:24
|
Przepraszam że wykopuje tak stary temat, ale właśnie ostatnio przeprowadzałem podobną operację na swojej stronie. Podany sposób jest dobry lecz nie do końca skuteczny (bezpieczny). O ile sposób ten jest wystarczający przed zwykłym użytkownikiem to nie zadziała w wypadku użytkownika który się na tym zna i będzie chciał zmienić swoją nazwę użytkownika. Wystarczy spreparować odpowiedni formularz, przesłać go i gotowe. Aby w pełni zabezpieczyć się przed zmianą nazwy użytkownika przez niego samego, należy usunąć całkowicie możliwość zapisywania tej informacji do bazy danych. W ten sposób nikt poza administratorem nie będzie mógł zmienić nazwy na inną.
|
|
|
|
GosciuOdKanapek |
Dodany dnia 26.08.2010 14:47:59
|
Przedszkolak
Postów: 47 Pomógł: 4
Data rejestracji: 13.07.2010 23:38
|
Przepraszam za odkopanie starego tematu, ale czy mógłby ktoś zmodyfikować kod Pieki, dzięki któremu TYLKO określona grupa miałaby dostęp do zmiany nicku i tylko oni (bez adminów).
Pozdrawiam
Edytowane przez GosciuOdKanapek dnia 26.08.2010 14:48:40
REGULAMIN - SKARBNICĄ WIEDZY
Pomogłem? Kliknij przy moim poście !
|
|
|
|
paulus3 |
Dodany dnia 07.08.2011 16:44:54
|
Przedszkolak
Postów: 18 Pomógł: 1 Ostrzeżeń: 1
Data rejestracji: 24.08.2010 17:31
|
Przepraszam, że odkopuję, ale w nowej wersji PHP-Fusion (7.02.03) zmieniła się struktura pliku edit_profile.php i czy w związku z tym można by poprosić o informację co zamienić, aby nie było możliwości zmiany nicku ?
Oto kod pliku edit_profile.php:
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2011 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: edit_profile.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at http://www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "maincore.php";
require_once THEMES."templates/header.php";
require_once CLASSES."UserFields.class.php";
require_once CLASSES."UserFieldsInput.class.php";
include LOCALE.LOCALESET."user_fields.php";
if (!iMEMBER) { redirect("index.php"); }
add_to_title($locale['global_200'].$locale['u102']);
$errors = array();
if (isset($_POST['update_profile'])) {
$userInput = new UserFieldsInput();
$userInput->setUserNameChange($settings['userNameChange']);
$userInput->verifyNewEmail = true;
$userInput->userData = $userdata;
$userInput->saveUpdate();
$userInput->displayMessages();
$errors = $userInput->getErrorsArray();
$userdata = dbarray(dbquery("SELECT * FROM ".DB_USERS." WHERE user_id='".$userdata['user_id']."'"));
unset($userInput);
} elseif (isset($_GET['code']) && $settings['email_verification'] == "1") {
$userInput = new UserFieldsInput();
$userInput->verifyCode($_GET['code']);
$userInput->displayMessages();
$userdata = dbarray(dbquery("SELECT * FROM ".DB_USERS." WHERE user_id='".$userdata['user_id']."'"));
unset($userInput);
}
opentable($locale['u102']);
if ($settings['email_verification'] == "1") {
$result = dbquery("SELECT user_email FROM ".DB_EMAIL_VERIFY." WHERE user_id='".$userdata['user_id']."'");
if (dbrows($result)) {
$data = dbarray($result);
echo "<div class='tbl2' style='text-align:center; width:500px; margin: 5px auto 10px auto;'>".sprintf($locale['u200'], $data['user_email'])."\n<br />\n".$locale['u201']."\n</div>\n";
}
}
echo "<div style='text-align:center; margin-bottom: 10px;'>".$locale['u100']."</div>";
$userFields = new UserFields();
$userFields->postName = "update_profile";
$userFields->postValue = $locale['u105'];
$userFields->userData = $userdata;
$userFields->errorsArray = $errors;
$userFields->setUserNameChange($settings['userNameChange']);
$userFields->displayInput();
closetable();
require_once THEMES."templates/footer.php";
?>
Z góry dziękuję za pomoc
Pozdrawiam |
|
|
|
Pieka |
Dodany dnia 07.08.2011 16:57:17
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
W PHP-Fusion v7.02.xx masz to juz w standardzie i realizujesz poprzez zmiane w PA => Ustawienia => Użytkownicy => Pozwolić na zmianę nazwy użytkownika? Tak/Nie. Wypadaloby zapoznac sie z wlasnym PA...
Jestem jaki jestem
|
|
|