Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

bannerproblem





Frage

hallo miteinander, ich bräuchte mal ein bisschen inspiration, weil ich absolut nicht weiss wie ich das anstellen soll. undzwar will ich auf meiner seite ein partnerprogramm erstellen. partner können sich anmelden und kriegen per email einen username. zudem erhalten die kunden ein script welches sie auf ihrer homepage einbinden können. wenn nun ein besucher auf den banner bei dem partner klickt und bei mir landet soll folgendes passieren: der besucher der vom partner kommt wird wahrscheinlich nicht nur bei der einen seite bleiben sondern auch durch die verschiednen seiten surfen, sobald er allerdings auf eine bestimmte seite geht wo ein formular auszufüllen ist sollte versteckt vermerckt sein, dass der besucher von dem jeweiligen partner kommt. kurz ausgedrückt: den REFERER über mehrer seiten hinweg übertragen und wenn der besucher das formular ausfüllt und abschickt versteckt den REFERER per mail übertragen. habt ihr da vielleicht ideen oder lösungsvorschläge dazu? ich wäre euch da sehr dankbar, weil ich wirklich kaum noch weiter weiß - am liebsten wäre es mir wenn man dies über mySQL machen könnte, damit alles autmatisch abläuft z.B. die vergabe des usernames für den parter. danke schon mal im voraus gruß alex

Antwort 1 von Nessus

Hi,

na denn mach hin....
Oder soll ich deine Frage so verstehen: Ich suche einen Dummen der dies für mich macht.
Wenn Du konkrete Fragen hast, melde dich wieder.

Nessus

Antwort 2 von alex schneider

hallo nessus,

also wenn das so rübergekommen ist, dann tut es mir leid.

ich habe schon folgendes probiert - in den header steht folgendes:

<?php
session_start();
$_SESSION['partner'] = $_SERVER['HTTP_REFERER'];
?>

und in dem formular würde dann dementsprechend als <input hidden> die $_session['partner'] stehen.

problem ist nur, dass der http_referer immer die letzte seite nimmt - wenn der besucher aber nun ein paar mal auf meiner homeapge rum klickt, dann erscheint ja immer die letzte seite - und das kriege ich einfach nicht gebacken.

gruß alex

Antwort 3 von semi

Versuche es so

<?
session_start();
if(!session_is_registered("partner"))
{
  // Das hier nur auf der Seite auf die gelinkt wird
  session_register("partner");
  $partner = $_SERVER['HTTP_REFERER'];
}
...
?>
In allen anderen Seiten (session_start();), dann sollte $partner den gesetzten Referer enthalten.

Antwort 4 von alex schneider

servus,

habe ich versucht, wenn ich den referer allerdings ausgeben lassen will, mit:


<?php
echo "partner: " . $_SESSION['partner'];
?>



zeigt er nichts an. ich habe es so gemacht wie du gemeint hattest - auf die index.php auf die von anderen seiten verlinkt wird ist folgendes drin:


<?
session_start();
if(!session_is_registered("partner"))
{
  // Das hier nur auf der Seite auf die gelinkt wird
  session_register("partner");
  $partner = $_SERVER['HTTP_REFERER'];
}
...
?>



bei allen anderen seiten steht dann lediglich


<?
session_start();
?>


ja wie gesagt, kommt leider nichts raus - woran liegt das?

ciao alex

Antwort 5 von semi

Ich hab's gerade versucht.
index.php
<?
session_start();
if(!session_is_registered("partner"))
{
  session_register("partner");
  $partner=$HTTP_REFERER;
}
?>
<br><a href="seite2.php">Seite 2</a>
seite2.php
<?
session_start();
if(session_is_registered("partner"))
  echo $partner;
else
  echo "Nix Partner";

?>
<br><a href="index.php">Index</a>
Es läuft bei mir einwandfrei.

Mal abgesehen von register-globals, was bei mir "On" ist und bei Dir "Off" (Hat nichts mit dem Problem hier zu tun)

Prüfe Deine eistellungen in PHP.INI
Bei mir steht folgendes.

session.save_handler=files
session.save_path=d:\lang\php\sessiondata
session.use_cookies=1
session.name=PHPSESSID
session.auto_start=0
session.cookie_lifetime=0
session.cookie_path=/
session.serialize_handler=php
session.gc_probability=1
session.gc_maxlifetime=1440
session.entropy_length=0
session.cache_limiter=nocache
session.cache_expire=180
session.use_trans_sid=1

außerdem lasse ich im Browser das übermitteln des Referers zu.
Und wie Du am Pfad erkennst alles unter Windoof.

Gruß,
Michael

Antwort 6 von Alex Schneider

servus,

hier meine daten die in der php ini auf dem server stehen:

php Version 4.2.2

session.save_handler=files
session.save_path=/tmp
session.use_cookies=On
session.name=PHPSESSID
session.auto_start=Off
session.cookie_lifetime=Off
session.cookie_path=/
session.serialize_handler=php
session.gc_probability=1
session.gc_maxlifetime=1440
session.entropy_length=0
session.cache_limiter=nocache
session.cache_expire=180
session.use_trans_sid=1
--------------------------------------------
register_globals = on


hab genau das gleich wie bei dir - einzigster unterschied - dass ich nicht mit if else arbeite sonder, dass bei mir alles html ist, ganz am anfang der seite wird die datei header.php included worin session_start enthalten ist, dann kommt ne menge html-code und fast am ende kommt dann die ausgabe der variable:

<?php echo "partner: " . $_SESSION['partner'];>

gruß alex



Antwort 7 von semi

Wird die Session-Id an die URL angehängt, wenn Du auf einen Link klickst?
Bei mir sieht es ungefähr so aus:

http://localhost/..../seite2.php?PHPSESSID=7599470b699fae...

Wenn es nicht der Fall ist, dann versuche mal einen Link, wie folgt zu schreiben


<a href="seite2.php?<?php echo strip_tags(SID)?>">Seite 2</a>


Antwort 8 von Alex Schneider

nein wird keine SID dran gesetzt - hab aber nun eine andere lösug raus - schau mal hier:

der link zum aufnehmen der seite.

inhalt meineseite.de/click_mich.php?partner_id=234


<?php
session_start();
header('Location: http://www.meineseite.de/index.php');
$_SESSION['partner_id'] = $_GET['partner_id'];
?>


und dann auf jeder seite <?php session_start();?>

auf der seite wo es ausgegeben werden soll:

partner_id: <?php echo $_SESSION['partner_id'];?>

so funktioniert es endlich - danke dir für deine bemühungen!

ciao alex

Antwort 9 von semi

Ist sogar besser so. :-)
Auf diese Art kann jeder "Partner" seine ID eindeutig setzen. Damit sparst Du Dir das Mapping der Adresse zur Referer-ID.


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: