kostenloser Webspace werbefrei: lima-city


PHP Script mit Ajax aktiviren

lima-cityForumDie eigene HomepageHomepage Allgemein

  1. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    Hallo Leute

    Ich möchste ein kleines PHP Script auf meiner Page im Hintergrund laufen lassen... wenn man dann onclick macht, soll aber nichts in ein Div eingefügt werden, es soll einfach nur durch Ajax ein PHP Script aktivirt werden.
    der Hintergrund der ganzen Sache ist, dass ich eine ein und Ausklappfunktion habe, und die Page soll sich merken, was eingeklapt ist und das über längere Zeit... dabei soll die Page nicht immer refresht werden... weiß jemand wie das geht?

    Gruß
    Technofan
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. m******s

    Mit welchem Ajax-Framework arbeitest du? Wenn du mit Prototype arbeitest:

    var ausgeklappt = true; // bzw.. false, je nachdem
    new Ajax.Request(
      \'setval.php\',
      {
        method: \'post\',
        parameters: \'ausgeklappt=\' + ausgeklappt,
        onComplete = function(){}
      }
    );


    Inhalt \'setval.php\'
    <?php
    $ausgeklappt = $_POST[\'ausgeklappt\'];
    set_cookie(\'ausgeklappt\') = $ausgeklappt;
    ?>


    Oder halt irgendein anderer Code zum speichern...
  4. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    Na ja, das Problem ist, ich sende klein Formular ab, sondern es wird einfach nur irgendwo draufgeklickt... opder wie darf ich das verstehen??? hab gerade erst angefangen Ajax zu lernen ^^
    und ich müsste immer eine ID mitsenden bei dem onclick... weil ja eben jede Box gemerkt werden soll...

    Beitrag geändert: 16.7.2008 19:04:32 von technofan
  5. m******s

    <div id=\"box1\" onclick=\"javascript:minimize(\'box1\')\" style=\"height: 100px; background: #ff0000;\">SomeContent</div>
    
    <script type=\"text/javascript\">
      <!--
        var minimized = new Array();
    
        function minimize(id)
        {
          if(!isset(minimized[id])
          {
            minimized[id] = false;
          }
          
          if(minimized[id])
          {
            $(id).style.height = \"100px\";
          }
          else
          {
            $(id).style.height = \"10px\";
          }
    
          new Ajax.Request(
            \'minimize.php\',
            {
              method: \'post\',
              parameters: \'id=\' + id + \"&value=\" + !minimized[id],
              onComplete=function(){}
            }
          );
      
          minimized[id] = !minimized[id];
        }
      //-->
    </script>


    Code der \"minimize.php\"
    <?php
      $id = $_POST[\'id\'];
      $val = $_POST[\'value\'];
    
      setcookie($id . \'_minimized\', $val);
    ?>


    Natürlich immer noch alles auf Prototype basierend.

    Ist natürlich noch sehr Lückenhaft und exemplarisch, sollte aber ausreichen um hoffentlich verständlich zu machen, wie bei Prototype die Ajax Werte-Übertragung etc. funktioniert. Wenn nicht: Nachfragen ;) Aber am besten recht spezifisch, nicht allzu allgemein, nochmal schreib ich nicht sonen Code zamm ;)


    Beitrag geändert: 16.7.2008 20:00:31 von merovius
  6. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    Hmmm, ich glaub ich mach da irgendwas falsch... das funktioniert nicht, ich kann den Cookie nicht ausgeben lassen... sprich der wird auch net gespeichert... gibt\'s denn noch ne andere Möglichkeit cookies live mit einem OnClick zu speichern?

    Okay, hat sich erledigt... hab das ganze nun so gelöst:

    <script type=\"text/javascript\">
    function writeCookie () {
    var a = new Date();
    a = new Date(a.getTime() +1000*60*60*24*365);
    document.cookie = \'test=mytest; expires=\'+a.toGMTString()+\';\';
    }
    </script>
    <body>
    <p onclick=\"writeCookie ()\">lalala</p>
    <?php
    echo $_COOKIE[\"test\"];
    ?>


    aber elegant ist das ja wieder net... wie schaff ich das nun, dass ich die Coockiefunktion nur einmal schreiben muss und den Coockienamen durch eine Variable Vareiren kann... wäre geil, wenn man das so machen kann, dass ich anschließend wieder mit PHP arbeiten kann, denn JS is bei mir und den Browsern ja immer so ne Sache ^^
    JS hab ich bis jetzt nie so wirklich geschnallt...

    Beitrag geändert: 16.7.2008 22:55:57 von technofan
  7. m******s

    kA, Cookies speichern habe ich so far nur über PHP gemcaht (macht ja auch irgendwie Sinn). Möglicherweise ist meine Syntax verkorkst...
    Aber erstmal, bist du dir überhaupt sicher, auch Cookies aktiviert zu haben? Und wird die Javascript-Funktion ordentlich ausgeführt (mal ans Ende der function ein \'alert(\"test!\");\' setzen)?
  8. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    Habs mim IE getestet, der kann JS wie kein anderer und hat mir auch die Fehler immer gezeigt, aber irgendwie hab ich die net gerade stellen können.... was ich jetzt nurnoch brauche ist... wie kann ich da halt ne Variable mitschicken, sodass ich halt die Funktion nur einmal brauche, ansonsten muss ich ja ein riesen Script machen und das is ja bescheuert... also.... onclick=\"funktionsname()\" wie kommt da nu die von mir gesetzte Variable rein und was muss ich an meinem Cookiescript ändern? ^^
  9. m******s

    Wenn dein Code stimmt, dann:
    <script type=\"text/javascript\">
    function writeCookie (name, val) {
    var a = new Date();
    a = new Date(a.getTime() +1000*60*60*24*365);
    document.cookie = name + \'=\' + val + \'; expires=\'+a.toGMTString()+\';\';
    }
    </script>
    
    <p onclick=\"writeCookie (\'test\', \'eincookie\')\">lalala</p>


    Beitrag geändert: 17.7.2008 19:29:58 von merovius
  10. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    cool, danke ^^
    mehr als das wollt ich garnet. :P
    jetzt kann ich erst richtig los legen ^^
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!