Alle Buttons einer HTML deaktivieren

katyes

Grünschnabel
Hallo liebes Forum,

ich arbeite gerade an einem PHP-Login. Etwas passendes habe ich bereits versucht zu finden, doch vergeblich. Deshalb versuche ich hier mal mein Glück.


Also: wenn sich der Webmaster an der DB anmeldet soll er nach Weiterleitung auf die komplette Funktionalität der HTML zugreifen können, d.h. alle Buttons sind sichtbar und können verwendet werden.
Wenn sich ein anderer als der Webmaster anmeldet soll nach der erfolgreichen Anmeldung die HTML-Seite mit deaktivierten Buttons angezeigt werden. Bisher wird es leider so realisiert, dass diese User ebenfalls vollen Zugriff auf das HTML-Formular haben, was nach dem Login aufgerufen wird.

Kann ich das mittels Script steuern? Und wenn ja, wie genau? Habe dieses Script vergeblich verwendet :-/
<script language="JavaScript">
function submitPressed() {
document.Seitenname.submitButton.disabled = true;
document.Seitenname.submit();
}
</script>
 
Das hat auf dem Client nichts zu suchen. Du darfst die Buttons erst gar nicht ausgeben und auch deren Funktionalität auf dem Server nicht ausführen. Das mittels JS zu machen hindert niemanden daran, den Button wieder zu aktivieren.
 
Das solltest du auf keinen Fall mit Javascript lösen. das kann a) abgeschaltet werden und je nachdem wie du es gelöst hättest hätte man doch Zugriff und es kann b) manipuliert werden und auch dann hätte man Zugriff.

Wenn schon nimm PHP und gebe jedem User bestimmte Rechte. Erweitere dazu die Tabelle wo die Userdaten gespeichert sind um ein Feld. Hatt dieses den Wert 1 darf der User alle Buttons sehen hat es den Wert 0 darf er es nicht.

PHP Code:

PHP:
<?php
    $berechtigung = array("disabled", "");

    $user_rechte = 1;
?>
<input type="button" name="button1" value="Mich darf nur der Admin anklicken" <?php echo $berechtigung[$user_rechte];  ?>>
<br />
<?php
    $user_rechte = 0;
?>
<input type="button" name="button1" value="Mich darf jeder anklicken" <?php echo $berechtigung[$user_rechte];  ?>>

Das ist jetzt nur ein einfaches Beispiel. Du solltest aber verstehen wie es funktionieren kann. Die Werte für $user_rechte musst du dann natürlich aus der Datenbank auslesen.
 
Die DB ist darauf auch bereits vorbereitet gewesen, d.h. der Webmaster ist mit "1" eingetragen und hat dementsprechend alle Rechte, alle !=Webmaster eben "0".
Die Website wird nie live gehen, es handelt sich um ein Projekt. Ich setze JS voraus, um Funktionalität zu gewährleisten ;-)
Das PHP-Login steht soweit, möchte ungern alles umschreiben müssen. Es sieht im Moment so aus, dass der User auf der Seite gleiche Rechte hat:
Hier ein Teil des Codes:
$sql = "SELECT * FROM User WHERE Username='$enter_username' AND Passwort='$enter_passwort' AND Scrum_Master='0' LIMIT 1";
$erg = mysql_query($sql, $conn) or die (mysql_error());
$anzahl = @mysql_num_rows($erg);

if($anzahl>0)
{ //Das Einlogdatum in der Tabelle setzen
$sql = "UPDATE Username SET Date_Login=NOW()";
mysql_query($sql);
header("Location: index.html");//Verweis auf index.html und diese Seite
//dann ohne Buttons ausgeben bzw.
ausgeblendet ausgeben
exit;
 
1) Wenn du schon Code einstellst, dann formatiere ihn bitte auch entsprechend. So ist das nur sehr schlecht zu lesen.

2) Was sollen wir mit dem Code jetzt machen oder dir dazu sagen?


PHP:
// das muss an den Anfang jeder Seite
session_start();

if($anzahl > 0) {
    $sql = "UPDATE Username SET Date_Login=NOW()";
    mysql_query($sql);
    header("Location: index.html"); 
    exit;

    // das hier ist jetzt neu
    $berechtigung = array("disabled", "");
    $_SESION["rechte"] = $berechtigung[dein_wert_aus_der_datenbank];
}

Die Buttons kannst du jetzt so ein- oder ausblenden:

PHP:
<input type="button" name="button1" value="" <?php echo $_SESSION["rechte"]; ?>>

Schau dir an wie du mit session_start bzw. SESSION-Variablen umgehen musst damit sie dann auch immer zur Verfügung steht.
 
Zurück