| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Counterproblem... im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi CommZ, Ich möchte auf meiner Hp für jeden angeklickten Link diese Klicks mitzählen und absppeichern für einen "Hitfame" ...
![]() |
| | #1 (permalink) |
| Registriert seit: 12.10.05 ![]() Likes: 0 | Anzeige Hi CommZ, Ich möchte auf meiner Hp für jeden angeklickten Link diese Klicks mitzählen und absppeichern für einen "Hitfame" oder Counter. Nun verstehe ich allerdings nicht mwas ich falsch mache... Code: echo "
<tr>
<td> $counter</td>
<td ><a href=\"$link\" target=\"_blank\" onclick='$counter++'>$link</a></td>";
echo "
</tr>
echo "hier ----> $counter"; Oben erkennt man das bei OnClick der Counter um einen Raufgezählt erden soll wenn der Link geklickt wurde. Allerdings mag er nicht und auch nciht in anderen formen alla onclick=\""; <?php blablabla ?> echo "> Hellllp Plz MfG, euer Tko? |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | onClick ist JavaScript und damit kannst du keinen php code starten. was du machen musst, ist eine seite ala "weiterleitung.php" welcher du eine id uebergibst. anhand von dieser id kannst du dann den entsprechenden counter bei der seite mit der gleichen id erhoehen. am schluss machst du dann noch eine automatische weiterleitung mit z.b. den http headern. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Registriert seit: 09.05.06 ![]() Likes: 0 | Hi ich versteh nicht ganz was du mit dem code denn du dort hast gemeint hast, aber wie willst du das dort eigentlich speichern? also soweit ich weiss musst du (wenn du es mit php machst) beim öffnen einer Seite zaehlen, nicht wenn man auf einen link drückt, denn soweit ich weiss geht das gar nicht. Du könntest allerdings mit JS machen. "onclick" kann man auch nich bei php benutzen sonder nur für JS. Jonny |
| | |
| | #4 (permalink) |
| Themenstarter Registriert seit: 12.10.05 ![]() Likes: 0 | Hi, Das mit der Weiterleitung ist ganz gut ich denke so werd ich es machen. Für die anderen, Javascript in PHPfunktioniet ganz gut, bsp: echo " <a href=\"blabla\" onclick=\"javascript:window.alert('JavaScript in Php')\">"; Ich danke mal für die weiterleitungsidee und komm vll. nochmal drauf zurück... MfG, euer Tko? |
| | |
| | #5 (permalink) | |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Zitat:
@TeeKayo2 Du musst schon unterscheiden zwischen JavaScript in PHP und PHP in JavaScript!! PHP ist eine Serverseitige Scriptsprache welche immer zurerst ausgeführt wird. Und JS ist Clientseitig! Du könntest Dein Problem auch recht schön mit Ajax lösen!
__________________ Mfg Basic Avid - Use it or be used! - | |
| | |
| | #6 (permalink) | |
| Registriert seit: 08.12.04 ![]() Likes: 0 | Zitat:
| |
| | |
| | #7 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Da ich auf die schnelle kein gutes Tutorial kenne, hab ich schnell mal selbst eines geschrieben. ![]() Die meisten Tutorials über Ajax sind nicht gerade gut. Ich lasse jetzt mal die Erklärung was Ajax genau ist weg, wer es wissen will soll doch mal google fragen. Als erstes müssen wir ein XMLHttpRequest() Objekt erzeugen, da aber jeder Browser es anders händelt brauchen wir auch eine Unterscheidung. Code:
var xmlHttp = null;
function ajaxTest()
{
if(window.ActiveXObject) // Für den IE
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); // XMLHttp Objekt erzeugen!
}
catch (e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // Und nochaml für den IE
}
catch (e)
{
xmlHttp = null;
}
}
}
else if(window.XMLHttpRequest) // Die anderen Browser
{
try
{
xmlHttp = new XMLHttpRequest(); // Objekt erstellen
}
catch (e)
{
xmlHttp = null;
}
}
else
{
alert("Was für einen Browser haben Sie den?");
}
if(xmlHttp) // Falls Objekt erzeugt werden konnte
{
xmlHttp.open('GET','ajaxTest.php' , true);
xmlHttp.onreadystatechange = data;
xmlHttp.send(null);
}
else
{
alert("Es konnte kein Objekt erzeugt werden!");
}
} Kommen wir nun zu den drei wichtigsten Zeilen Code: Code: xmlHttp.open('GET','ajaxTest.php' , true);
xmlHttp.onreadystatechange = data;
xmlHttp.send(null); In der zweiten Zeile gibt man den Funktionsnamen der Funktion an, die auf der Clientseite den Response empfängt und weiterverarbeitet. Die dritte Zeile dient für die Übergabe von POST Variablen. Den oberen können wir in eine Datei auslagern z.B. ajax.js! Jetzt erstellen wir den Code für die Clientseite. Was brauchen wir alles? Wir zum einen die vorher angegebene Funktion data() und einen bereich wo wir den Response anzeigen. Fangen wir mal an, damit das nicht zu lange dauert hab ich da mal was vorbereitet. Code:
<html>
<head>
<title>Ajax Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript" src="ajax.js"></script>
<script language="javascript" type="text/javascript">
function data()
{
if(xmlHttp.readyState == 4) // hier wird überprüft ob der Response schon komplett ist!
{
daten = xmlHttp.responseText; //den Response an die Variable daten übergeben, es gibt auch die Funktion responseXML welche aber nur für XML Dateien ist!!
if(daten != "") // wurden daten übertragen?
{
document.getElementById('daten').innerHTML = daten; // übertragenen Daten in den Div Container schreiben zum anzeigen.
}
}
}
</script>
</head>
<body>
<a href="#" onClick="ajaxTest();">Klick mich an!</a> // den Request auslösen!
<div id="daten">
</div>
</body>
</html> Erstellen wir jetzt die Serverseite: PHP-Code: So, Ihr könnt das Script nun testen! Es sollte eigentlich gehen, hab es aber selber nicht getestet. Also habt nachsicht falls es nicht geht. Ich weiss das es jetzt einige offene Fragen gibt, also fragt mich! Hier mal ein weiterführender Link
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #8 (permalink) |
| Themenstarter Registriert seit: 12.10.05 ![]() Likes: 0 | Hi, Zuersteinmal die Weiterleitung ist fertig un funktioniert! ![]() @Basic: Hatte es noch so im Gedächniss das es um Javascript in Php ging als ich geantwortet habe,sorry. Allerdings geht auch PHP in Javascript denke ich zu wissen Bsp.: document.write('<?php echo "hi ich bin ne PHP Ausgabe"; ?>') Sollte auch funktionieren, probiert habe ich es nicht. Wegen deiner "ausführlichen" Ajax Möglichkeit. Also Sie recht lang, nicht zu vergleichen mit den 15 Zeilen die jetzt die Weiterleitungsseite gekostet hat. Dazu kommt das ich bisher gerade mal ein Tut mit Ajax mitgemacht habe, und daher nur die "google-suggest" Vorteile von Ajax kenne, will heißen ich kenn mich null damit aus ![]() Und wie du unten noch angefügt hast "jetzt könnte man noch ne Datenbankabfrage starten", heißt ja nur und es gibt nochmehr Text zu schreiben wobei das jetzt schon das 4 fache meiner weiterleitungsseite ist Danke für eure Hilfe und Anregungen, euer Teekayo2 |
| | |
| | #9 (permalink) |
| Moderator ![]() | Du kannst JavaScript mit PHP generieren, aber nicht andersrum. Was der Client bekommt, kann nur der Client ausführen, nicht mehr der Server. Und BTW, meint ihr net, AJAX für einen Counter ist mit Kanonen auf Spatzen geschossen? Soox' Vorschlag ist da weitaus praktikabler. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |