Ankündigung

Einklappen
Keine Ankündigung bisher.

GET Link korrekt aufbauen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • GET Link korrekt aufbauen

    Hallo,

    ich habe ein Problem einen Get Link korrekt aufzubauen.

    das funktioniert:
    PHP-Code:
    echo '<button class="btn btn-success"><a href="'.$_SERVER['PHP_SELF'].'?id='.$data_1['mitglied_id'].'&payment=true&pmfrageid='.$data_1['fk_pmfrage_id'].'&mitgliedstatusid='.$data_1['fk_mitgliedschaft_status_id'].'">Bezahlung erhalten</a></button>'
    Jetzt möchte aber noch eine GET Variable dranhängen aber nur wenn die Variable selbst !empty.

    So was in der Art hatte ich versucht:
    PHP-Code:
    (empty($_GET['par1'])) ? "" "&wert=$_GET['par1']" 
    Hatte das schon auf diverse Varianten angehängt liefert aber Fehler.
    z.B.
    PHP-Code:
    $data_1['fk_mitgliedschaft_status_id'].((empty($_GET['par1'])) ? "" "&wert=$_GET['par1']")'">Bezahlung erhalten</a></button>'
    Fehler:
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
    Ich hoffe jemand kann mir weiterhelfen.

    Danke!


  • #2
    Packe halt nicht alles in eine ewig lange unlesbare concat-Wurst, sondern löse vorher in Vars auf und mach dann zum Schluss einmal einen concat mit den vorher entsprechend gesetzten vars. Eine Var kann ja auch "" sein. Und besser SCRIPT_NAME statt PHP_SELF verwenden.. siehe google PHP_SELF ist "böse" wegen potientiellen XSS Risiko.

    EDIT: Siehe auch sprintf() oder http_build_query()

    EDIT 2: http_build_query() meinte ich natürlich, http_build_str() gibt's ja gar nicht.

    LG
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Nimm http_build_query, ist Standard und überall verfügbar.
      Baue damit als ersten Schritt deine obige Wurst sauber zusammen.
      Das Array kannst du dann problemlos ergänzen, wenn dein Get nicht leer ist.
      Mit http_build_query sparst du dir auch das Anwenden von urlencode() auf jede Komponente,
      fehlt bei deiner Variante total.

      Edit: Die Frage betrifft überwiegend Grundlagen, dafür wäre das Einsteiger-Forum passender.
      PHP-Klassen auf github

      Kommentar

      Lädt...
      X