Ref Zahl auslesen und als Cookie Speichern

PC Freak

Erfahrenes Mitglied
Hallo ich bin PHP Einsteiger und möchte eine art Partnerprogramm realisieren:

Unsere Partner sollen einen Link in Form von http://www.mein-link.com?ref=Zahl erhalten

Wenn ein Internetuser nun auf den Link klickt soll ein php script die ref zahl auslesen und in Form eines Cookies speichern.

Meldet sich nun ein User über unser E-Mail Formular an, soll die cookie Refzahl ausgelesen werden und per Mail mitgesendet werden, damit wir den Kunden einen Partner zuordnen können

Nun möchte ich als erstes einen Cookie erstellen:

PHP:
<?php
 if(isset $_GET['ref']
 {
setcookie ("eBookAffili", "$_GET['ref']", time() + 259200);  

 }
?>

Wie gesagt, ich bin Einsteiger. Leider klappt das script so nicht ?
 
Auf php.net in den Beispielen siehst du die korrekte Syntax zu setcookie.
Das if hast du etwas falsch geklammert ( Auch dazu kannst du auf php.net die richtige Syntax sehen ).
PHP:
if( isset( $_GET['ref'] ) )
{
    setcookie ("eBookAffili", $_GET['ref'], time() + 259200);  
}
So sollte das funktionieren.

//edit: Bei deinem Vorhaben solltest du dich übrigens nicht zu sehr auf cookies verlassen, viele Benutzer haben diese ausgeschalten.
Also wäre eine alternative Speichermethode (Session, Datenbank...) sinnvoll.
 
Zuletzt bearbeitet:
Vielen Dank :) klappt

Nun soll der Inahlt des Cookies, also die Refzahl ausgelesen werden und irgendwie bei einer Anmeldung über das Unterer E-Mail Formular an uns gesendet werden:

PHP:
<table border="0" align="center" cellpadding="1" cellspacing="2">
<form action="anmeldung-auswerten.php" method="post">

<tr>
  <td>Vorname:</td>
  <td><input name="Vorname" size="20" type="text"></td>
</tr>

<tr>
  <td>Nachname:</td>
  <td><input name="Nachname" size="20" type="text"></td>
</tr>

<tr>
  <td>eMail:</td>
  <td><input name="Email" size="20" type="text"></td>
</tr>

<tr>
  <td>Straße:</td>
  <td><input name="strasse" size="20" type="text"></td>
</tr>

<tr>
  <td>Hausnummer:</td>
  <td><input name="hausnummer" size="20" type="text"></td>
</tr>

<tr>
  <td>PLZ:</td>
  <td><input name="plz" size="20" type="text"></td>
</tr>

<tr>
  <td>Wohnort:</td>
  <td><input name="wohnort" size="20" type="text"></td>
</tr>

<tr>
  <td>Land:</td>
  <td><select name="land" size="1"><option>Deutschland</option>
<option>Österreich</option>
<option>Schweiz</option>
<option>Anderes Land</option>
</select></td>
</tr>

<tr>
  <td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken">    <input name="Reset" type="reset" value="Löschen"></td>
</tr>

</form>

</table>

Wie stell ich das am besten an, ohne dass der User etwas davon bemerkt ?
 
Das könnte entweder über ein verstecktes input-Feld passieren:
PHP:
<input type="hidden" name="ref" value="<?php echo $_COOKIE['eBookAffili']; ?>" />
Oder du kannst $_COOKIE['eBookAffili']; direkt in die E-Mail-Nachricht einbinden.
Das wären meine Vorschläge.
 
Zurück