phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 17.02.2004, 13:19   #1
TP-Member
 
Registriert seit: Feb 2004
sira1977 macht alles soweit korrekt

je nach Recht, Button sichtbar oder unsichtbar


Hi, ich hab da ein Problem.
ich habe eine index seite, mit login. Nach erfolgreichem login kommt man auf die Seite pro_index. Je nach Zugriffsrechte soll der upload-Button gezeigt werden, z.B. hat user recht 0, dann sieht er nur die bilder, ect. Hat der user recht 1, kann er auf den Button upload klicken u. er kommt auf die Seite mit dem Formular-upload.
Wie kann ich es anstellen, dass der button sichtbar, bzw. unsichtbar ist?? die loginseite funkt...
sira1977 ist offline   Mit Zitat antworten


Alt 17.02.2004, 14:07   #2
TP-Member
 
Registriert seit: Feb 2004
sira1977 macht alles soweit korrekt
Hi, kann mir denn keiner helfen? Ich denke, ich muss dass mit Sessions machen, aber weiss einer, wie's geht????
sira1977 ist offline   Mit Zitat antworten
Alt 17.02.2004, 14:48   #3
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
Nur nicht ungeduldig werden

Am einfachsten machst du die ganzen Login-, Session- und Authentifizierungsdinge mit der Extension "PHP User Authentication". Damit hast du auch die Möglichkeit, je nach Usergruppe auf unterschiedliche Seiten zu verweisen. Die Extension setzt dir per Mausklick auch die PHP-Zeilen für die Session und die Abfrage betreffend Berechtigung auf jede neu erstellte Seite.

Wenn du lieber nur ein Bild je nach Rechtegruppe austauschen willst, dann schreib den Code, der von der Extension erstellt wurde um - frage die Sessionvariable nach der Benutzergruppe ab und gib im Content den Button mit einer if-Abfrage aus oder eben nicht. Reicht das als Anregung?
Jürgen ist offline   Mit Zitat antworten
Alt 17.02.2004, 15:39   #4
TP-Member
 
Registriert seit: Feb 2004
sira1977 macht alles soweit korrekt
Danke @Jürgen
Ich habe den Login mit der Extension gemacht, auch habe ich eine if-abfrage bezügl. rechte.
Aber wie frage ich die Sessionvariable ab??
sira1977 ist offline   Mit Zitat antworten
Alt 17.02.2004, 16:25   #5
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
Die Berechtigungsgruppe aus der Extension wird in der Sessionvariable "MM_UserAuthorization" gespeichert. Das kannst du natürlich mit einer einfahen if-Abfrage checken. Für "xyz" musst du dann natürlich die Benutzergruppe eingeben, die den Button sehen darf.

