Überwachung oä.

PC-Freak

Grünschnabel
Hallo zusammen,

ich hnabe mir eine Seite aufgebaut und wenn jemand jetzt auf einen Link klickt und ich habe die Seite für die "Überwachung" offen, wie kann ich das dann sehen das das weitergeleitet wird? Also bsp. LINK->Klick->Senden->"Seite Überwachung und da muss man das dann sehen welche Link angeklickt wurde und von welcher Seite also die Seite wo der Link steht. Hoffe ich konnte deutlich machen was ich will.

Gruß Lukas.
 
Also wenn der Link zum Beispiel so aussieht:

PHP:
ueberwachung.php?link=abc

Dann kann die Seite Überwachung auswerten welcher Link angeklickt wurde und anschließend auf diese Seite weiterleiten.
 
Also ich habe den Link:


ueberwachung.php?link=
<a href="http://www.chip.de">Chip</a>

oder wie muss ich den schreiben? Und wie bringe ich die Meldung das jemand den Link angeklickt hat auf einer andere PHP/HTML Datei?

Gruß Lukas.
 
Nein, du schreibst den Link zum Beispiel so:

PHP:
<a href="ueberwachung.php?link=http://www.chip.de">Link zu chip.de</a>

Dadurch wird dann deine "Überwachungsseite" aufgerufen und du kannst dort beispielsweise einen Eintrag in eine Datenbak machen wo gezählt wird das eben dieser Link angeklickt wurde. Anschließen leitest du auf die Seite um auf die der Link zeigt:

PHP:
header("Location:" .$_GET["link"]);

Den Verweis so offen zu übergeben birgt jedoch auch die Gefahr das jemand die gesamte Adresse manuell eingibt und falsche Daten anhängt. Du könntest aber in einer Tabelle z.B. speichern:

1 = chip.de
2= tutorials.de
3= web.de

und dann:

PHP:
<a href="ueberwachung.php?link=1">Link zu chip.de</a>

schreiben. Beim Aufruf wird dann geprüft ob ein Eintrag für diese Zahl in der Datenbank vorhanden ist und wenn ja wird umgeleitet. Wenn nicht kannst du auf eine Standardseite umleiten oder einfach einen Fehler ausgeben.

Ach so noch was. Dukannst zusätzlich zu dem Parameter "link" einen weiteren anhängen, zum Beispiel "from" und gestalltest es dann so:

PHP:
<a href="ueberwachung.php?link=1&from=<?php echo __FILE__; ?>">Link zu chip.de</a>

__FILE__ beinhaltet dann den Namen der Datei auf der der Link angeklickt wurde. Diesen Wert kannst du dann auch entsprechend verarbeiten.
 
Zuletzt bearbeitet:
Die Antwort war schon sehr gut. kannst du vielleicht ein beispiel machen? Ich habe noch nicht ganz gecheckt wie das laufen soll, da ich hoffe wenn ich bsp die ueberwachung.php offen habe und jemand klickt auf der Seite "Links.php" den link für Chip.de an dann soll mir nach einer Aktualisierung angezeigt werden das jemand auf der Seite "Links.php" den link Chip.de angeklickt hat.

Eine beispieldatei wäre vielleicht von Vorteil damit du mir das zeigen kannst.
 
Ok, der Code ist zwar nicht sehr schön sollte aber die Funktion klar machen:


PHP:
<?php
session_start();

if (!isset($_SESSION["zaehler"])) {
	$_SESSION["zaehler"] = Array(0, 0, 0);
}
?>

<a href="link.php?link=1&from=<?php echo basename(__FILE__); ?>">Link zu tutorials.de</a>
<br /><br />
<a href="link.php?link=0&from=<?php echo __FILE__; ?>">Link zu chip.de</a>
<br /><br />
<a href="link.php?link=2&from=Seite 0815">Link zu google.de</a>
<br /><br />

<?php
$link = Array("http://www.chip.de", "http://www.tutorials.de", "http://www.google.de");


if (isset($_GET["link"])) {
	$_SESSION["zaehler"][$_GET['link']]++;

	echo " Anzahl aufrufe pro Seite:<br /><br />";

	for ($a = 0; $a < count($_SESSION["zaehler"]); $a++) {
		echo $link[$a] ." wurde " .$_SESSION["zaehler"][$a] ." mal aufgerufen <br />";
	}

	echo "<br />Der Aufruf erfolgte von der Seite: " .$_GET["from"];
?>
<head>
<meta http-equiv="refresh" content="5; URL=<?php echo $link[$_GET['link']]; ?>">
</head>

<?php
} else {
	echo "Sorry, kein Link angegeben";
	exit;
}

?>

Auf der Seite selber gibt es jetzt 3 Links mit den entsprechenden Parametern "link" und "from". Wird jetzt einer dieser Links angeklickt ruft sich die Seite selber auf wertet die Angaben aus und zeigt sie an. Dann erfolgt nach 5 Sekunden die Weiterleitung auf die Seite die mit dem Link aufgerufen wurde.
Die Zählfunktion ist hier über eine Sessionvariable gelöst. Du solltest dazu eine Tabelle anlegen um alles zu speichern.

Versuche das Beispiel nachzuvollziehen und an deine Bedürfnisse anzupassen. Wenn es nicht klappt oder klar ist einfach wieder melden.

Gruß Thomas
 
Zurück