Raico: Die Url ist ungültig und kann nicht geladen werden

Moinsen...

Beispiel 1)

Das da ist die Funktion:
<script type="text/javascript">
function ladmichneu(){
self.location.href="index1.php?page=stats02&servername=<?php echo $servername ?>";
}
</script>

in der Seite selbst hab ich dann n Button:
<input type="submit" name="dolnewknop" id="dolnewknop" value="aktualisiere dolnew" onClick="javascript:ladmichneu()">

Klick ich auf den Button soll sich also eigentlich nur die Seite selber neu laden...
Klappt auch tadelos im IE... aber im Firefox kommt die Meldung:
Die Url ist ungültig und kann nicht geladen werden
Die Seite lädt sich auch nicht.

Beispiel 2)

Auf einer Seite hab ich ein textfeld und einen button:
<input type="submit" name="absenden" id="absenden" value="ClientSearch" style="width=100" onClick="javascript:clientcheck()">
<input type="text" name="clientchecken" value="client eingeben" size="13" style="width=100">

Die Funktion sieht so aus:
function clientcheck (){
$checkclient=document.menuframe.clientchecken.value;
window.open("http://<?php echo $SERVER_NAME ?>/clientinfo/clientinfo.php?client="+$checkclient, "clientinfofenster", "width=870,height=560,left=0,top=0");
}

Hier soll also ein neues Fenster geöffnet werden und die angegebene Seite dort dargestellt werden...

im IE genauso wie im Firefox... nur spuckt der Firefox zusätzlich die Meldung raus
Die Url ist ungültig und kann nicht geladen werden
Seltsamer weise wird sie also geladen... genau so wie ich es will... nur nervt mich eben die fehlermeldung...

