URL: https://www.overclockers.at/coding-stuff/sql_in_javascript_einbinden_159412/page_1 - zur Vollversion wechseln!
Hallo Leutz!
ich hab da wieder mal a kleins Problem...
<script type="text/javascript">
function Aufenthalt() {
<?php
$sqlclose="UPDATE `a` SET `gesperrt` = '10'";
$arrayclose=mysql_query($sqlclose);
?>
}
</script>
<body onUnload="Aufenthalt()">
...
</body>
so nun ist das so das er den sql teil gleich am beginn ausführt und nicht erst beim schließen.
Weiß wer wie ichs schaffe das er ihn erst beim schließen ausführt?
MFG Joe
<body onLoad="Aufenthalt()">
...
</body>
gibt kein onLoad event?
Du meinst es gibt kein onunload?
Doch:
http://de.selfhtml.org/javascript/s...er.htm#onunload
Tut mir Leid aber entweder du hast prinzipiell nicht verstanden, wie HTTP/HTML/PHP/JS funktieren oder du hast da einen großen Knoten im Hirn: Denk mal nach, was da auf Client- und was auf der Serverseite passiert 
Shit... du hast recht... mein Hirn is matsch^^
wie schaff ichs das ich beim schließen eines Fensters was in eine sql datenbank schreiben?
Ich brauch das damit ich weis, ob wer gerade Daten bearbeitet oder nicht.
hab mich oben verlesen bzw überhaupt völlig falsch verstanden.
...
ich glaub das ist nicht machbar was du vor hast!
aus dem einfachen grund: PHP ist serverseitig d.h wenn du irgend einen wert ändern willst oder eine Funktion aufrufen, musst du die datei neu laden! wenn du das browser fenster aber schließt passiert nix am server!
du kannst nur parameter gesteuert immer wieder eine neue seite generieren.
dazu gibts ja auch diese post und get methode. du könntest aber einen logout button machen! und dann einfach bei action="ausloggen.php" aufrufen.
ich denk mal in ASP(.Net) kann ma auf die Events vom Browser zugreifen.
oder machs mit sessions!
viel glück!
Mit callbacks sollte das funktionieren.
entweder callbacks für den sql teil -
was ich aber nicht verstanden habe ist ob du den command für die ausführung in java oder sql schreibst...
falls es java ist ändere doch einfach die close prozedur:
SetDefaultCloseOperation(EXIT_ON_CLOSE);
halt nur mit execute on close... hast du irgendwo den ganzen code?
verwendest du visual studio? oder welchen compiler... weil du könntest auch direkt am browser zugreifen wie schon gesagt worden ist...
wenn du davon ausgehen kannst, daß js nicht deaktiviert ist, könntest du eventuell mit onunload noch schnell ein request abschicken.
ich hab gerade eine Idee...
Ich werde mit dem onunload das zumachen einer Seite haerausfinden...dann eine eigene Seite öffenen mit dem mysql befehl drinnen die sich aber sofort wieder schließt...und fertig!
so lange Programmieren ohne Pause geht an die Substanz *tired* ;-)
MFG Joe
so was in der art meinte ich 
ich weiss zwar jetzt nicht was genau in welchem browser der onunload befehl macht - falls aber die funktion wirklich fertig abgearbeitet wird würd ich in deinem fall mal nach ajax googlen 
also ich denk mal die einfachste variante wäre:
<script type="text/javascript">
function Aufenthalt()
{
window.location = "sqlclose.php";
}
</script>
<body onUnload="Aufenthalt()">
...
</body>
und in der sqlclose.php:
Code: PHP<?php $sqlclose="UPDATE `a` SET `gesperrt` = '10'"; $arrayclose=mysql_query($sqlclose); ?>
Was Du willst nennt sich Ajax. Hier gibts ein Beispiel dazu, vielleicht hilft Dir das weiter?
http://www.easy-coding.de/ajax-mit-php-t556.html
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026