PHP-Code:
if ($_SESSION["MM_UserAuthorization"] == "xyz") {
   echo 
"<input type=\"button\"..... />";
   
// und alles weitere, das du hier ausgeben willst....

Oder wie gesagt - du kannst auch für jede Berechtigungsgruppe auf eine eigene Seite ausgeben lassen. In Verbindung mit den DW-Templates macht das auch oft nicht mehr Arbeit.
Jürgen ist offline   Mit Zitat antworten
Alt 17.02.2004, 16:40   #6
TP-Member
 
Registriert seit: Feb 2004
sira1977 macht alles soweit korrekt
sorry, nochmal... ich hab doch keine Benutzergruppe, sondern lediglich user mit recht 0 oder user mit recht 1.
sira1977 ist offline   Mit Zitat antworten
Alt 17.02.2004, 16:50   #7
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
Wenn du in der Session bereits eine Variable mit einem Wert von 0 oder 1 gespeichert hast, fragst du halt diese ab. Wo ist das Problem?
Jürgen ist offline   Mit Zitat antworten
Alt 17.02.2004, 17:07   #8
TP-Member
 
Registriert seit: Feb 2004
sira1977 macht alles soweit korrekt
Hi nein so hab ich's nicht gemeint, sorry...
Ich komm aber doch nicht klar. Mein code:
<?php
session_start();
if ($_SESSION["rechte"] == 1) {
echo "<input name="upload" type="submit" class="text2" id="upload" value="go ">";
}

?>

Und es funkt aber nicht. weisst du wo's problem liegt?
sira1977 ist offline   Mit Zitat antworten
Alt 17.02.2004, 17:26   #9
TP-Member
 
Registriert seit: Feb 2004
sira1977 macht alles soweit korrekt
Also nochmal, sorry ich schaffs alleine nicht

Das ist mein code für den login:
<?php require_once('Connections/user_db.php'); ?>
<?php
// *** Start the session
session_start();
// *** Validate request to log in to this site.
$FF_LoginAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING']) && $HTTP_SERVER_VARS['QUERY_STRING']!="") $FF_LoginAction .= "?".$HTTP_SERVER_VARS['QUERY_STRING'];
if (isset($HTTP_POST_VARS['Benutzerkennung'])) {
$FF_valUsername=$HTTP_POST_VARS['Benutzerkennung'];
$FF_valPassword=$HTTP_POST_VARS['Passwort'];
$FF_valRechte=$HTTP_POST_VARS['Rechte'];

$FF_fldUserAuthorization="rechte";
$FF_redirectLoginSuccess="pro_index1.php";
$FF_redirectLoginFailed="anmeldung.php";
$FF_rsUser_Source="SELECT user, passwort, rechte ";

if ($FF_fldUserAuthorization != "0") $FF_rsUser_Source .= "," . $FF_fldUserAuthorization;
$FF_rsUser_Source .= " FROM user WHERE user='" . $FF_valUsername . "' AND passwort='" . $FF_valPassword . "'";

mysql_select_db($database_user_db, $user_db);
$FF_rsUser=mysql_query($FF_rsUser_Source, $user_db) or die(mysql_error());
$row_FF_rsUser = mysql_fetch_assoc($FF_rsUser);
if(mysql_num_rows($FF_rsUser) > 0) {

// username and password match - this is a valid user
$MM_Username=$FF_valUsername;
session_register("MM_Username");
if ($FF_fldUserAuthorization != "") {
$MM_UserAuthorization=$row_FF_rsUser[$FF_fldUserAuthorization];
} else {
$MM_UserAuthorization="";
}
session_register("MM_UserAuthorization");
if (isset($accessdenied) && false) {
$FF_redirectLoginSuccess = $accessdenied;
}
mysql_free_result($FF_rsUser);
session_register("FF_login_failed");
$FF_login_failed = false;
header ("Location: $FF_redirectLoginSuccess");
exit;
}
mysql_free_result($FF_rsUser);
session_register("FF_login_failed");
$FF_login_failed = true;
header ("Location: $FF_redirectLoginFailed");
exit;
}
?>

Und in der Seite pro_index soll nun ein button sichtbar, wenn rechte = 1. Unsichtbar, wenn rechte=0
sira1977 ist offline   Mit Zitat antworten
Alt 17.02.2004, 18:30   #10
TP-Veteran
 
Benutzerbild von AnnaStesia
 
Registriert seit: Mar 2002
Ort: Göppingen
AnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKE
Hi,
kenn mich zwar nicht aus mit PHP, aber hast Du's schon mal mit Session["MM_UserAuthorization"] im if-clause versucht?
__________________
Ich weiss es doch auch nicht.
» www.sightdesign.de «
AnnaStesia ist offline   Mit Zitat antworten
Alt 17.02.2004, 20:44   #11
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
AnnaStesia hat recht (@annastesia: seit wann kennst du dich denn in PHP nicht mehr aus? ), du musst die Variable abfragen, die vom Skript in der Session gespeichert wird, und nicht den Namen des Datenbankfeldes. Außerdem musst du die Anführungszeichen innerhalb der echo-Anweisung quoten:
PHP-Code:
<?php 
session_start
();
if (
$_SESSION["MM_UserAuthorization"] == "gruppenname") {
echo 
"<input name=\"upload\" type=\"submit\" class=\"text2\" id=\"upload\" value=\"go\">";
}
?>
Aber da ist noch mehr im Argen... im Rest des Codes hast du ziemlich herumgefuhrwerkt, wie ich sehe. Das wäre gar nicht notwendig, da das Skript bereits selbständig die Rechtegruppe abfragt. Es kann daher mit den von dir zusätzlichen Variablen nicht funktionieren. Ich schreibe den Code aber jetzt nicht neu . Am besten du wendest die Verhalten neu an, legst deine Benutzergruppen innerhalb der Extension an und machst nichts anderes, als die oben beschriebene Abfrage einzubauen .

In der Datenbank brauchst du die Felder Benutzer, Passwort und Rechtegruppe. Und der Wert, den du in der Rechtegruppe einsetzt, muss identisch sein mit dem Namen, den du in der Extension als Rechtegruppe angibst.
Jürgen ist offline   Mit Zitat antworten
Alt 18.02.2004, 12:07   #12
TP-Member
 
Registriert seit: Feb 2004
sira1977 macht alles soweit korrekt
danke, aber ich glaub ich steh voll auf den Schlauch...

Jürgen, wenn du noch Lust hast, vielleicht kannst mir nochmal helfen. So ich habe jetzt das Verhalten neu gemacht.
Habe mit der Extension LoginUser meine Felder angegeben (user u. Passwort) u. wo sie dann weitergeleitet werden, wenn user erfolgr ist. Bei misserfolg zurück zur Anmeldung. So muss ich dann bei der Extension das "restrict access based on ausfüllen?

Dann habe ich angegeben bei $FF_fldUserAuthorization="rechte"; mein DB Feld heißt rechte.
Dann frage ich ab, ob in der Spalte rechte, gast oder admin.

if ($FF_fldUserAuthorization != "") {
$MM_UserAuthorization=$row_FF_rsUser[$FF_fldUserAuthorization];
} else {
$MM_UserAuthorization="";
}
session_register("MM_UserAuthorization");
if (isset($accessdenied) && false) {
$FF_redirectLoginSuccess = $accessdenied;
}
Was muss ich da noch angeben??
sira1977 ist offline   Mit Zitat antworten
Alt 18.02.2004, 13:48   #13
TP-Member
 
Registriert seit: Feb 2004
sira1977 macht alles soweit korrekt
sorry........sorry.......
Ich glaub ich bin voll auf der Leitung gestanden. Jetzt funkts... Danke für Eure hilfe u. entschuldigung nochmals für meine Blödheit. (ich kann nur den kopf schütteln über mich)
sira1977 ist offline   Mit Zitat antworten
Alt 18.02.2004, 14:08   #14
TP-Member
 
Registriert seit: Feb 2004
sira1977 macht alles soweit korrekt
Nochmal eine kurze Frage,
wie kann ich bei der echo-Anweisung (siehe oben bei der Abfrage der SessionVar.) angeben, dass der sichtbare Button nicht oben bei der Seite erscheinen soll, sondern an eine bestimmt stelle unten im Formular??
sira1977 ist offline   Mit Zitat antworten
Alt 18.02.2004, 15:47   #15
TP-Specialist
 
Benutzerbild von Jürgen
 
Registriert seit: Feb 2002
Ort: Wien
Jürgen bringt sich richtig einJürgen bringt sich richtig ein
Du setzt den Block inkl. der <?php... ?> einfach dort hin, wo du ihn haben willst, dann wird an der stelle der HTML-Code für den Button ausgegeben.
Jürgen ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Dreamweaver
je nach Recht, Button sichtbar oder unsichtbar je nach Recht, Button sichtbar oder unsichtbar
« onclick=self.close | button an bestimmter Stelle ausgeben »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:45 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67