Problem mit weiterleitungs Script

Hallo zusammen,

Ich hab eine Webseite erstellt und da einige Links zu Partnerprogrammen da ich die etwas verkürzen will hab ich mir ein Script besorgt mit dem ich diese einzeln weiterleiten kann,

Hier das beispiel:

<?php $id = $_GET[’id’];
switch ($id) { case 1: header(”Location: PARTNERLINK“); break; case 2: header(”Location: PARTNERLINK“); break; case “fleurop”: header(”Location: PARTNERLINK“); break; default: header(”Location: PARTNERLINK“); break; } ?\> Hab das Script hochgeladen und einen Versuch gestartet danach bekahm ich volgende meldung: Parse error: syntax error, unexpected ':' in /var/www/xt3b421/html/clicks.php on line 4 Was hab ich flasch gemacht. MfG Index

Hallo!

Bin nicht 100% sicher (kann grad nicht testen), aber kann man wirklich in einem switch sowohl Zahlen als auch einen String gleichzeitig abfragen?
Von php.net:

 richard
10-Nov-2008 10:32
Just a word of warning about using switch don't try and compare 
variables that contain numbers with strings like so:

<?php $i=0;<br />
switch($i)
{
 case 'TEST': print "Test";break;
 case 0: print "0";break;
}
?\>

The output will be: Test and not 0.

Wobei dieser Herr hier nur auf den Fehler aufmerksam macht, aber keinen Fehler wirft… Aber trotzdem mal ändern!

grüße
Geisterkarle

Hallo

<?php :blush:i=0;
switch($i) { case 'TEST': print "Test";break; case 0: print "0";break; } \>

Vergleicht man einen String und eine Zahl, wird der String grundsätzlich in eine Zahl umgewandelt. Dabei kommt meist 0 raus:

<?php $foo = 1 + "10.5"; // $foo is float (11.5)<br />$foo = 1 + "-1.3e3"; // $foo is float (-1299)
$foo = 1 + "bob-1.3e3"; // $foo is integer (1)
$foo = 1 + "bob3"; // $foo is integer (1)
$foo = 1 + "10 Small Pigs"; // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2) 
?\>

$_GET[‚id‘] ist sowieso schon ein String. Am Besten setzt du auch um die ganzen Zahlen Anführungszeichen und machst sie so zum String. Sonst kanns für die 0 Probleme geben.

Das eigentliche Problem ist, dass du typografische Anführungszeichen verwendest. Die werden von PHP nicht erkannt.
Typografische Anführungszeichen sehen so aus: ”“
Du brachst aber das hier: " (’ geht auch)

Gruß Johannes

Hallo,

habe die Zahlen zwischen Anführungs zeichen gesetzt aber ohne erfolg der fehler oder die Meldung kommt immer noch.

Gruß
Index

Danke das problem hat sich gelöst hab ein PHP script bekommen das Funktioniert.

Danke für die antworten.