kayah: CGI Skript mit Werte mittles js aufrufen

guten morgen allerseits ;)

mein problem ist, dass ich ein cgi-skript automatisch aufrufen möchte nachdem die seite 3 sekunden angezeigt wurde und dabei einen fest definierten wert übergeben möchte.
das automatische aufrufen an sich habe ich schon geschafft, leider fällt mir nun zu dem wert nichts tolles ein, ausser evtl. ein 'unichtbares' formular zu erstellen (wobei ich die lösung auch noch nicht konkret ausgearbeitet habe).
jedoch fände ich dieses als ziemliche notlösung, weil ich an sich kein formular brauche.

hat jemand vll. eine idee?

vielen dank im vorraus

gruss

-k.

  1. Hallo,

    mein problem ist, dass ich ein cgi-skript automatisch aufrufen möchte nachdem die seite 3 sekunden angezeigt wurde
    das automatische aufrufen an sich habe ich schon geschafft,

    sicherlich auf diese Weise ...

      
    <meta http-equiv="refresh" content="3;URL=/skript.cgi">  
    
    

    leider fällt mir nun zu dem wert nichts tolles ein, ausser evtl. ein 'unichtbares' formular zu erstellen

    Das wäre eine Lösung.

    und dabei einen fest definierten wert übergeben möchte.

    hat jemand vll. eine idee?

    Wenn der Wert fest definiert ist, dann brauchst du ihn doch nicht
    übergeben, sondern deklarierst den Wert in deinem CGI-Skript mittels

    my $wert = 40;

    Oder du nutzt halt eine Konstante.

    Wenn sich der Wert allerdings ändern kann, dann übergebe den Wert
    doch mittels

      
    <meta http-equiv="refresh" content="3;URL=/skript.cgi?wert=40">  
    
    

    Greez,
    opi

    --
    Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|
    1. hej ;)

      vielen dank erstmal für eine antwort

      ...

      das automatische aufrufen an sich habe ich schon geschafft,

      sicherlich auf diese Weise ...

      <meta http-equiv="refresh" content="3;URL=/skript.cgi">

      
      >   
      
      nee..war zwar auch mein erster gedanke, aber da ich ja eh einen js aufruf realisieren wollte (bzw. dachte dass es nur mit so einem ginge) habe ich es dann so gelöst:  
        
      
      > ~~~javascript
        
      <script type="text/javascript">  
        
       function loadpage()  
       {  
        location.href="laber.htm";  
       }  
       setTimeout("loadpage()",3000);  
      </script>  
      
      > 
      
      

      Wenn der Wert fest definiert ist, dann brauchst du ihn doch nicht
      übergeben, sondern deklarierst den Wert in deinem CGI-Skript  mittels my $wert = 40;

      das habe ich nicht so ganz verstanden,meinst Du da als interne variable?
      (das cgi skript ist übrigens unter c++ verfasst ;))

      <meta http-equiv="refresh" content="3;URL=/skript.cgi?wert=40">

        
      hmm..ja ich denke irgendwie so wird das laufen müssen.  
      wobei es mir lieber wäre wenn man den wert wie beim 'post' aufruf 'versteckt' mitsenden könnte.  
      ich hatte es leider ein wenig falsch erklärt.  
      pro seite ist der wert konstant, je nachdem aber von welcher seite der cgi-aufruf kommt (identifizierung über eben jenen wert) entscheidet das cgi-skript was rausgeht.  
        
      grüsse  
        
      -k.  
      
      
      1. hi,

        wobei es mir lieber wäre wenn man den wert wie beim 'post' aufruf 'versteckt' mitsenden könnte.

        Entscheide dich bitte mal, was du willst. Gerade eben vorher sagtest du noch,

        leider fällt mir nun zu dem wert nichts tolles ein, ausser evtl. ein 'unichtbares' formular zu erstellen (wobei ich die lösung auch noch nicht konkret ausgearbeitet habe).
        jedoch fände ich dieses als ziemliche notlösung, weil ich an sich kein formular brauche.

        Entweder willst du POST, dann _brauchst_ du ein Formular - oder du willst es nicht.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. hi,

          ..

          Entscheide dich bitte mal, was du willst.
          Entweder willst du POST, dann _brauchst_ du ein Formular - oder du willst es nicht.

          hmmm...ich habe mich schon entschieden WAS ich will(einen wert an das cgi skript zu senden, möglichst ohne dass dieses in der linkleiste erscheint) , leider weiss ich nur nicht WIE dieses am saubersten zu implementieren ist.
          ich sagte weder dass ich konkret den POST befehl benutzen will oder nicht, noch dass ich ein formular möchte oder nicht, nur dass ich es als lösung in erwägung gezogen habe, jedoch "führen ja viele wege nach rom" und ich möchte einfach den saubersten haben.
          es hätte ja sein können, dass es mit javascript möglich ist so etwas wie die POST methode von formularen zu 'simulieren' ohne ein ebendsolches zu verwenden, wenn man es im grunde nicht braucht.
          wie sonst soll man 'versteckt' daten an das cgi-skript senden, ohne 'unnötig' ein element zu verwenden, welches man eigentlich nicht sein müsste?
          ich meine logisch wäre es doch,oder?

          -k.

          1. hi,

            ich sagte weder dass ich konkret den POST befehl benutzen will oder nicht,

            POST ist kein Befehl, sondern eine HTTP-Methode.

            noch dass ich ein formular möchte oder nicht, nur dass ich es als lösung in erwägung gezogen habe, jedoch "führen ja viele wege nach rom" und ich möchte einfach den saubersten haben.

            Dann kloppst du am besten den Plan:

            [...] dass ich ein cgi-skript automatisch aufrufen möchte nachdem die seite 3 sekunden angezeigt wurde und dabei einen fest definierten wert übergeben möchte.

            gleich in die Tonne.
            Wozu die drei Sekunden Wartezeit? Klingt nach einer weiteren, absolut überflüssigen Vorschaltseite - und dafür willst du dich von Javascript abhängig machen?

            es hätte ja sein können, dass es mit javascript möglich ist so etwas wie die POST methode von formularen zu 'simulieren' ohne ein ebendsolches zu verwenden, wenn man es im grunde nicht braucht.

            Jein.

            wie sonst soll man 'versteckt' daten an das cgi-skript senden, ohne 'unnötig' ein element zu verwenden, welches man eigentlich nicht sein müsste?

            Wenn du mittels HTML und Javascript einen POST-Request absetzen willst, brauchst du ein Formular - es ist in diesem Falle "nötig".
            Es sei denn, du würdest XMLHTTPRequest verwenden, um darüber einen POST-Request abzusetzen. Aber abgesehen von den Problemen, die das aktuell noch mit sich bringt, könnte es u.U. auch Probleme beim Auswerten der Antwort des CGI-Scripts geben.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. rehi..

              POST ist kein Befehl, sondern eine HTTP-Methode.

              jajaaa..ich weiss,ich weiss*verlegenschau*
              falsche wortwahl, ich komme nicht ganz aus der html-branche und irgendwie ist mir das ganze eh etwas suspekt, aber das ist ein anderes thema ;)

              Wozu die drei Sekunden Wartezeit? Klingt nach einer weiteren, absolut überflüssigen Vorschaltseite - und dafür willst du dich von Javascript abhängig machen?

              nope, keine vorschalteseite, sondern eine seite, die ihre werte|inhalte|aussehen alle 3 sekunden aktualisieren soll und diese (alle 3 sekunden erneuerten) informationen befinden sich nun mal nur auf dem server, auf dem aber (da das cgi-skript von mehreren seiten aufgerufen werden kann) differenziert werden muss, von welcher seite genau der aufruf erfolgt (daher der eine wert, der mitgesendet werden soll).
              was für ein satz!
              ohne javascript wäre demnach nur die von opi genannte lösung möglich:
              [code lang=html]
              <meta http-equiv="refresh" content="3;URL=/skript.cgi?wert=40">
              [/code lang]
              die ich aber nicht ganz so schön finde, weil der übermittelte wert dann klar zu lesen ist,oder?

              es hätte ja sein können, dass es mit javascript möglich ist so etwas wie die POST methode von formularen zu 'simulieren' ohne ein ebendsolches zu verwenden, wenn man es im grunde nicht braucht.

              Jein.
              Wenn du mittels HTML und Javascript einen POST-Request absetzen willst, brauchst du ein Formular - es ist in diesem Falle "nötig".
              Es sei denn, du würdest XMLHTTPRequest verwenden, um darüber einen POST-Request abzusetzen. Aber abgesehen von den Problemen, die das aktuell noch mit sich bringt, könnte es u.U. auch Probleme beim Auswerten der Antwort des CGI-Scripts geben.

              aha,okay, demnach ist in diesem falle wirklich das post-request (mit zwingender formularbenutzung) die lösung, die ich nehmen sollte und  das war es ja auch, was ich wissen wollte.
              vielen dank und auf ein baldiges wochenden

              -k.

              1. Hallo kayah,

                ohne javascript wäre demnach nur die von opi genannte lösung möglich:

                <meta http-equiv="refresh" content="3;URL=/skript.cgi?wert=40">

                
                > die ich aber nicht ganz so schön finde, weil der übermittelte wert dann klar zu lesen ist,oder?  
                  
                na und? Klar lesbar wäre auch der Wert eines Formulars im Quelltext.  
                  
                  
                Greez,  
                opi
                
                -- 
                Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|  
                
                
                1. hej opi,

                  ohne javascript wäre demnach nur die von opi genannte lösung möglich:

                  <meta http-equiv="refresh" content="3;URL=/skript.cgi?wert=40">

                  
                  > > die ich aber nicht ganz so schön finde, weil der übermittelte wert dann klar zu lesen ist,oder?  
                  >   
                  > na und? Klar lesbar wäre auch der Wert eines Formulars im Quelltext.  
                  >   
                  
                  ja, das stimmt, tut sich beides wenig, wobei man sich bei der formularlösung 'extra' den quellcode anschauen müsste.  
                    
                  danke nochmals für die vorschläge und erleuchtungen  
                    
                  grüsse  
                    
                  -k.
                  
                  1. Hallo,

                    ja, das stimmt, tut sich beides wenig, wobei man sich bei der formularlösung 'extra' den quellcode anschauen müsste.

                    das ist vollkommen unwichtig! Diejenigen, die sich nicht auskennen,
                    denen ist die Adresszeile nur insoweit wichtig, dass sie dort ihr
                    www.google.de oder www.gmx.de eintippen können. Der Rest dahinter ist
                    für sie ein Kauderwelsch von Buchstaben, Zahlen und Sonderzeichen.

                    Diejenigen, die nach Argumenten suchen, finden sie auch.

                    danke nochmals für die vorschläge und erleuchtungen

                    Bitte.

                    Greez,
                    opi

                    --
                    Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|
          2. es hätte ja sein können, dass es mit javascript möglich ist so etwas wie die POST methode von formularen zu 'simulieren' ohne ein ebendsolches zu verwenden, wenn man es im grunde nicht braucht.
            wie sonst soll man 'versteckt' daten an das cgi-skript senden, ohne 'unnötig' ein element zu verwenden, welches man eigentlich nicht sein müsste?
            ich meine logisch wäre es doch,oder?

            Ergänzend noch zu wahsagas Posting.

            Du kannst mit JS versteckt einen CGI Aufruf machen mit einem Image() Element. Nur was du oben so selbstverständlich erwartest bedeutet ein gewisses Sicherheitsrisikio für den Nutzer, da du ohne weiteres zutun und ohne das es der User merkt Daten übermitteln willst. Auch wenn mir keine Schwachstelle bekannt ist, die dies momnentan ausnützt, so spricht doch aus Datenrechtlicher Sicht etwas dagegen (auch wenn es nicht verboten ist, bereitet es doch ein ungutes Gefühl, dass du mich auf deiner Seite ausspionieren willst - warum?)

            Allerdings ist es leider heutzutage eher so, das Marktforschung weit vor Datenschutz kommt und was aber vermutlich damit zu tun hat, das sich kaum jemand bewußt ist, was alles mit deinen Daten passieren kann, solange es nur Werbeanrufe sind oder Prospekte. Aber wir in Deutschland sollten was das sammeln von Daten angeht eigentlich etwas empfindlicher sein als wir es sich heute darstellt. Ich hätte nicht unter der Stasi Leben wollen.

            Struppi.

      2. Hallo kayah,

        sondern deklarierst den Wert in deinem CGI-Skript  mittels my $wert = 40;

        das habe ich nicht so ganz verstanden,meinst Du da als interne variable?
        (das cgi skript ist übrigens unter c++ verfasst ;))

        dann halt mittels

        int wert=40;

        wobei es mir lieber wäre wenn man den wert wie beim 'post' aufruf 'versteckt' mitsenden könnte.

        siehe hier

        ich hatte es leider ein wenig falsch erklärt.
        pro seite ist der wert konstant, je nachdem aber von welcher seite der cgi-aufruf kommt (identifizierung über eben jenen wert) entscheidet das cgi-skript was rausgeht.

        oder ich hatte dich falsch verstanden. Das möchte ich nicht aus-
        schließen :-)

        Greez,
        opi

        --
        Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|