Dabei müssten alle Studierenden auf das Bild Zugriff haben (über einen Link) und daran Änderungen vornehmen können.
Sollen die Änderungen dann für alle gespeichert werden oder nur für den einzelnen?
Stichwort "Kollaborativ" - ich Würde sagen: für alle.
Man könnte ein Formular erstellen das textarea-Elemente enthält, die bei Klick auf das entsprechende Label sichtbar werden.
Warum nicht das Bild mit Map und Area? Die Reaktion auf den Klick kann man serverseitig lösen, durch eine Eingabeseite mit allen anderen Kommentaren dazu, oder man reagiert auf den Klick per Javascript und erzeugt einen Overlay-Bereich ("Popup-Fenster") der die Kommentierung erlaubt. Abspeichern dann über einen XmlHTTLRequest (Ajax-Technik).
Jetzt meine Frage: Wie würdet ihr das am besten machen? (Html, PHP, MySQL, Javascript, ...)
Warnung: The following text may contain (parts that drive you) nuts...
Als Web-Anwendung kommst Du um HTML und CSS nicht herum. JavaScript kann nützlich sein für ein schöneres GUI, aber eine gute Seite funktioniert auch ohne JS. Wenn Du scriptest, gibt es Libraries und Frameworks die Dir das Leben leichter machen wollen, aber auch zusätzliche Lernschwellen schaffen (jQuery, Angular, knockoutJS, requireJS, etc etc). Wenn Du schnell fertig werden willst, lass die Frameworks weg (außer jQuery vielleicht) und baue deine Oberfläche mit möglichst wenig Schnickschnack.
Beschäftige Dich aber zumindest kurz mit Accessibility und Responsivity, es sei denn, du willst Deinen Nutzerkreis auf Personen ohne Behinderung und mit definierter Client-Technik eingrenzen (wobei: das magst Du vielleicht WOLLEN, aber es wird genug Leute geben, die Dir das dann als absolutes No-Go vorhalten). Also vor allem: was machen sehbehinderte Menschen (gar keine Sehfähigkeit, Farbsinn-Probleme) oder motorisch eingeschränkte Leute (Parkinson als Klick-Hinderung?) mit Deiner Seite? Was machen Leute mit PC, Smart-TV, Tablet und Handy? Das Thema Lync (text-only Browser) lasse ich mal weg, ein BILD ist ja deine Grundvoraussetzung :). Du siehst: Web ist anspruchsvoll, wenn man es richtig machen will.
Auf dem Server brauchst Du eine Programmiersprache und eine Datenablage. PHP ist eine Möglichkeit, andere wären PERL, JSP, JavaScript (sic!), ASP.NET mit C# oder Visual Basic, Phython, Ruby, und vieles mehr. Datenablage geht in einer SQL-Datenbank wie MySQL, MS SQL Server, PostGre, Oracle, DB2-UDB, in einer NoSQL-Datenbank wie Mongo oder auch einfach stumpf und handgemacht im Dateisystem. Genannte Produkte sind Beispiele, die Liste erhebt keinen Anspruch auf Vollständigkeit. Für Masochisten gibt es auch Webprogrammierung in LISP oder auf IBM Großrechnern unter z/OS in COBOL. Dem User vor dem Browserfenster ist das Backend wurscht, der hat mit dem HTML/CSS/JS Paket zu tun und das kannst Du mit jeder Serverumgebung erzeugen.
Was Du davon nimmst, hängt vor allem von einem ab: Was hast Du auf dem Server zur Verfügung und für was davon hast Du das Know-How. Wenn Du erstmal Know-How aufbauen musst, dann hast Du ein Problem weil Du dann die Argumente der Fans jeder Couleur anhören musst, ohne zu wissen, was davon Buzztalk ist und was nicht. Für diesen Fall wäre es interessant, welches Know-How du grundsätzlich mitbringst, um Dir einen möglichst schmerzfreien Einstieg empfehlen zu können.
Rolf