Was bitte mach ich verkehrt?

  1. Hello out there!

    Beispiel 1)
    self.location.href="index1.php?page=stats02&servername=<?php echo $servername ?>";

    1. Fehler: siehe [HTML401 §B.2.2]

    2. Fehler: Du postest serverseitigen Code. Woher sollen wir wissen, was in '$servername' steht?

    Beispiel 2)
    <input type="submit" name="absenden" id="absenden" value="ClientSearch" style="width=100" onClick="javascript:clientcheck()">

    3. Fehler: Der Wert des 'style'-Attributs sind CSS-Deklarationen. Deine Syntax ist falsch. [CSS2 §4.1.8]

    Warnung: Der Wert des 'script'-Attributs JavaScript-Anweisungen. Welchen Sinn macht eine Zeichenkette "foo:" deiner Meinung nach vor einer JavaScript-Anweisung?

    <input type="text" name="clientchecken" value="client eingeben" size="13" style="width=100">

    Siehe 3. Fehler.

    window.open("http://<?php echo $SERVER_NAME ?>/clientinfo/clientinfo.php?client="+$checkclient, "clientinfofenster", "width=870,height=560,left=0,top=0");

    Siehe 2. Fehler.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hello out there!

      <input type="submit" name="absenden" id="absenden" value="ClientSearch" style="width=100" onClick="javascript:clientcheck()">

      1. Fehler: Der Wert des 'style'-Attributs sind CSS-Deklarationen. Deine Syntax ist falsch. [CSS2 §4.1.8]

      Und der Wert der 'width'-Eigenschaft muss eine Längenangabe sein. [CSS2 §4.3.2]

      Außerdem sind 'style'-Attribute sowieso böse[tm]. Mache alle Angaben zur Darstellung zentral ('style'-Element im 'head' oder externes Stylesheet)!

      See ya up the road,
      Gunnar

      --
      „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    2. Hello out there!

      Beispiel 1)
      self.location.href="index1.php?page=stats02&servername=<?php echo $servername ?>";

      1. Fehler: siehe [HTML401 §B.2.2]

      Jetzt bin ich schlauer als voher, denn wenn ich die Links so umbau, wie sie dort beschrieben sind, funktionierts weder im Firefox, noch im  IE...

      1. Fehler: Du postest serverseitigen Code. Woher sollen wir wissen, was in '$servername' steht?

      Als wenn das wichtig wäre... jemand der sich n büschn mit php auskennt, würde wahrscheinlich wissen, dass da wohl ne Variable in den Code geprintet wird...
      Und ums noch genauer zu sagen... da können ca 50 verschiedene Werte drinnen stehen...
      Aber um Dir n Anhaltspunkt zu geben... setzt einfach für den Php Code bonny ein...

      Beispiel 2)
      <input type="submit" name="absenden" id="absenden" value="ClientSearch" style="width=100" onClick="javascript:clientcheck()">

      1. Fehler: Der Wert des 'style'-Attributs sind CSS-Deklarationen. Deine Syntax ist falsch. [CSS2 §4.1.8]

      Jo... als wenn das was mit dem Problem zu tun hat um das es hier geht.
      Ich erklär dir jetzt aber nicht warum ich das so mache wie ich es mache!

      Warnung: Der Wert des 'script'-Attributs JavaScript-Anweisungen. Welchen Sinn macht eine Zeichenkette "foo:" deiner Meinung nach vor einer JavaScript-Anweisung?

      Verrats mir...

      <input type="text" name="clientchecken" value="client eingeben" size="13" style="width=100">

      Siehe 3. Fehler.

      Siehe Antwort darauf...

      window.open("http://<?php echo $SERVER_NAME ?>/clientinfo/clientinfo.php?client="+$checkclient, "clientinfofenster", "width=870,height=560,left=0,top=0");

      Siehe 2. Fehler.

      Siehe Antwort darauf...

      See ya up the road,
      Gunnar

      ...

      Vielleicht solltest du eher auf das eigentliche Problem antworten, als sinnlos irgendwelkche 0815 Sachen auseinander zu nehmen...

      1. Hallo,

        1. Fehler: Du postest serverseitigen Code. Woher sollen wir wissen, was in '$servername' steht?
          Als wenn das wichtig wäre...

        Ja, ist es. In deinen PHP-Variablen könnte sonstwas stehen. Was, wenn dein $servername Zeichen wie \n oder \b enthält, oder andere, in URLs ungültige Zeichen? Dann könnte das genau zu der Fehlermeldung führen, die du beklagst.
        Also zeig uns bitte den Code, den der Browser auch tatsächlich bekommt, sonst kann man nur mutmaßen - und das hilft nicht weiter.

        jemand der sich n büschn mit php auskennt, würde wahrscheinlich wissen, dass da wohl ne Variable in den Code geprintet wird...

        Genau. Und auf den _exakten_ Wert, den Inhalt, dieser Variablen kommt's an.

        1. Fehler: Der Wert des 'style'-Attributs sind CSS-Deklarationen. Deine Syntax ist falsch. [CSS2 §4.1.8]
          Jo... als wenn das was mit dem Problem zu tun hat um das es hier geht.
          Ich erklär dir jetzt aber nicht warum ich das so mache wie ich es mache!

        Wahrscheinlich um den Browser zu irritieren. Dass das so nicht den gewünschten Formatierungseffekt haben kann, dürfte klar sein.

        Warnung: Der Wert des 'script'-Attributs JavaScript-Anweisungen. Welchen Sinn macht eine Zeichenkette "foo:" deiner Meinung nach vor einer JavaScript-Anweisung?
        Verrats mir...

        None at all.
        Zumindest am Beginn in einem Eventhandler. Andernfalls definiert diese Schreibweise ein Label, eine Sprungmarke.

        Vielleicht solltest du eher auf das eigentliche Problem antworten, als sinnlos irgendwelkche 0815 Sachen auseinander zu nehmen...

        Vielleicht solltest du eher auf Lösungs- und Debuggingvorschläge eingehen, anstatt sie einfach als Unsinn abzutun.

        So long,
         Martin

        --
        Datenbanken speichern keine User.
        Das liegt daran, daß Datenbanken mit der Lebensmittelversorgung für gespeicherte biologische Lebensformen derzeit noch Probleme haben.
          (Christoph Schnauß)
        1. Vielleicht solltest du eher auf Lösungs- und Debuggingvorschläge eingehen, anstatt sie einfach als Unsinn abzutun.

          So long,
          Martin

          Der erste vernünftige Vorschlag der VIELLEICHT etwas mit dem Thema zu tun hat, kam aber bisher erst von Dir...

          Zitat: Ja, ist es. In deinen PHP-Variablen könnte sonstwas stehen. Was, wenn dein $servername Zeichen wie \n oder \b enthält, oder andere, in URLs ungültige Zeichen? Dann könnte das genau zu der Fehlermeldung führen, die du beklagst.

          Logischerweise habe ich weder ein \n oder \b an dem Namen des Servers, DAS würde ich ja in der Zeile sehen...

          Kurz mal zur Vorgehensweise...
          Ich parse per php ein Verzeichnis eines Unixservers ab.
          Alles was in diesem Verzeichnis "liegt" ist ein weiteres Verzeichnis... (da kann nix anderes drinnen liegen)
          Die Werte les ich in einen Array ein... in der Variable "servername" steht dann das aktuelle vom User gewählte Verzeichnis...
          servername=chop(arrayname[xy]) wobei xy logischerweise ne Zahl ist...
          Zitat aus der php Hilfe: chop -- Entfernt Leerzeichen, Tabulatoren und Zeilenvorschübe am String-Ende

          Daran kanns also nicht liegen, war aber ein guter Gedanke...

          Inzwischen hab ich mehrere Tests gefahren und etwas seltsames dabei rausgefunden...

          Ursprünglich liegt der kommplette php/htmlcode in einer inc Datei, und die eigentliche Webseite wird in einer Art Template zusammengebaut... header, kontext, food... einfach ausgedrückt...

          Nehm ich NUR den Code dieser Webseite... ohne das eigentliche Template drumherum... Dann funzt das einwandfrei...
          siehe: http://www.raico-ebel.de/test03.php?page=stats02&servername=testname

          Dann werd ich mich wohl auf die Suche machen, wo in all den includes der Wurm hängt...

      2. Hello out there!

        self.location.href="index1.php?page=stats02&servername=<?php echo $servername ?>";

        1. Fehler: siehe [HTML401 §B.2.2]

        Jetzt bin ich schlauer als voher, denn wenn ich die Links so umbau, wie sie dort beschrieben sind, funktionierts weder im Firefox, noch im  IE...

        Ich hab nur gesagt, dass der Fehler in deinem HTML-Code dort beschrieben ist; nicht, dass dort auch die dessen Behebung steht.

        Du musst das Zeichen '&' selbstverständlich dem Kontext entsprechend codieren; der Kontext ist in deinem Falle JavaScript, nicht HTML. (Dennoch ist es ein HTML-Fehler, da der JavaScript-Code im HTML-Code eingebettet ist; mit einem externen JavaScript wäre es was anderes.)

        Wie du Zeichen in JavaScript codierst, weißt du Schlaumeier? '&' ist das Unicode-Zeichen U+0026, in JavaScript also \u0026. Richtig sieht deine Zeile also so aus:

        self.location.href="index1.php?page=stats02\u0026servername=[code lang=xml]<?php [code lang=php]echo $servername ?>[/code]";[/code]

        1. Fehler: Du postest serverseitigen Code. Woher sollen wir wissen, was in '$servername' steht?

        »»

        Als wenn das wichtig wäre... jemand der sich n büschn mit php auskennt, würde wahrscheinlich wissen, dass da wohl ne Variable in den Code geprintet wird...

        Jemand, der sich ’n bisschen mit PHP auskennt, würde wahrscheinlich wissen, dass dein PHP HTML-Quelltext erzeugt und das eben dieser bei Problemen mit diesem relevant ist; und zwar der, der beim Client ankommt.

        Beim Thema „Die Url ist ungültig […]“ in der Problembeschreibung eben genau den URI nicht zu nennen ist schon reichlich blöd.

        1. Fehler: Der Wert des 'style'-Attributs sind CSS-Deklarationen. Deine Syntax ist falsch. [CSS2 §4.1.8]

        »»

        Jo... als wenn das was mit dem Problem zu tun hat um das es hier geht.

        Erwartest du jetzt eine Entschuldigung von mir, dass ich dir das vorher sage, bevor du das Forum mit einer neuen Frage belästigst, warum deine Breitenangabe nicht interpretiert wird?

        Vielleicht solltest du eher auf das eigentliche Problem antworten, als sinnlos irgendwelkche 0815 Sachen auseinander zu nehmen...

        Vielleicht solltest du eher dein Maul nicht so weit aufreißen als sinnlos die Hände zu beißen, die dich füttern.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  2. Fehler gefunden....

    liegt NICHT am Javascript oder wie auch immer Urls zusammen gesetzt werden...

    vorher...
    [CODE]<input type="submit" name="dolnewknop" id="dolnewknop" value="aktualisiere dolnew" onClick="javascript:ladmichneu()">[/CODE]

    nachher...
    [CODE] <input type="button" name="dolnewknop" id="dolnewknop" value="aktualisiere dolnew" onClick="javascript:ladmichneu()">[/CODE]

    Wem fällt der Unterschied auf?

    Ich sags euch... beim ersten steht als "Knopftyp" submit...
    Und das bedeutet, dass der Firefox IMMER auch die "action" ausführt, die in der "Form" angegeben wird... Egal, ob er per OnClick dazugezwungen wird ein Javascript auszuführen oder nicht...

    Da bei mir in der Form als action aber nur
    [CODE]<form action="http://" method="post" name="weiter" id="weiter">[/CODE]
    steht... is das natürlich eine falsche Url...

    gnagnagna...

    Manchmal sieht man halt den Wald vor lauter Bäumen nicht ;)

    1. liegt NICHT am Javascript oder wie auch immer Urls zusammen gesetzt werden...

      vorher...
      [CODE]<input type="submit" name="dolnewknop" id="dolnewknop" value="aktualisiere dolnew" onClick="javascript:ladmichneu()">[/CODE]

      Das Label hat nach wie vor im Event nichts zu suchen, schmeiss es einfach raus.

      Und das bedeutet, dass der Firefox IMMER auch die "action" ausführt, die in der "Form" angegeben wird... Egal, ob er per OnClick dazugezwungen wird ein Javascript auszuführen oder nicht...

      Ja, das ist nichts neues, du kannst einen submit nur im onsubmit Handler des Formulares stoppen.

      Da bei mir in der Form als action aber nur
      [CODE]<form action="http://" method="post" name="weiter" id="weiter">[/CODE]
      steht... is das natürlich eine falsche Url...

      Das natürlich eine unsinnige Angabe im Actionattribut, wenn du wirklich ncihts machen willst, bietet sich hier ein action= '#' an.

      Struppi.

      1. Hello out there!

        Das natürlich eine unsinnige Angabe im Actionattribut, wenn du wirklich ncihts machen willst, bietet sich hier ein action= '#' an.

        Das natürlich eine unsinnige Angabe im Actionattribut, denn '#' heißt für den Bowser: Springe zum Seitenanfang.

        Wenn du wirklich nichts machen willst, bietet sich hier ein action='' an.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        1. Wenn du wirklich nichts machen willst, bietet sich hier ein action='' an.

          Dann zeigt das Formular auf die aktuelle Seite und ist damit genauso unsinnig wie action="#". Die einzig sinnvollen Lösungen wären, entweder ganz auf ein Formular zu verzichten, oder den Versand mittels Javascript durch entsprechende Rückgabewerte zu verhindern.

          Siechfred

          --
          Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
          1. Moin!

            Wenn du wirklich nichts machen willst, bietet sich hier ein action='' an.

            Dann zeigt das Formular auf die aktuelle Seite und ist damit genauso unsinnig wie action="#". Die einzig sinnvollen Lösungen wären, entweder ganz auf ein Formular zu verzichten, oder den Versand mittels Javascript durch entsprechende Rückgabewerte zu verhindern.

            Ich hab das mal reformuliert, passend zum Threadverlauf. ;)

            - Sven Rautenberg

            --
            "Love your nation - respect the others."
            1. Dann zeigt das Formular auf die aktuelle Seite und ist damit genauso unsinnig wie action="#". Die einzig sinnvollen Lösungen wären, entweder ganz auf ein Formular zu verzichten, oder den Versand mittels Javascript durch entsprechende Rückgabewerte zu verhindern.
              Ich hab das mal reformuliert, passend zum Threadverlauf. ;)

              Getreu dem alten Motto: Es wurde bereits alles gesagt, nur nicht von Jedem.

              ;))

              Siechfred

              --
              Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
        2. Moin!

          Das natürlich eine unsinnige Angabe im Actionattribut, wenn du wirklich ncihts machen willst, bietet sich hier ein action= '#' an.

          Das natürlich eine unsinnige Angabe im Actionattribut, denn '#' heißt für den Bowser: Springe zum Seitenanfang.

          Wenn du wirklich nichts machen willst, bietet sich hier ein action='' an.

          Das ist natürlich eine unsinnige Angabe im Actionattribut, denn '' steht für die aktuelle Seite.

          Wenn du wirklich nichts machen willst, lass das <form> einfach komplett weg (Formularelemente dürfen auch außerhalb von Formularen vorkommen) und verwende keinen submit-Button, sondern einen button-Button.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."