Beim klicken auf ein Bild eine PHP-Funktion ausführen?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

AJAX ist nichts anderes wie mittels javascript ein php-script aufzurufen und dessen ausgabe in das aktuelle dokument zu laden. Sprich ich mach ein DIV und in dieses Div lade ich dann die Ausgabe eines PHP-Dokuments. Das ist allerdings nur mit Javascript machbar. Hat der Nutzer javascript deaktiviert, gibts ein problem und eine alternativ-lösung (reload) ist nötig.

Lad dir jQuery runter und bau es in dein skript ein

<script type="text/javascript" src="jQuery.js"></script>

dann kannst du mit der einfachsten aller einfachen variante (.load() ) einen AJAX-Request vollführen :-D

Beispie.:

index.php

<html>
<head>
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
$('#clickme').click(function(){
$('#result').load("pfadzurphpdatei.php");
});
</script>
</head>
<body>
<span id="clickme">Klick mich um PHP ausführen zu lassen</span><br>
<div id="result"></div><br>
<p>Klick ruhig öfter auf den text dort oben :-)</p>
</body>
</html>

pfadzurphpdatei.php

<?php
echo "Aktuelle Zeit: ".time();
?>

Bei .load(); kann man dann auch mittels GET-Paramenter variablen übergeben ;-)

Die Alternative wäre dann .ajax(); das ist allerdings sehr kompliziert ;-))


FragantHundert 
Beitragsersteller
 17.02.2013, 18:56

Vielen Dank :)!

Das einzige Problem ist hierbei, dass ich keinen Zugriff auf den Head habe - Es ist nämlich ein Plugin für MyBB :/

MfG

Hosenmist95  18.02.2013, 18:02
@FragantHundert

Dann wird es zwar schwierig, aber nicht unmöglich - kenn mich mit mybb nicht aus, was aber 99,9% funktoinieren muss:

Registrier dich bei einem freehoster (egal bei wem, hauptsache er kann PHP und mach das PHP-Skript da drauf - dann rufst du halt statt

.load('pfadzurdatei.php');

einfach

.load('http://www.subdomain.freehoster.com/pfadzurdatei.php');

Das müsste auch funktionieren ;-)

AJAX ist nichts anderes wie mittels javascript ein php-script aufzurufen und dessen ausgabe in das aktuelle dokument zu laden. Sprich ich mach ein DIV und in dieses Div lade ich dann die Ausgabe eines PHP-Dokuments. Das ist allerdings nur mit Javascript machbar. Hat der Nutzer javascript deaktiviert, gibts ein problem und eine alternativ-lösung (reload) ist nötig.

Woher ich das weiß:Berufserfahrung

ohne reload hast du keine Chance. da javascript nur clientseitig läuft und php erst nachdem senden den inhalt ändern kann.

AJAX bietet schon gute Schnittstellen, aber ein reload muss trotzdem erfolgen


verreisterNutzer  16.02.2013, 21:22

Zu dem Reload sollte man vielleicht etwas detaillierter werden:

Um PHP auszuführen muss zwar eine Seite (neu) geladen werden, aber das muss nicht die sein die im Browserfenster angezeigt wird. Dafür gibt es AJAX - das kann im Hintergrund, unabhängig von der Seite die du anschaust, weitere Skripte aufrufen. "Sichtbar" lädt sich so im Browser keine Seite neu.

Hier ist ein ziemlich simples Tutorial das dir die Funktionsweise näher erläutert:

http://www.w3schools.com/php/php_ajax_php.asp

(und das war bei Google auf der ersten Suchergebnisseite...)

FragantHundert 
Beitragsersteller
 16.02.2013, 20:40

Verdammt, das ist schade :(

Wäre halt für mein Projekt von Vorteil gewesen ^^ Muss nämlich etwas in die Datenbank schreiben, und dann das Bild ändern :/

FragantHundert 
Beitragsersteller
 16.02.2013, 20:46
@FragantHundert

Gibt es denn eine Möglichkeit bei Klick auf dem Bild überhaupt irgendwie eine PHP-Funktion aufzurufen? Selbst wenn es mit Reload ist?