|
|
ich habe folgendes Problem:
Meine Sachlage:
1. ich habe per JavaScript ein Login eingebaut ... (3 User) 2. nun habe ich eine riesige tabelle gebaut. Nun möchte ich, dass user auf eine tabellenzeile klicken können und sich die Hintergrundfarbe verändert. Wenn sie nocheinmal draufklicken soll die Farbe wieder die ursprüngliche sein. 3. Jedem User soll eine eigene Farbe zugewiesen sein .. das bedeutet z.B User1=rot , User2=schwarz User3=grün. 4. Nur diejenigen User sollen die Farbe wieder rückgängig machen können die sie auch verändert haben.
Ich würde mich super freuen wenn wir jemand eine lösung in js und eingebunden in Html bieten könnte
Ich freue mich auf jede gute antwort
Danke
|
|
| 13.03.2008 15:42:54 |
|
Chiaki
Mitglied
Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95
|
|
Hallo,
das hört sich irgendwie an wie eine Seite mit einer Tabelle, die bestimmte Statusanzeigen beinhaltet. Die jeweilige User-Farbe soll wohl signalisieren, welcher User gerade mit welchem Projekt/Arbeit/etc beschäftigt ist, damit nicht ein anderer die Arbeit doppelt macht.
Wenn das soweit zutrifft, dann gibt es ein Problem, nämlich dass zwar der betreffende User in -seinem aktuellen- HTML-Dokument die Farbe ändern kann, jeder andere User auf jedem x-beliebigen User-Agent aber nach wie vor die Standardabelle ohne Farbe angezeigt bekommt - woher soll er auch wissen was jemand an einem völlig anderen Rechner lokal verändert.
Bleibt also nur die serverseitige Umsetzung, wo dann per MySQL oder Textdatei der jeweilige Status der jeweiligen Zelle markiert wird. Natürlich könnte das JS auch eine Anfrage an den Server senden um den Status zu ändern, das würde aber nichts daran ändern, daß letztendlich der Server die Einstellungen speichert.
Wenn ich's falsch verstanden habe, möge man mich bitte ignorieren :-)
Greetings, Chiaki
_______________________________________ Make sure You've read RFC 1855, before sending electronic mail, start Chats, posting on Newsgroups or leave any Comments. RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>
|
|
| 13.03.2008 18:10:18 |
|
|
|
ich glaube du hast das schon richtig verstanden ich will eigentlich folgendes...
eine große tabelle mit informationen und dahinter alle tage des jahres 2008. Nun soll es 3 benutzer geben die in dieser tabelle ein datum anklicken können und sich dann die zeile in ihre spezifische hintergrundfarbe ändert .. es muss also für alle benutzer erkennbar sein also sozusagen speicherbar sein ..
is das jetzt verständlicher und wenn ja wüsstest du dafür auch eine konkrete lösung?
mfg
|
|
| 13.03.2008 18:50:34 |
|
Chiaki
Mitglied
Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95
|
|
Hm, das ist nicht so einfach mal eben geschrieben.
Du brauchst auf dem Server eine Datenbank, die 1. die Tabelle abbildet und für jede Zelle einen Farbcode definiert (der entweder standard [0], user1 [1], user2 [2], etc ist), 2. alle user mit ihren zugeteilten Farben definiert. Für den Fehlerall (daß z.B. ein user mal gelöscht wird und der Farbwert nicht ermittelt werden kann) wird die Zelle dann eben wieder mit standard-Farbe angezeigt.
Das Login per Javascript ist dafür natürlich absolut ungeeignet, da die Verbindung "eingeloggt Client" und "eingeloggt Server" völlig fehlt bzw. absolut unzuverlässig ist. Für diese Anwendung solltest du komplett server-side programmieren, mit PHP-Login, HTTP-Auth, oder was auch immer.
Wenn das soweit umgesetzt ist, bekommt das entsprechende <td> einfach ein onclick="" spendiert, über das ein PopUp aufgerufen wird, dem eine URL mit diversen Änderungsparametern übergeben wird, die dann auf dem Server entsprechend die Datenbank ändert und im PopUp eine Success-/Failure-Meldung ausgibt. Da mit dem PopUp aber noch keine Änderung der aktuellen Ansicht beim User vollzogen wird, könnte man das PopUp auch weglassen und einfach die Tabellenseite neu laden lassen, wobei das <td> gleich eine eindeutige id="" bekommt, über die mit einem Anker direkt angesprungen werden kann (dieses wahlweise umzusetzen als onclick="", Formular oder einfachem Textlink).
So, jetzt hab ich aber nen Sermon geschrieben o.O Ich hoffe, es ist irgendwie verständlich, auch wenn ich jetzt nicht die Zeit habe, ein Beispiel zu programmieren.
Greetings, Chiaki
Beitrag geändert von Chiaki (13.03.2008 19:35:36)
_______________________________________ Make sure You've read RFC 1855, before sending electronic mail, start Chats, posting on Newsgroups or leave any Comments. RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>
|
|
| 13.03.2008 19:34:33 |
|
|
|
Oh ich danke dir erstma .. würde mich natürlich mega freuen wenn du mir das soweit ma an nem beispiel coden könntest weil selber werde ich das leider nicht hinbekommen ist ja schon sehr weit fortgeschritten -- hoffe jemand kann mir dabei helfen der zeit hat (= die tabelle könnt ich dann ja auch selber anpassen nur halt die programmierung mit usern .. die user sollen auch nich geändert werden von daher muss da nichts mit Felhlerfall programmiert werden..
mfg
|
|
| 13.03.2008 20:39:34 |
|
Chiaki
Mitglied
Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95
|
|
Hallo,
nachdem ich nun heute etwas mehr Zeit und Lust hatte... http://dark-chiaki.net/test/00048630/
Zum einloggen mal "User 1" und "password1" benutzen, die 1 kann nach Belieben durch 2 oder 3 ersetzt werden um die verschiedenen Benutzer zu testen.
Falls Interesse daran besteht, da des PHP-/Apache-Zeugels: http://dark-chiaki.net/test/00048630/php/
Anmerkung: Das Verzeichnis "./.data/" muß Rechte 0777 haben, die Datei "./.data/.2008.txt" muß Rechte 0666 haben, sonst funzt des nich.
Greetings, Chiaki
PS: Selbstredend könnte man das auch mit einer MySQL-Datenbank umsetzen, aber die Textdatei läßt sich einfacher per FTP sichern / ersetzen. Für MySQL müßte man gleich wieder ein extra Frontend einbauen... Und nein, das Script hat eigentlich überhaupt keine großartigen Fehlerroutinen - wenn etwas nicht geht, wird die Sache kommentar- und meldungslos übersprungen (z.B. wenn User versucht, mit einer manuell eingegebenen URL die Routine zu manipulieren, etc...).
Vor dem Produktionseinsatz sollte in der .config.php die erste Anweisung auf error_reporting(0); geändert werden, um PHP-Meldungen abzustellen.
Update 2008-03-17 by Chiaki:
Hab noch etwas <noscript> reingepackt, nur für den Fall es wäre von nöten. Kann aber auch ganz einfach gelöscht werden, ist ja (fast) selbsterklärend :-)
Update 2008-03-27 by Chiaki:
Hab URL zur Testseite geändert - Subdomain organisatorisch aufgelöst.
Beitrag geändert von Chiaki (27.03.2008 20:36:30)
_______________________________________ Make sure You've read RFC 1855, before sending electronic mail, start Chats, posting on Newsgroups or leave any Comments. RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>
|
|
| 15.03.2008 21:49:04 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|