PHP Variable an andere PHP Datei übergeben

  • Hallo Forum,
    in der einen PHP Datei wird die ID aus der Datenbank gefischt. Anschließend wird ein Link erstellt, welcher die Variable an eine andere PHP Datei übergeben soll. Wenn ich in der anderen PHP Datei nun die übergebene Variable echo, dann kommt dies: $calc_id;

    PHP
    <?php
        $ID = $_GET['Id'];
        echo $ID;
    ?>

    Wo ist hier der Fehler?

  • Also ich habe zwar keine Ahnung, wie du den zusammengesetzten Link dann ausführen möchtest, dazu bedarf es mehr Infos. Aber ich würde das so zusammenkleben (nicht getestet):

    PHP
    $message .= "<a href='http://www.mainlysoft.com/VerifyUser.php?Id=$calc_id'>Best&auml;tigungslink</a>";

    Gegen Mods kommt man nicht an, die haben immer Recht. Sind scheinbar nicht kritikfähig.

  • Übersetze mal bitte "Konkatination", insbesondere in diesem Zusammenhang. Den Begriff habe ich in fast 60 Jahren noch nie gehört. DoubleQuotes zwar auch nicht, aber das kann ich mir noch erklären.
    Übersichtlicher ist es allemal, wenns auch dasselbe ist.

    Gegen Mods kommt man nicht an, die haben immer Recht. Sind scheinbar nicht kritikfähig.

    • Offizieller Beitrag

    Stimmt, falsch geschrieben, sorry.

    Zur genauen Erklärung: https://de.wikipedia.org/wiki/Wort_(The…)#Konkatenation
    Das Zusammenfügen von Zeichenketten nennt man Konkatenation.
    In PHP ist das einfach der . Operator, darf man wissen, wenn man mit PHP arbeitet, muss man aber nicht...

    Dass DoubleQuotes zum Nachdenken anregt, kann ich allerdings nicht so ganz nachvollziehen, denn das ist eigentlich sehr gebräuchlich.
    Es gibt einfache und doppelte "Hochkommas" oder wie manche es im Deutschunterricht gelernt haben "Gänsefüßchen".
    Auf englisch sind das "Quotes", wie man sie für Zitate kennt. Und in der Programmierung heißen diese Dinger SingleQuotes und DoubleQuotes, das sollte man aber kennen, gehört imho zu den Grundlagen!

    Zitat

    Übersichtlicher ist es allemal, wenns auch dasselbe ist.


    Wo habe ich behauptet, dass es nicht dasselbe ist, geschweige denn die bessere Lösung.
    Sinnvoller ist es aber und das macht den Unterschied.

    Hauptsächlich deswegen, weil HTML per Standard DoubleQuotes ( doppelte Hochkommas/Gänsefüßchen ) für Attribut-Werte vorsieht ( dass es auch mit einfachen und tlw. auch ganz ohne geht ist eine Art "Toleranz" ).
    Grundsätzlich kein Problem, weil ich dann für den PHP-String die SingleQuotes wähle, woraus das hier wird:

    PHP
    $message = '<a href="http://www.mainlysoft.com/VerifyUser.php?Id=$calc_id">Best&auml;tigungslink</a><br><br>';


    Da PHP aber innerhalb von SingleQuotes keine Variablen o.ä. parst, kommt es zu dem Problem, das der TE hat(te).
    Sinnvolle Abhilfe schafft in diesem Falle imho nur die Zusammensetzung von Zeichenketten, die "Konkatenation" ( diesmal sogar richtig geschrieben! ):

    PHP
    $message .= '<a href="http://www.mainlysoft.com/VerifyUser.php?Id=' . $calc_id . ">Best&auml;tigungslink</a><br><br>';

    In #7 habe ich halt auf diese ausführliche Beschreibung verzichtet, weil ich davon ausging, dass das klar war.

  • Naja, da ich nur wohl stümperhaft und ohne Lehrer 2000 anfing mir etwas PHP für meine Webseite selber anzutun, kenne ich halt die Fachbegriffe nicht. Die benötigt man, wenn man mit anderen kommuniziert, nicht aber wenn man alleine werkelt. Das ist der einfache Sachverhalt hinter meinem (ehemaligen) Nichtwissen ;)

    Danke euch für die Erklärungen.
    Habt nen schönen Tag

    @Arne
    Die Anzahl deiner Gänsefüßchen haut nicht ganz hin. Da sind 3 Stück.

    Gegen Mods kommt man nicht an, die haben immer Recht. Sind scheinbar nicht kritikfähig.

    Einmal editiert, zuletzt von Gastl (9. Oktober 2016 um 13:20)