Archiv verlassen und diese Seite im Standarddesign anzeigen : 1 Admin + 1 Admin mit eingeschränkten Rechten anlegen?
Hallo,
Ich habe eine Seite mit dem VMS 1.2 am Start.
Dort möchte ich gerne noch einen Admin einfügen.
Aber wie mache ich das?
Ich möchte gerne das der andere Admin in den Adminforce mit seinem eigen erstelltem Benutzername und Passwort kommt.
Er soll wie ein Co-Admin sein.
Er darf z.B nicht in den Seiteneinstellungen das Passwort von dem anderem Admin sehen und ändern (nur das eigene) bzw. die Betreiberdaten ändern, geschweige die überhaupt zu sehen.
Ich hoffe Ihr könnt mir helfen.
Lieben dank für die Antworten.
ist normalerweise nicht möglich und wäre auch ein bisschen programmierarbeit sowas einzubauen
und so ein 2 Admin einzufügen? Mit anderen Benutzername + Passwort?
und so ein 2 Admin einzufügen? Mit anderen Benutzername + Passwort?
Du könntest ja folgendes machen:
adminforce/index.php
Aktuell:
if($_POST['check'] == "Login") {
@require_once ('../lib/functions.lib.php');
db_connect();
$page = mysql_fetch_array(db_query("SELECT admin_name, admin_pass FROM ".$db_prefix."_seitenkonfig LIMIT 1"));
if($_POST['loginname'] == $page['admin_name'] && $_POST['passwort'] == $page['admin_pass']) {
$_SESSION['admin'] = 1;
header("Location: ".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']);
}
}
if($_SESSION['admin'] == 1) {
@include_once('lib/header.php');
@include_once('content'.$_GET['content'].'.php');
@include_once('lib/footer.php');
} else {
Nachher:
if($_POST['check'] == "Login") {
@require_once ('../lib/functions.lib.php');
db_connect();
$page = mysql_fetch_array(db_query("SELECT admin_name, admin_pass, admin_name2, admin_pass2 FROM ".$db_prefix."_seitenkonfig LIMIT 1"));
// Hauptadmin
if($_POST['loginname'] == $page['admin_name'] && $_POST['passwort'] == $page['admin_pass']) {
$_SESSION['admin'] = 1;
header("Location: ".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']);
}
// Co-Admin
if($_POST['loginname'] == $page['admin_name2'] && $_POST['passwort'] == $page['admin_pass2']) {
$_SESSION['admin'] = 2;
header("Location: ".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']);
}
}
if($_SESSION['admin'] == 1 || $_SESSION['admin'] == 2) {
@include_once('lib/header.php');
@include_once('content'.$_GET['content'].'.php');
@include_once('lib/footer.php');
} else {
So, und dann fügst du einfach in die Datei wo der zweite Admin nicht rein soll folgendes ein:
if ($_SESSION['admin'] != 1){
head("Keine Berechtigung");
echo "Co-Admin hat hier keinen Zutritt";
foot();
include('lib/footer.php');
die();
}Natürlich brauchst du dafür noch das Feld admin_name2 und admin_pass2 in der vms_seitenkonfig wo die Daten von dem zweiten stehen.
Alles ungetestet
Thx erstmal für die Mühe. Habe alles gemacht was in dem obrigen Beitrag steht.
Leider funzt das Einloggen von beiden Admins nicht.
Es kommt nur die Fehlermeldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/virtual/Domain/htdocs/adminforce/index.php on line 8
Da steht bei mir:
$page = mysql_fetch_array(db_query("SELECT admin_name, admin_pass, admin_nam2, admin_pass2 FROM ".$db_prefix."_seitenkonfig LIMIT 1"));
Und wenn ich nichts eingebe und "Login" klicke, komme ich ins Adminforce mit 3 Fehlermeldungen.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/virtual/Domain.de/htdocs/adminforce/index.php on line 8
Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/Domain.de/htdocs/adminforce/index.php:8 ) in /var/www/virtual/Domain.de/htdocs/adminforce/index.php on line 13
Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/Domain.de/htdocs/adminforce/index.php:8 ) in /var/www/virtual/Domain.de/htdocs/adminforce/index.php on line 19
Dort stehen die Zeilen:
Zeile 8: siehe oben
Zeile 13:
header("Location: ".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']);
Zeile 19:
header("Location: ".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']);
Würde mich über weitere Hilfe freuen.
admin_nam2,
Muss natürlich admin_name2 heissen :o die anderen Fehler dürften sich dann damit automatisch erledigen
Thx es funktioniert.
Jetzt würde ich gerne, das Admin 1 sein Benutzername + Passwort in der (unter Adminforce "Seiteneinstell.") "pageconfig.php" ändern kann.
Und Admin 2 sollte das auch können.
Bloss soll nur das Passwort und der Benutzername angezeigt werden, mit den er sich eingeloggt hat. Also nicht das andere, vom anderen Admin.
Das wäre erstmal die letzte frage.
Ich habe das schon versucht, aber löeider nicht geschafft.
Euch Profis traue ich das zu.
MfG
Ich habe es nochmal probiert, leider geht das nicht.
in der Datei (pageconfig.php) habe ich folgendes geändert.
Code vorher:
if ($_POST['updaten'] == 'Updaten !') {
db_query("UPDATE ".$db_prefix."_seitenkonfig SET
denied_domains='".$_POST['denied_domains']."',
wartung='".$_POST['wartung']."',
einzahlgrenze='".$_POST['einzahlgrenze']."',
re1='".$_POST['re1']."',
re2='".$_POST['re2']."',
re3='".$_POST['re3']."',
min_betteln = '".$_POST['min_betteln']."',
max_betteln = '".$_POST['max_betteln']."',
reload_betteln = '".$_POST['reload_betteln']."',
admin_name='".$_POST['admin_name']."',
admin_pass='".$_POST['admin_pass']."'
Code nachher:
if ($_POST['updaten'] == 'Updaten !') {
db_query("UPDATE ".$db_prefix."_seitenkonfig SET
denied_domains='".$_POST['denied_domains']."',
wartung='".$_POST['wartung']."',
einzahlgrenze='".$_POST['einzahlgrenze']."',
re1='".$_POST['re1']."',
re2='".$_POST['re2']."',
re3='".$_POST['re3']."',
min_betteln = '".$_POST['min_betteln']."',
max_betteln = '".$_POST['max_betteln']."',
reload_betteln = '".$_POST['reload_betteln']."',
admin_name='".$_POST['admin_name']."',
admin_pass='".$_POST['admin_pass']."',
admin_name2='".$_POST['admin_name2']."',
admin_pass2='".$_POST['admin_pass2']."'
--------------------------------
Der Code davor:
<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name" value="<?=$interface['admin_name'];?>"></td>
</tr>
<tr bgcolor="#f0f0f0">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass" value="<?=$interface['admin_pass'];?>"></td>
</tr>
Der code danach:
<?php
if($_SESSION['admin'] = 1)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name" value="'$interface['admin_name']'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass" value="'$interface['admin_pass']'"></td>
</tr>';
}
elseif($_SESSION['admin'] = 2)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name2" value="'$interface['admin_name2']'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass2" value="'$interface['admin_pass2']'"></td>
</tr>';
}
else
{
head("Keine Berechtigung");
echo "Du bist kein Admin";
foot();
include('lib/footer.php');
die();;
}
?>
haste in der db auch die passenden spalten in der tabelle angelegt, sonst geht das updaten nicht, da das script ja nirgendwo reinschreiben kann
ja ich habe die in seitenkonfig neben den anderen Admindaten erstellt.
Im Adminforce zeigt er auch nichts mehr an, wenn ich auf Seiteneinstellungen klicke
ja ich habe die in seitenkonfig neben den anderen Admindaten erstellt.
Im Adminforce zeigt er auch nichts mehr an, wenn ich auf Seiteneinstellungen klicke
if ($_POST['updaten'] == 'Updaten !') {
db_query("UPDATE ".$db_prefix."_seitenkonfig SET
denied_domains='".$_POST['denied_domains']."',
wartung='".$_POST['wartung']."',
einzahlgrenze='".$_POST['einzahlgrenze']."',
re1='".$_POST['re1']."',
re2='".$_POST['re2']."',
re3='".$_POST['re3']."',
min_betteln = '".$_POST['min_betteln']."',
max_betteln = '".$_POST['max_betteln']."',
reload_betteln = '".$_POST['reload_betteln']."',
admin_name='".$_POST['admin_name']."',
admin_pass='".$_POST['admin_pass']."',
admin_name2='".$_POST['admin_name2']."',
admin_pass2='".$_POST['admin_pass2']."',
so wie es aussah fehlte am ende vom admin_pass2 ein komma
funktioniert leider auch nicht.
Ich glaube ich habe hier etwas falsch gemacht:
<?php
if($_SESSION['admin'] = 1)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name" value="'$interface['admin_name']'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass" value="'$interface['admin_pass']'"></td>
</tr>';
}
elseif($_SESSION['admin'] = 2)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name2" value="'$interface['admin_name2']'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass2" value="'$interface['admin_pass2']'"></td>
</tr>';
}
else
{
head("Keine Berechtigung");
echo "Du bist kein Admin";
foot();
include('lib/footer.php');
die();;
}
?>
So Leute,
Ich habe es geschafft. Juhu.
Hier der Code:
<?php
if($_SESSION['admin'] == 1)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name" value="'.$interface['admin_name'].'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass" value="'.$interface['admin_pass'].'"></td>
</tr>';
}
elseif($_SESSION['admin'] == 2)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name2" value="'.$interface['admin_name2'].'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass2" value="'.$interface['admin_pass2'].'"></td>
</tr>';
}
else
{
head("Keine Berechtigung");
echo "Du bist kein Admin";
foot();
include('lib/footer.php');
die();
}
?>
Danke für die Hilfe
Könnte mann sowas vill auch zum Download reinstelle?
Wehre sehr sehr hilfreich für viele webmaster. oder?
Habs mal nach Codeschnippsel verschoben, evtl findet man es dann schneller.
Fürn DL Bereich müsste man das in eine verständliche Anleitung packen und nochmal mit dem VMS 1.2.4 testen.
Masterphil
21.12.2009, 13:16
Cooler Schnipsel, genau sowas habe ich gesucht, werde die Tage mal versuchen das in meinem alten VMS umzusetzten.
MfG
So Leute,
Ich habe es geschafft. Juhu.
Hier der Code:
<?php
if($_SESSION['admin'] == 1)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name" value="'.$interface['admin_name'].'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass" value="'.$interface['admin_pass'].'"></td>
</tr>';
}
elseif($_SESSION['admin'] == 2)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name2" value="'.$interface['admin_name2'].'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass2" value="'.$interface['admin_pass2'].'"></td>
</tr>';
}
else
{
head("Keine Berechtigung");
echo "Du bist kein Admin";
foot();
include('lib/footer.php');
die();
}
?>Danke für die Hilfe
Habe den Code nicht getestet aber so wie ich das sehe gibt es folgendes
Problem bei dem Code.
Admin1 ändert seine Daten so wird in dem mysql query aber auch
admin_name2 und admin_pass2 geändert, mit leeren Daten. da diese
angaben ja nicht im Formular auftauchen.
Natürlich habe ich auch eine Lösung für euch ^^
Code vorher
<?php
if($_SESSION['admin'] == 1)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name" value="'.$interface['admin_name'].'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass" value="'.$interface['admin_pass'].'"></td>
</tr>';
}
elseif($_SESSION['admin'] == 2)
{
echo '<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name2" value="'.$interface['admin_name2'].'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass2" value="'.$interface['admin_pass2'].'"></td>
</tr>';
}
else
{
head("Keine Berechtigung");
echo "Du bist kein Admin";
foot();
include('lib/footer.php');
die();
}
?>
Code nachher
<?php
if($_SESSION['admin'] == 1)
{
echo '<input type="hidden" name="admin_name2" value="'.$interface['admin_name2'].'">
<input type="hidden" name="admin_pass2" value="'.$interface['admin_pass2'].'">
<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name" value="'.$interface['admin_name'].'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass" value="'.$interface['admin_pass'].'"></td>
</tr>';
}
elseif($_SESSION['admin'] == 2)
{
echo '<input type="hidden" name="admin_name" value="'.$interface['admin_name'].'">
<input type="hidden" name="admin_pass" value="'.$interface['admin_pass'].'">
<tr bgcolor="#f0f0f0">
<td align="left"><b>Loginname (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_name2" value="'.$interface['admin_name2'].'"></td>
</tr>
<tr bgcolor="#f0f0f0"">
<td align="left"><b>Passwort (Adminforce)</b></td>
<td align="left"> <input type="Text" name="admin_pass2" value="'.$interface['admin_pass2'].'"></td>
</tr>';
}
else
{
head("Keine Berechtigung");
echo "Du bist kein Admin";
foot();
include('lib/footer.php');
die();
}
?>
Auch dieser Code ist zur Zeit ungetestet. Sollte nun aber richtig sein.
So werden egal ob admin1 oder admin2 seine daten Ändert die daten
vom anderen Admin unsichtbar mit gesendet.
Gruß Kakuzu
bei dem Code kann man dem Co auch gleich das normale adminpasswort sagen den mit einem Blick in den Quellcode hat er es dann auch auch.
Besser das query entsprechend dem anpassen wer das formular absendet.
mfg
Aradiv
muenchner1989
04.01.2010, 13:04
Hallo,
irgentwie blicke ich durch die ganze Posts garnicht mehr durch und würde mich über eine dezente Anleitung doch sehr freuen.
Ich benutze derzeit die aktuellste Version!
Du könntest auch den adminforce Ordner kopieren (adminforce2 bsp.) daraus alle Dateien löschen, die der CO nicht sehen darf, beide Ordner via .htaccess schützen.
Macht vielleicht mehr Sinn, wenn es viele Dateien gibt, die er nicht öffnen können darf.
Hallo,
irgentwie blicke ich durch die ganze Posts garnicht mehr durch und würde mich über eine dezente Anleitung doch sehr freuen.
Ich benutze derzeit die aktuellste Version!
muss mich hier mal anschliesen.
wäre nicht schlecht wenn hier mal eine richtige anleitung kommen würde.
WaechterMedia
25.02.2010, 02:43
Es ist unschlau die Admin daten unsichtbar mitzusenden kann man im quelltext trotzdem mitlesen.
Da dieser vorgang ja höchsten mal ausgeführt wird würde ich das update einfach spliten.
if($_SESSION['admin'] = 1)
{
db_query("UPDATE ".$db_prefix."_seitenkonfig SET ,
admin_name='".$_POST['admin_name']."',
admin_pass='".$_POST['admin_pass']."'
LIMIT 1") or die(mysql_error());
}
elseif($_SESSION['admin'] = 2)
{
db_query("UPDATE ".$db_prefix."_seitenkonfig SET ,
admin_name2='".$_POST['admin_name2']."',
admin_pass2='".$_POST['admin_pass2']."'
LIMIT 1") or die(mysql_error());
}
Und schon hat sich das bezüglich der unsicherheit müsst natürlich dann die admin phrasen dann aus dem ursprünglichen update entfernen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.