Mam działający skrypt na 3 plikach.
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";
echo "<input name='rekord' type='radio' value='1' onclick='zapisz( $zmienna1, this.value)'>wybor1"; echo "<input name='rekord' type='radio' value='2' onclick='zapisz( $zmienna1, this.value)'>wybor2"; echo "<input name='rekord' type='radio' value='3' onclick='zapisz( $zmienna1, this.value)'>wybor3"; ?>
</body>
2. funkcja
zapisz przesyła dwie zmienne metodą GET do pliku
zapisz.phpwybor.jsvar 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
header("Content-Type: text/html; charset=iso-8859-2"); 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
header("Content-Type: text/html; charset=iso-8859-2"); 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ą ...
Człowiek uczy się całe życie, ale i tak głupim umrze.