Klassmann: Session ID Probleme auf dem Server - lokal klappts

Hallo zusammen,

habe mal wieder eine Frage. Es geht um 3 Arrays, die durch verschiedene Dokumente hindurch gegeben werden sollen. Das klappt leider nicht zu meiner vollsten Zufriedenheit. Aber schaut es Euch einfach mal an, hier die erste Seite:
<?
  session_start();
  session_register("Feld1");
  session_register("Feld2");
  session_register("Feld3");
  session_set_cookie_params(300);
?>
<HTML>
<HEAD></HEAD>
<BODY>
<a href="seite2.php?<?=SID?>">Zur 2. Seite</a>

</BODY>
</HTML>

Das klappt ja soweit auch ganz gut. Hier nun die zweite:
<?php
 echo $PHPSESSID;
 echo "<br>";
?>
<HTML>
<HEAD></HEAD>
<BODY>
<form method="post" action="dritteseite.php?<?=SID?>">
 ArtikelNr <br> <input name="eins" type="text"> <br>
 Artikel   <br> <input name="zwei" type="text"> <br>
 Preis     <br> <input name="drei" type="text"> <br>
 <input type="submit" value="weiter">
</form>
</BODY>
</HTML>

Das ist auch noch in Ordnung. Die nächste Seite:
<?
  $Feld1[] = $eins;
  $Feld2[] = $zwei;
  $Feld3[] = $drei;
?>

<HTML>
<HEAD></HEAD>
<BODY>
<a href="uebersicht.php?<?=SID?>">&Uuml;bersicht</a> <br>
<a href="seite2.php?<?=SID?>">weitermachen</a>
</BODY>
</HTML>

Hier passiert auch noch alles wie geplant... Nummer 4:
<?
  echo "<HTML><HEAD><title>step04</title></HEAD><BODY>";
  $max = count($Artikel);
  for ($n=0; $n < $max; $n++) {
     echo $ArtikelNr[$n], " - ";
     echo $Artikel[$n], " - ";
     echo $Preis[$n];
     echo "<br>";
  }
?>
<a href="seite2.php?<?=SID?>">weitermachen</a> <br>
<a href="ende.php?<?=SID?>">letzte Seite</a>

</BODY>
</HTML>

So, und genau hier liegt mein Problem! Die SessionID wird zwar übergeben (ich kann sie auf der Seite auslesen, der Inhalt, den ich aber eine Seite zuvor in die Felder geschrieben habe, ist aber nicht da. Die Felder sind leer.
Ich weiss aber nicht warum. Lokal läuft das alles. Nur auf dem Server des Providers passiert nix.
Kann mir jemand eine kurze Hilfestellung geben?

Danke im Voraus,

Peter

  1. Da ist mir dann ein kleiner Fehler unterlaufen.... die letzte Seite war natürlich das Testprojekt von vorne Weg. Die richtige letzte Seite sieht wiefolgt aus:

    <?
      echo "<HTML><HEAD></HEAD><BODY>";
      $max = count($Feld1);
      for ($n=0; $n < $max; $n++) {
         echo $Feld1[$n], " - ";
         echo $Feld1[$n], " - ";
         echo $Feld1[$n];
         echo "<br>";
      }
    ?>
    <a href="seite2.php?<?=SID?>">weitermachen</a> <br>
    <a href="ende.php?<?=SID?>">letzte Seite</a>
    </BODY>
    </HTML>

    Aber das Problem bleibt das gleiche: Die Felder die hier ankommen sind leer, obwohl sie auf der Seite vorher belegt wurden....

  2. Hallo Peter,

    Ich kenne Deinen Provider bzw. seine PHP-Konfiguration nicht. Ich kann mir nur vorstellen, dass er "register_globals" in der php.ini auf "off" gesetzt hat (in kuenftigen PHP-Versionen wird das standardmaessig so sein). Naeheres verraet ein phpinfo().
    Sollte dem so sein, versuche mal ueber $_SESSION['ArtikelNr'][$n] (ab PHP 4.1.0) bzw. ueber $HTTP_SESSION_VARS['ArtikelNr'][$n] auf die Variablen zuzugreifen.

    Beste Gruesse

    Jan

    1. Hi Jan

      Ich kenne Deinen Provider bzw. seine PHP-Konfiguration nicht. Ich kann mir nur vorstellen, dass er "register_globals" in der php.ini auf "off" gesetzt hat (in kuenftigen PHP-Versionen wird das standardmaessig so sein). Naeheres verraet ein phpinfo().
      Sollte dem so sein, versuche mal ueber $_SESSION['ArtikelNr'][$n] (ab PHP 4.1.0) bzw. ueber $HTTP_SESSION_VARS['ArtikelNr'][$n] auf die Variablen zuzugreifen.

      Hmm ich habe schon Versucht, so auf die Variablen zuzugreifen. klappt leider nicht. An der register_globals kann es niht liegen, glaube ich. Ich bekomme die Werte ja über 3 Seiten hinweg übergeben. Nur bei Nr. 4 klappt es nicht :-(
      Naja, werde mal schauen...

      Danke vielmals

      Peter