Matt: Include mit Variablen

<code>

include('http://www5.test.de/x.php?t='.$t.'&s='.$s.'&pname='.$pname.'&lname='.$lname.'&str='.$str.'&no='.$no.'&pcode='.$pcode.'&cy='.$cy.'&abo='.$abo.'&issue='.$issue.'&rid='.$nid.'&bname='.$bname.'&code='.$code.'&anumber='.$anumber.'&name='.$name);
 }

</code>

Die letzten beiden Variablen werden nicht an das Includete Script weitergeben obwohl sie befüllt sind. Kann es sein dass man per Include Befehl nur Variablen mit einer bestimmten Anzahl an Zeichen übergeben kann oder dass der Include Befehl nur eine bestimmte Anzahl an Zeichen besitzen darf?

Hat jemand eine Idee wie ich das anderst lösen kann?

Danke

  1. Die letzten beiden Variablen werden nicht an das Includete Script weitergeben obwohl sie befüllt sind. Kann es sein dass man per Include Befehl nur Variablen mit einer bestimmten Anzahl an Zeichen übergeben kann oder dass der Include Befehl nur eine bestimmte Anzahl an Zeichen besitzen darf?

    Hi,

    soweit ich weiß darf die Länge der Parameter bei GET-Requests nicht mehr als 255 Zeichen umfassen - eventuell ist das Dein Problem?

    1. Hi,

      soweit ich weiß darf die Länge der Parameter bei GET-Requests nicht mehr als 255 Zeichen umfassen - eventuell ist das Dein Problem?

      Genau das habe ich vermutet, hast du eine Idee wie ich die Variablen anderst an den anderen Server senden kann? ;-)

      Grüße & DANKE!

      1. soweit ich weiß darf die Länge der Parameter bei GET-Requests nicht mehr als 255 Zeichen umfassen - eventuell ist das Dein Problem?

        Genau das habe ich vermutet, hast du eine Idee wie ich die Variablen anderst an den anderen Server senden kann? ;-)

        Wenn Du einen include benutzt um eine PHP-Datei in die aktuelle einzubinden, bedeutet dies, dass der Quellcode eingentlich einfach an der include-Stelle ganz normal abgearbeitet wird. Das bedeutet, dass Du ganz normal auf die Variablen zugreifen kannst.

        Beispiel:

        Datei: include.php

        <?
        echo $variable;
        ?>

        Datei: index.php

        <?
        $variable = "Hello World";
        include("include.php");
        ?>

        Ein Aufruf der index.php würde ein "Hello World" ausgeben.

        1. Problem an der Geschicht ist, dass das einzubindende Script auf einem anderen Server liegt und ich somit nicht die Möglichkeit habe, welche du mir genannt hast.

          Gruß

          1. Problem an der Geschicht ist, dass das einzubindende Script auf einem anderen Server liegt und ich somit nicht die Möglichkeit habe, welche du mir genannt hast.

            Gruß

            Tja, hast du denn schreibzugriff auf das Ziel-Script?
            Dann ergäben sich folgende Möglichkeiten:
            1. den String kürzen, indem man z.B. Zahlen-Werte als Hex ausdrückt (oder auch in einem Zahlensystem mit 58 Zeichen, A-Z + a-z + 0-9) oder auch eine Session-Methode einsätzt (die die Datenmenge als String idR auch dramatisch reduziert)
            Oder 2. du lagerst die Daten aus, in eine Datenbank oder in eine Datei und lässt das Zielscript wiederum diese Datenbank oder Datei lesen. Dann kann man auch _richtig_ viele Daten übertragen.

            Beide Varianten erfordern aber wie gesagt, dass du das includete Script selber bearbeiten kannst.

  2. echo $begrüßung;

    include('http://www5.test.de/x.php?t='.$t.'&s='.$s.'&pname='.$pname.'&lname='.$lname.'&str='.$str.'&no='.$no.'&pcode='.$pcode.'&cy='.$cy.'&abo='.$abo.'&issue='.$issue.'&rid='.$nid.'&bname='.$bname.'&code='.$code.'&anumber='.$anumber.'&name='.$name);
    Die letzten beiden Variablen werden nicht an das Includete Script weitergeben obwohl sie befüllt sind.

    Womit? Vielleicht hast du nicht beachtet, dass in eine URL einzufügende Daten URL-gerecht kodiert werden müssen.

    echo "$verabschiedung $name";

    1. » Womit? Vielleicht hast du nicht beachtet, dass in eine URL einzufügende Daten URL-gerecht kodiert werden müssen.

      Und wie macht man das?

      Grüße Matt

    2. theoretisch kann es aber nicht an URLENCODE() liegen, denn der Typ des Inhalts dieser beiden Variablen ist gleich wie der Typ des Inhalts einer Variable etwas weiter vorne im Include Tag.

      1. echo $begrüßung;

        theoretisch kann es aber nicht an URLENCODE() liegen, denn der Typ des Inhalts dieser beiden Variablen ist gleich wie der Typ des Inhalts einer Variable etwas weiter vorne im Include Tag.

        Ich weiß nicht, was du unter "Typ des Inhalts" verstehst, und du hast dich immer noch nicht über den konkreten Inhalt im Fehlerfall ausgelassen, aber es gibt nun einmal bestimmte Zeichen, die eine Sonderbedeutung im URL-Kontext haben und zu beachten sind.

        Mehr Ideen hab ich erstmal nicht. Vielleicht kann ich dir die Ursache sagen, wenn du etwas mehr Informationen rausrückst.

        echo "$verabschiedung $name";