PHP Script mit Ajax aktiviren
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
arbeiten
boxen
brauche
code
cool danke
funktion
hintergrund
jemand
klein formular
lernen
machen
merken
page
parameter
riese
sache
setzen
sinn
speichern
test
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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... -
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 -
<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 -
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 -
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)? -
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? ^^
-
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 -
cool, danke ^^
mehr als das wollt ich garnet. :P
jetzt kann ich erst richtig los legen ^^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage