Bei ausführen eines Linkes zusätzlich PHP-Code ausführen

simste

Mitglied
Ich möchte, dass wenn jemand auf einen Link drückt erst eine PHP-Aktion durchgeführt wird, und dann der Link ausgeführt wird. Kann mir da jemand weiterhelfen?

Simste
 
Wenn der User auf ein Link klickt, kommt er auf ein Script, in welchem du oben den gewünschten Code ausführst (allerdings dürfen keine Daten an den Browser [Ausgabe, etc.] gesandt werden) und ihn danach mit header('Location: http://www.bladestination.com'); weiterleitest.
 
Hallo Igäl,

Wenn ich aber die Links in einer datenbank gespeichert habe und bei jedem Aufruf eines der Links die Spalte 'hits' im Datensatz um 1 erhöhen will, muss ich bei deinem Vorschlag für jeden Link ein eigenes Skript schreiben. Kann man das auch irgendwie in einem Skript unterbringen?
 
Hallo,
wie wär's hiermit:
PHP:
<?php
    $sql = 'UPDATE tabelle SET hits = hits + 1 WHERE id = "'.intval($_GET['id']).'"';
    $query = mysql_query($sql) or die(mysql_error());
    header('Location: deinskript.php');
?>

mfg
forsterm
 
Du kannst ja auch jeden Link auf das selbe Script verlinken und die gewünschte Ziel URL als Parameter mitgeben.
 
Ich habe nun die Ziel-URL als Parameter übernommen und folgendes Skript geschrieben:
<?php
require("mysql.connect.php");
$sql = "UPDATE tabelle SET hits = hits + 1 WHERE url = '".intval($_GET['url'])."'";
$query = mysql_query($sql) or die(mysql_error());
header("Location: $_GET['url']");
?>
Nun kriege ich folgende Fehlermeldung:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Programme\wamp\Webseiten\mysql\mysql.link.php on line 5

Kannst du mir weiterhelfen?
 
Hallo,
probier's mal so:
PHP:
<?php
    require('mysql.connect.php');
    $sql = "UPDATE tabelle SET hits = hits + 1 WHERE url = '".mysql_real_escape_string($_GET['url'])."'";
    $query = mysql_query($sql) or die(mysql_error());
    header('Location: '.$_GET['url']);
?>

mfg
forsterm
 
Hallo forsterm

Ich habe das jetzt so gemacht, wie du gesagt hast und erhalte folgende Fehlermeldung:
Unknown column 'url' in 'where clause'
 
Stimmt, ich hatte den falschen Tabellennamen angegeben. Dadurch konnte er die Spalte 'url' nicht finden. Jetzt funktioniert es. Danke für die Hilfe.
 
Zurück