Beim klicken auf ein Bild eine PHP-Funktion ausführen?
Guten Tag!
Ich versuche jetzt schon seit längerem, bei einem Klick auf ein Bild eine PHP Funktion aufzurufen - OHNE Reload - Also, Beispiel:
<a onclick='führe php funktion aus'><img src='iwas.png'></a>
Ich habe nach ergiebigem Googlen öfters etwas von "AJAX" gehört - Jedoch nie ein Tutorial gefunden.. Könnte mir jemand vielleicht aus der Patche helfen?
MfG
4 Antworten
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 ;-))
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.
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
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...)
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 :/
Gibt es denn eine Möglichkeit bei Klick auf dem Bild überhaupt irgendwie eine PHP-Funktion aufzurufen? Selbst wenn es mit Reload ist?
Hmmm, ein paar Beispiele (für Unterricht ausgelegt) könnte ich anbieten...
http://harryboeck.dyndns.org/Experimente/js/XMLHttpRequest/XMLHttpRequest.php
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