Zaratozom: Variablenübergabe funzt nicht...

Hallo Leute,

ich werd noch verrückt. Nun versuche ich schon lange Zeit eine
Variable zu übergeben, doch leider gelingt es mir nicht.

$id = "tabellenname";
<input type=hidden name="nr" value="$zahl">

<a href="buchung.php?kurs=id&nummer=nr">

Irgendwas mache ich wohl nach dem ? falsch...

Ich würde gerne die gespeicherten Werte aus der Startdatei in die
buchung.php datei schicken. Kann mir da jemand helfen ?

Das wäre sehr nett ;-)

Viele Grüsse

  1. Hallo.

    Also, vielleicht hast du die Code-Fragmente recht willkürlich aus deinem Script kopiert. Wenn nicht, dann passiert da gerade mal genau gar nichts.

    Also, zunächst musst du alle PHP-relevanten Angaben entsprechend kennzeichnen mit
    <?php
    /* php-code */
    ?>

    Richtig wäre demnach folgendes (Ausschnitt):
    <?php
    $id = "tabellenname";
    ?>
    <a href="buchung.php?kurs=<?php echo $id;>">

    Mir ist nicht klar, was du mit dem Input-Feld anstellen willst (zumal da die Tags <form> und </form> drumherum fehlen)?

    So wird jedenfalls als Parameter "kurs" der Wert "tabellenname" übergeben.

    Grüße
    Sascha

  2. ich werd noch verrückt. Nun versuche ich schon lange Zeit eine
    Variable zu übergeben, doch leider gelingt es mir nicht.

    $id = "tabellenname";
    <input type=hidden name="nr" value="$zahl">

    <a href="buchung.php?kurs=id&nummer=nr">

    Irgendwas mache ich wohl nach dem ? falsch...

    Wie Sascha bereits geschrieben hat, führst Du überhaupt keinen PHP-Code aus, somit kann PHP auch keine Variablen einsetzen. Davon abgesehen noch einen Hinweis: In HTML hat ein einzelnes & nichts zu suchen, weil es als Einleitung für Sonderzeichen wie ö dient. Das gilt auch für Verweise; willst Du ein & in der URL haben, mußt Du wie üblich & schreiben. Deine obiger Verweis müsste dementsprechend folgendermaßen aussehen:

    <a href="buchung.php?kurs=id&nummer=nr">
    ------------------------------^^^^^

    Das hat aber _keine_ Auswirkungen auf die tatsächliche URL; der Browser ersetzt wie immer & durch & und wird korrekt "buchung.php?kurs=id&nummer=nr" aufrufen.

    Siehe auch http://www.htmlhelp.com/tools/validator/problems.html#amp.

    Gruß,
      soenk.e

    1. Hallo,

      Vielen Dank für eure Antworten. Natürlich gehört da noch ein bissl code dazu:

      <?

      $id = "tabellenname"; // Ist der Name der Datenbanktabelle

      // Die Value übergibt die Kursnummer, da ich mich in einer while schleife befinde...

      echo "<a href="buchung.php?nummer=$nr&id=$name">Buchung</a><form><input type=hidden name="nummer" value='.$row['Kurs'].'"></form>;

      // Hier soll die Variable $id mit übergeben werden weil ich diese
      in meinem buchen.php script dann ungfähr so aufrufen will:
      (natürlich mit den php tags)

      $sql = "SELECT * FROM $name WHERE kurs='$nr'";
          $result = mysql_query($sql);

      Der User wählt den Button und übergibt somit die tabelle ($id)
      und die Spalte/Reihe ($nr)

      Wäre nett wenn ihr mir helfen könntet ;-)

      Viele Grüsse

      1. echo "<a href="buchung.php?nummer=$nr&id=$name">Buchung</a><form><input type=hidden name="nummer" value='.$row['Kurs'].'"></form>;

        Wie gesagt:

        echo "<a href="buchung.php?nummer=$nr&id=$name">Buchung</a>

        // Hier soll die Variable $id mit übergeben werden weil ich diese
        in meinem buchen.php script dann ungfähr so aufrufen will:
        (natürlich mit den php tags)

        $sql = "SELECT * FROM $name WHERE kurs='$nr'";

        Die URL-Variablen kommen seit PHP 4.1 nicht mehr automatisch an's allgemeine Tageslicht, Du mußt stattdessen auf ein Feld namens $_COOKIES zugreifen. Ruf in der Zielseite

        phpinfo(INFO_VARIABLES);

        auf, dort wirst Du alle Variablen aufgelistet findet, die PHP Dir von außen zur Verfügung stellt.

        Gruß,
          soenk.e

        1. Hi soenk.e

          Vielen Dank für deine Mühe mir zu helfen.
          Leider verstehe ich noch immer nicht ganz wo ich nun die
          $_COOKIES Variable anbringen muss...

          Mein erster Gedanke war auf einem Hidden Field im value Bereich, aber
          wie über gebe ich dann genau die Werte in die Zieldatei?
          Kann ich die dann ohne weiteres über zB $id in der Zieldatei ansprechen? Oder muss ich da etwa die $_COOKIE Var stezen?

          Sorry bin noch nicht so lange dabei.

          Besten Dank nochmals für die Hilfe

          Viele Grüsse

          1. Leider verstehe ich noch immer nicht ganz wo ich nun die
            $_COOKIES Variable anbringen muss...

            Ups, $_COOKIES ist (in Deinem Fall) ganz großer Käse, da muß ich kurzzeitig an geistiger Umnachtung gelitten haben..

            Also: Du kannst in der Quelldatei die Variablen selbstredend ganz normal benutzen. Lediglich in der Zieldatei ist es so, daß die Variablen, die Du per URL oder auch per Formular übergibst, in Feldern auftauchen und nicht mehr als eigenständige Variablen. Variablen aus der URL stehen in $_GET, Variablen aus <form method="post">-Formularen in $_POST (bei <form method="get"> landen sie -Überraschung- in $_GET, aber das nur nebenbei).

            Rufst Du also eine Seite "hallo.php?wer=Welt" auf, bekommst Du im Zielskript im Feld $_GET einen Eintrag "wer": $_GET["wer"]=="Welt". Schickst Du ein Formular mit einem <input name="wer"> ab, steht in $_POST["wer"] der jeweilige Wert des <input>-Elements.
            Einschränkung: In älteren PHP-Versionen heißen diese Felder $HTTP_GET_VARS und $HTTP_POST_VARS.

            Probier es einfach mal aus und schreib in das Zielskript eine Zeile

            phpinfo(INFO_VARIABLES);

            Du wirst in der angezeigten Tabelle alle Deine Variablen wiederfinden.

            Kann ich die dann ohne weiteres über zB $id in der Zieldatei ansprechen? Oder muss ich da etwa die $_COOKIE Var stezen?

            Nein, genau das wollte ich sagen. Diese Variablen erscheinen in der _Zieldatei_ nicht als eigene Variablen, sondern in den genannten Feldern. Probiers mit phpinfo() aus.

            Gruß,
              soenk.e

    2. Ich hatte das Problem auch, die Lösung war einfach:

      <a href="buchung.php?kurs=$id&nummer=$nr">

      Probiers mal damit, das $-Zeichen vor den Variablen mit anzugeben, bei mir hat das gut geklappt...

      ich werd noch verrückt. Nun versuche ich schon lange Zeit eine
      Variable zu übergeben, doch leider gelingt es mir nicht.

      $id = "tabellenname";
      <input type=hidden name="nr" value="$zahl">

      <a href="buchung.php?kurs=id&nummer=nr">

      Irgendwas mache ich wohl nach dem ? falsch...

      Wie Sascha bereits geschrieben hat, führst Du überhaupt keinen PHP-Code aus, somit kann PHP auch keine Variablen einsetzen. Davon abgesehen noch einen Hinweis: In HTML hat ein einzelnes & nichts zu suchen, weil es als Einleitung für Sonderzeichen wie ö dient. Das gilt auch für Verweise; willst Du ein & in der URL haben, mußt Du wie üblich & schreiben. Deine obiger Verweis müsste dementsprechend folgendermaßen aussehen:

      <a href="buchung.php?kurs=id&nummer=nr">
      ------------------------------^^^^^

      Das hat aber _keine_ Auswirkungen auf die tatsächliche URL; der Browser ersetzt wie immer & durch & und wird korrekt "buchung.php?kurs=id&nummer=nr" aufrufen.

      Siehe auch http://www.htmlhelp.com/tools/validator/problems.html#amp.

      Gruß,
        soenk.e