ergebnis nach formular aus tabelle an header übergeben

  • hallo leute

    bin neu hier und google schon neweile genauso wie ich auch mein schlaues php-buch schon zum x-ten mal durchforstet hab.
    ich bin dabei einen webshop zu basteln und hänge da grad an nem kleinen problem.

    hier erst mal der code:

    ich möchte das

    PHP
    echo "<td>". $zeile['link'] . "</td>";

    an $url übergeben wird damit man dieses dann mit header als neue seite automatisch laden kann.

    leider sind meine php kenntnisse relativ schlecht (noch, hoffe ich) und hab keine ahnung wie ich das realisieren soll. ?(

    vielleicht könnt ihr mir da weiterhelfen

    danke schonmal im vorraus

    grüße

  • Also, der Eintrag kommt aus der Datenbank, richtig? Naja, dann reicht eine simple Prüfung, ob auch eine URL da ist, um daraufhin dahin zu leiten:

    PHP
    if ($zeile["link"] && !empty($zeile["link"])) {
        header("Location:" . $zeile["link"]);
        exit;
    } else {
        // Keine URL vorhanden
    }


    Falls man auch Daten von außerhalb annimmt, würde ich vorher noch eine Überprüfung einführen, die schaut, ob das überhaupt eine URL ist, auf die du leiten willst.

  • Cool danke,

    jop wird mittels post direkt aus der DB gelesen

    und wo muß ich den code einfügen vor header darf ja glaub ich keine ausgabe stattfinden

    grüße

  • ok hab ich versucht nur ändert sich an der seite nichts

    so sieht jetzt der code aus

    er findet auch den link zeigt ihn mir aber weiterhin im table an ?(

    grüße

    Einmal editiert, zuletzt von Bigbossmen (27. Oktober 2014 um 05:47)

  • Wie sieht denn der Link dann aus?
    Damit die Weiterleitung via header klappt, muss soviel ich weiß eine URL komplett mit Protokoll und allem übergeben werden. Also "beispiel.de" wäre falsch, "http://www.beispiel.de" wäre richtig.

    Aber du sagst, es wird dir eine Tabelle ausgegeben, wo auch ein Link drinsteht? Das ist sehr seltsam, dafür ist nämlich eigentlich das "exit;" in der Schleife, welches weitere Codeausfürhung verhindern sollte o.0

  • habs jetzt nicht getestet, aber ich glaube da fehlt ein Leerzeichen:

    PHP
    // anstatt:
    header("Location:" . $zeile["link"]);
    // das hier:
    header("Location: " . $zeile["link"]); // leerzeichen nach Location:


    Und wie The Scout schon sagte: VOR der ersten Ausgabe. Dazu zählt auch eine warning oder notice die von PHP geworfen werden.
    Nicht mal ein Leerzeichen darf vorher an den Browser gehen.
    siehe: http://de2.php.net/manual/de/function.header.php

  • jop deswegen die frage da ich das ja da gelesen hab habs grad geändert und zwei sachen auskommentiert aber er gibt mir immer noch den link als table aus

    frage wie müsste ich es schreiben wenn ich sage db ergebnis = $url
    und ich $url in den header reinnehme

    hier der derzeitige code

    grüße

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!