Knud Schröder: bekomme absolute Pfade in Links nicht hin

Guten Morgen allerseits!

Hab übers Wochenende das Problem nicht gelöste bekommen.

Ich möchte einen Link mit absoluten Pfaden ausgeben.

echo "<a href="http://www.fireball.de">Fireball</a>";

Wenn ich das ganze teste und mit der Maus überfahre, steht in der Statuszeile:
http://127.0.0.1/httpd/htdocs/pages/http://www.fireball.de

Genauso ist das, wenn ich über <input type=file name="logo"> eine Datei angebe. Wenn ich einen relativen Pfad verwende (images/logo.jpg) geht's aber mit /temp/logo.jpg geht's halt nicht.

Kleine Zusatzfrage hierzu: Kann ich bei 'input type=file ' umschalten, dass nicht *.html gesucht/angezeigt wird, sondern *.gif/*.jpg oder halt *.* ?

Danke für Eure Hilfe!

Knud

  1. Guten Morgen Knud!

    Ich möchte einen Link mit absoluten Pfaden ausgeben.

    echo "<a href="http://www.fireball.de">Fireball</a>";

    Anmerkung: Du realisierst das in PHP! warum nicht:

    //php-ende
    ?>
    <a href="http://www.fireball.de">Fireball</a>
    <?
    //php-weiter

    oder bei dynamisch erzeugten Verweisen:

    //php-ende
    ?>
    <a href="http://<? echo $reflink; ?>"><? echo $refname; ?></a>
    <?
    //php-weiter

    es ist IMHO sicherer, php-variablen in dieser art in den HTML-Code zu schreiben. Theoretisch muesste es dann auch mit dem Verweis funzen.

    Wenn ich das ganze teste und mit der Maus überfahre, steht in der Statuszeile:
    http://127.0.0.1/httpd/htdocs/pages/http://www.fireball.de

    Das weist normalerweise darauf hin, dass das http:// nicht richtig interpretiert wird. Kommt evtl. auch auf den Server an? *schulterzuck*

    Ich arbeite mit den o.a. Beispielen (d.h. gebe grundsaetzlich keinen starren HTML-Code mit echo() aus) und es funzt immer richtig.

    Gruß
    Thomas

    1. Morgen Thomas !

      Genauso wie Du es vorgeschlagen hast, mache ich es, in $link ist der Link zur Seite drauf,
      und mit echo hab ich's dann wie Du ausgegeben, aber es scheint wie Du schon gesagt hast, an der
      Server-Konfiguration liegen, denn ich hab die Seiten mal mit auf die Arbeit geschleppt und dort
      funktionierts (zumindest mit IE, hier ist wieder der Netsie am spinnen, keine Ahnung was der
      wieder hat).
      Beim IE funktionierts auch mit dem <imput type=file ...>
      Beim Netsie konnte ich es jetzt nicht testen (s.o.).

      Noch ne Frage dazu, kann ich in dem <imput type=file ...> einen Dateinamen vorschlagen?
      Ich befürchte, dass das nicht geht, weil es ja einer Bestätigung des Users bedarf, sonst ist die
      Sache ja wieder mit einem Sicherheitsloch gleichzusetzen.

      Wie man bei dem Input noch diese Dateiendung mitgibt, weisst Du auch nicht, oder?

      Vielen Dank nochmal für die Hilfe und gut Frühstück!

      Knud

      1. Morgen Thomas !

        Genauso wie Du es vorgeschlagen hast, mache ich es, in $link ist der Link zur Seite drauf,
        und mit echo hab ich's dann wie Du ausgegeben, aber es scheint wie Du schon gesagt hast, an der
        Server-Konfiguration liegen, denn ich hab die Seiten mal mit auf die Arbeit geschleppt und dort
        funktionierts (zumindest mit IE, hier ist wieder der Netsie am spinnen, keine Ahnung was der
        wieder hat).
        Beim IE funktionierts auch mit dem <imput type=file ...>
        Beim Netsie konnte ich es jetzt nicht testen (s.o.).

        Noch ne Frage dazu, kann ich in dem <imput type=file ...> einen Dateinamen vorschlagen?
        Ich befürchte, dass das nicht geht, weil es ja einer Bestätigung des Users bedarf, sonst ist die
        Sache ja wieder mit einem Sicherheitsloch gleichzusetzen.

        Wie man bei dem Input noch diese Dateiendung mitgibt, weisst Du auch nicht, oder?

        Vielen Dank nochmal für die Hilfe und gut Frühstück!

        Knud

      2. Nochmal Morgen!

        Mistmistmist.
        Server-Timeout und IE hat Antwort zerstoert :-((

        Also nochmal:

        ...aber es scheint wie Du schon gesagt hast, an der
        Server-Konfiguration liegen, denn ich hab die Seiten mal mit auf die Arbeit geschleppt und dort
        funktionierts (zumindest mit IE, hier ist wieder der Netsie am spinnen, keine Ahnung was der
        wieder hat).

        Da der Quelltext serverseitig produziert wird, duerfte es zw.. IE und NC keinen Unterschied geben. Du musst halt so lange aendern, bis der Quelltext passt. Poste evtl. mal den entsprechenden Snippet des Scripts.

        Noch ne Frage dazu, kann ich in dem <imput type=file ...> einen Dateinamen vorschlagen?
        Ich befürchte, dass das nicht geht, weil es ja einer Bestätigung des Users bedarf, sonst ist die
        Sache ja wieder mit einem Sicherheitsloch gleichzusetzen.

        Genau!

        Wie man bei dem Input noch diese Dateiendung mitgibt, weisst Du auch nicht, oder?

        Ha!!!! Erwischt!!!!!
        *VBG*

        <img src="/images/04.gif" alt="">
        !!!!!!!!!!!!!!!!!!

        <../../tchg.htm#a1>

        Nananananaaa!!!!
        ;-)

        Gruß
        Thomas
        (der sich immer noch ueber das vom IE zerstoerte posting aergert)

        <Werbung>
        Lad Dir den Selfbrowser. Damit laesst sich SelfHTML besser navigieren.
        </Werbung>

        <Meinung>
        IE sucks, NC rulez!
        </Meinung>

        1. Da der Quelltext serverseitig produziert wird, duerfte es zw.. IE und NC keinen Unterschied geben. Du musst halt so lange aendern, bis der Quelltext passt. Poste evtl. mal den entsprechenden Snippet des Scripts.

          Meine Form:
          <form name="service_center" action="service_center.php3">
          Homepage:<input type="text" name="homepage" size=40>
          <br>
          <input type="file" name="logo" size=40 accept="image/*">
          </form>

          Liegt's vielleicht daran, dass ich enctype=... nicht gesetzt habe, wenn ja wie?
          (Ich hab in der Doku nichts gefunden)

          Und noch ne Frage: Wie kann ich eingegebene Formulardaten verändern?
          if (!ereg("^http",$homepage)) {$homepage = "http://".$homepage;}
          verändert zwar den Variablenwert, aber nicht die Formularvariable.

          Ich rufe service_center.php3 mit verschiedenen Stati auf und möchte $homepage, dass ich per
          echo "<input type=hidden name="homepage" value="$homepage">"; weitergebe.

          Wenn Du möchtest, maile ich Dir mal das Script zu, das Script ist 14K groß und ich weiß nicht so genau, ob ein Ausschnitt so ausreicht.

          (der sich immer noch ueber das vom IE zerstoerte posting aergert)

          Aber, aber, Du bist doch die Ruhe selbst, oder ?

          Lad Dir den Selfbrowser. Damit laesst sich SelfHTML besser navigieren.

          Hast ja recht, liegt auf meinem Desktop und ich nutze ihn nicht, warum eigentlich?

          IE sucks, NC rulez!

          Unterstreich!

          Grüße, Knud

          1. Hi Knud!

            Meine Form:
            <form name="service_center" action="service_center.php3">
            Homepage:<input type="text" name="homepage" size=40>

            <input type="file" name="logo" size=40 accept="image/*">
            </form>

            Liegt's vielleicht daran, dass ich enctype=... nicht gesetzt habe, wenn ja wie?

            Wenn Du Dir den von mir gesetzten Link (Datei-Buttons definieren) durchliest, wirst Du feststellen, dass enctype="multipart/form-data" mit angegeben werden _muss_. Ob das accept="image/*" den Filter im Datei-auswaehlen-Dialog mit beeinflusst, darauf moechte ich jetzt nicht schwoeren ;-).

            Und noch ne Frage: Wie kann ich eingegebene Formulardaten verändern?
            if (!ereg("^http",$homepage)) {$homepage = "http://".$homepage;}
            verändert zwar den Variablenwert, aber nicht die Formularvariable.

            Fragezeichen???
            Dieser Ausdruck setzt in den Anfang von $homepage das "http://", falls es nicht vorhanden ist (wobei ich hier komplett nach "http://" suchen wuerde). $homepage ist (nehme ich mal an) die Formularvariable (siehe snippet unten). Im Normalfall enthaelt jede weitere Verwendung den neuen Wert (solltest Du sie aber in einer eigenen Funktion aendern, denke an "global").

            Ich rufe service_center.php3 mit verschiedenen Stati auf und möchte $homepage, dass ich per
            echo "<input type=hidden name="homepage" value="$homepage">"; weitergebe.

            Da erhaelt service-center.php3 die var. $homepage mit dem im vorherigen script enthaltenen Wert von $homepage. Ich plaediere hier aber wieder auf:

            ?>
            <input type="hidden" name="homepage" value="<? echo $homepage; ?>">
            <?

            Wenn Du möchtest, maile ich Dir mal das Script zu, das Script ist 14K groß und ich weiß nicht so genau, ob ein Ausschnitt so ausreicht.

            Kannst Du tun, ich kann aber nichts versprechen.

            (der sich immer noch ueber das vom IE zerstoerte posting aergert)
            Aber, aber, Du bist doch die Ruhe selbst, oder ?

            Ja, ich aergere mich aber ueber mich selbst, weil ich aus Dummheit Muell gepostet habe. ;-)

            IE sucks, NC rulez!

            Unterstreich!

            Doppeltunterstreich! *g* *wink*@Bio

            Gruß
            Thomas
            (der vorm Absenden den Text in die Zw-Ablage kopiert)

            1. Hi Thomas !

              Asche auf mein Haupt!
              Liegt wohl am Montag! Hab das ganze nochmal verifiziert und jetzt funktioniert das Veraendern der Formularvariablen wie es sein soll. (Waere ja auch bloed gewesen *smile*).

              Wenn Du Dir den von mir gesetzten Link (Datei-Buttons definieren) durchliest, wirst Du feststellen, dass enctype="multipart/form-data" mit angegeben werden _muss_.

              Hab zwar keine Veraenderung feststellen koennen, wenn enctype angegeben wurde oder auch nicht, aber das mit dem accept funktioniert jedenfalls nicht. (Weder NC noch IE).

              Unterstreich!
              Doppeltunterstreich! *g* *wink*@Bio

              mit <b> davor und </b> dahinter! (wenn auch Bio nicht persoenlich kennt *laechel*)

              Gruss

              Knud

              1. Hi Knud!

                Na also, geht doch! *g*

                aber das mit dem accept funktioniert jedenfalls nicht. (Weder NC noch IE).

                Tip: lass es weg und teste es in PHP.

                Unterstreich!
                Doppeltunterstreich! *g* *wink*@Bio
                mit <b> davor und </b> dahinter! (wenn auch Bio nicht persoenlich kennt *laechel*)

                und <h1></h1> *g*

                Viel Spass noch
                Gruß
                Thomas