lokalhost funktioniert skript / server funktioniert skript nicht

Eurocid

Mitglied
Hallo wieder mal und guten Abend

Ich habe ein seltsames Problem, ich habe einen Filter mit z.b. 6 Auswahlkriterien, unter jeder Auswahl werden die einzelnen möglichen Kriterien aus einer Datenbank ausgegeben.

Das sieht dann so aus:

Filter Kriterium 1
Weinsorte a
Weinsorte b
usw...

Filter Kriterium 2
Jahrgang a
Jahrgang b
usw...

Filter usw...

Wenn ich jetzt auf z.B. Jahrgang a klicke, soll der Filter die Hauptausgabe so filtern das natürlich nur die Weine ausgegben werden die diesen Jahrgang haben. Soweit hab ich das auch schon geschafft.
Zusätzlich soll der Link der angeklickt wird aber seine Farbe ändern und hier hab ich jetzt mein Problem. Damit sich die Farbe ändert verwende ich Sessions, da ich für den Filter auch Sessions verwende.

Hier der Code:
PHP:
$query_typ = mysql_query("SELECT DISTINCT typ FROM shop ORDER BY id");
while ($typ = mysql_fetch_array($query_typ))
    {

    if($_SESSION['style_typ'] == $typ[0]) {$style_typ = "aktiv";}
    else {$style_typ = "";}

    echo "<li><a href='shop.php?typ=$typ[0]' id='filter' class='" . $style_typ . "'>$typ[0]</a></li>";

    }

Dieser Code funktioniert wunderbar im Lokalhost, aber wenn ich die Datei hochlade und auf den Server spiele, funktioniert er nicht mehr richtig.

Hier wird, falls man es nicht gleich erkennt einfach der class tag zugeteilt. (oberer Code)

Die Sessions werden so vergeben. (unterer Code)

PHP:
if($_GET['typ']) 
    {
    $_SESSION['filter'][0] = "typ='{$_GET['typ']}'";
    $_SESSION['style_typ'] = $_GET['typ'];
    if($_GET['typ'] == "LEER") 
        {
        $_SESSION['filter'][0] = "typ!='{$_GET['typ']}'"; 
        }
    }
if($_SESSION['filter'][0] == "") { $_SESSION['filter'][0] = "typ!='LEER'"; }

Get Typ = Der angeklickte Link
Session Filter = Baut den Query für die Datenbank zusammen. (Ist für mein Problem denke ich nicht relevant)
Session Style = Speichert welcher Link angeklickt wurde, damit der class tag zugewiesen wird.

Mein Problem:
Der Style wechsel funktioniert einwandfrei, im Lokalhost.
Leider aber nicht wenn ich es auf meinen Server hochlade?

So nun hab ich ne Menge Zeilen runtergetippt, ich hoffe das ist nicht zu verwirrend geschrieben, wenn mehr oder andere Infos notwendig sind einfach melden.

Danke schonmal im Voraus
MFG Cid
 
Zuletzt bearbeitet:
Was passiert denn, wenn Du das Script auf dem Webserver aufrufst? Ist irgendetwas zu sehen? Eine Fehlermeldung?
 
Guten Morgen, Hallo Threadi

Nein, keine Fehlermeldung, läuft alles wie es soll. Soweit ich das sehe, wird die Variable $style_typ nicht richtig gesetzt. Dadurch wird das CSS nicht zugewissen.

Wenn z.b. in $typ 2 Strings enthalten sind, und ich klicke auf einen funktioniert das CSS (class=aktiv). Klicke ich dann den anderen an haben beide wieder kein CSS.

Grüße Cid
 
Ein Frage, kann es sein das dein "lokalhost" ein Windows System ist und dein Server Linux?

Irgendwie sieht deine Filterfunktion recht übel aus. Warum filterst du nicht über den SQL Server?
 
Mal ganz banale Sachen: Stimmen die MySQL Daten für localhost und den Webserver denn überein, bzw hast du diese angepasst? Liegen alle Dateien im richtigen Verzeichnis? Schreibe in die erste Zeile mal "error_reporting(E_ALL);". Hinter deinen Query setze mal ein
PHP:
$result = mysql_query('DEIN QUERY) or die(mysql_error());

Lasse dir außerdem mal diese beiden Variablen ausgeben:
PHP:
$_SESSION['style_typ']
$typ[0]
 
Guten Morgen

Da kommen ja doch noch Anregungen :)

@Napofis: Die Systeme sollten beides Windows sein. Mein Test-Server ist von Funpic.de, wenn dir das was hilft.

@Napofis: Über SQL Filtern, das sagt mir eigentlich nichts, wie meinst du das denn?

@Timestamp: Die SQL Datenbankzugriffe stimmen, da ich ja die Filterergebnisse, beim anklicken der Links sofort sehe. Da läuft alles wie es soll, es scheitert rein daran die angeklickten Links Farbig zu markieren, damit ich auch sehe welche Filter schon aktiviert sind.
(Am Lokalhost und am Server)

@Timestamp: Die ganzen Variablen hab ich mir auch schon ausgeben lassen, ob diese überhaupt richtig besetzt sind, da ist ja mein "noch" unerklärliches Problem entstanden.

Im Lokalhost: $session[style_typ] = OK
$typ[0] = OK

Am Server:$session[style_typ] = wird nicht korrekt vergeben?
$typ[0] = OK

Werde das mit den Errorcode mal versuchen, ob da was kommt. :(
Wenn du die ganauen Variablen + Inhalt brauchst meld dich noch mal.

Mfg
Cid
 
Guten Abend wieder einmal

Endlich ich habe es geschafft, dass die CSS zugewiesen wird, hier der Code falls es jemanden interressiert:

PHP:
$query_region = mysql_query("SELECT DISTINCT weinregion FROM shop ORDER BY id");
while ($region = mysql_fetch_array($query_region))
    {

    echo "<li><a href='shop.php?region=$region[0]' id='filter' class='";
    if($region[0] == $_SESSION['style_region']){  $aktiv_typ = 'aktiv';  }
    else {  $aktiv_typ = 'inaktiv';  }
    echo $aktiv_typ . "'>$region[0]</a></li>";

    }

Mfg
Cid
 
Zurück