1. po kliknięciu na przycisk radiowy uruchamia się funkcja zapisz w pliku wybor.js
index.html
<head> <meta content="text/html; charset=ISO-8859-2" http-equiv="content-type"> <script type="text/javascript" src="wybor.js"></script> </head> <body> <?php $zmienna1="costam1"; ?> </body>
2. funkcja zapisz przesyła dwie zmienne metodą GET do pliku zapisz.php
wybor.js
var xmlhttp; function zapisz (jeden,dwa) { xmlhttp=GetXmlHttpObject(); var url="zapisz.php"; url=url+"?1="+jeden+"&2="+dwa; url=url+"&sid="+Math.random(); xmlhttp.open("GET",url,true); xmlhttp.send(null); } function GetXmlHttpObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } return null; }
3. zapis do bazy mySQL
zapisz.php
<?php require("dane_bazy.php"); $1=$_GET["1"]; $2=$_GET["2"]; $sql = "UPDATE `tabela` SET `2`='$2' WHERE `1`='$1' LIMIT 1"; ?>
Powyższe przykłady działają
Wszystko działa, ale wtedy i tylko wtedy, gdy w pliku index.html wywołam funkcję zapisz z dwoma argumentami.
=======================================================================
Gdy wprowadzam trzeci argument wywołania funkcji zapisz (w liniach 9-11) skrypt przestaje działać. Po prostu do bazy nic nie zapisuje.
Poniższe przykłady NIE działają
<head> <meta content="text/html; charset=ISO-8859-2" http-equiv="content-type"> <script type="text/javascript" src="wybor.js"></script> </head> <body> <?php $zmienna1="costam1"; $zmienna2="costam2"; echo "<input name='rekord' type='radio' value='1' onclick='zapisz( $zmienna1, $zmienna2, this.value)'>$wybor1"; echo "<input name='rekord' type='radio' value='2' onclick='zapisz( $zmienna1, $zmienna2, this.value)'>$wybor2"; echo "<input name='rekord' type='radio' value='3' onclick='zapisz( $zmienna1, $zmienna2, this.value)'>$wybor3"; ?> </body>
var xmlhttp; function zapisz (jeden,dwa,trzy) { xmlhttp=GetXmlHttpObject(); var url="zapisz.php"; url=url+"?1="+jeden+"&2="+dwa+"&3="+trzy; url=url+"&sid="+Math.random(); xmlhttp.open("GET",url,true); xmlhttp.send(null); } function GetXmlHttpObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } return null; }
<?php require("dane_bazy.php"); $1=$_GET["1"]; $2=$_GET["2"]; $3=$_GET["3"]; $sql = "UPDATE `tabela` SET `2`='$2', `3`='$3' WHERE `1`='$1' LIMIT 1"; ?>
i grom go wie czemu nie działają ...