Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] Wywołanie funkcji z dwoma argumentami działa, ale z trzema już nie?
yahreck
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 12.10.2007

Ostrzeżenie: (0%)
-----


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
  1. <head>
  2. <meta content="text/html; charset=ISO-8859-2" http-equiv="content-type">
  3. <script type="text/javascript" src="wybor.js"></script>
  4. </head>
  5. <body>
  6. <?php
  7. $zmienna1="costam1";
  8. echo "<input name='rekord' type='radio' value='1' onclick='zapisz( $zmienna1, this.value)'>wybor1";
  9. echo "<input name='rekord' type='radio' value='2' onclick='zapisz( $zmienna1, this.value)'>wybor2";
  10. echo "<input name='rekord' type='radio' value='3' onclick='zapisz( $zmienna1, this.value)'>wybor3";
  11. echo "<br>";
  12. ?>
  13. </body>

2. funkcja zapisz przesyła dwie zmienne metodą GET do pliku zapisz.php
wybor.js
[JAVASCRIPT] pobierz, plaintext
  1. var xmlhttp;
  2.  
  3. function zapisz (jeden,dwa)
  4. {
  5. xmlhttp=GetXmlHttpObject();
  6. var url="zapisz.php";
  7. url=url+"?1="+jeden+"&2="+dwa;
  8. url=url+"&sid="+Math.random();
  9. xmlhttp.open("GET",url,true);
  10. xmlhttp.send(null);
  11.  
  12. }
  13.  
  14. function GetXmlHttpObject()
  15. {
  16. if (window.XMLHttpRequest)
  17. {
  18. return new XMLHttpRequest();
  19. }
  20. return null;
  21. }
  22.  
[JAVASCRIPT] pobierz, plaintext

3. zapis do bazy mySQL
zapisz.php
  1. <?php
  2. header("Content-Type: text/html; charset=iso-8859-2");
  3. require("dane_bazy.php");
  4. $1=$_GET["1"];
  5. $2=$_GET["2"];
  6. $sql = "UPDATE `tabela` SET `2`='$2' WHERE `1`='$1' LIMIT 1";
  7. $sql_result = mysql_query($sql,$conn) or die(mysql_error());
  8. mysql_close($conn);
  9. ?>
  10.  

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ą
  1. <head>
  2. <meta content="text/html; charset=ISO-8859-2" http-equiv="content-type">
  3. <script type="text/javascript" src="wybor.js"></script>
  4. </head>
  5. <body>
  6. <?php
  7. $zmienna1="costam1";
  8. $zmienna2="costam2";
  9. echo "<input name='rekord' type='radio' value='1' onclick='zapisz( $zmienna1, $zmienna2, this.value)'>$wybor1";
  10. echo "<input name='rekord' type='radio' value='2' onclick='zapisz( $zmienna1, $zmienna2, this.value)'>$wybor2";
  11. echo "<input name='rekord' type='radio' value='3' onclick='zapisz( $zmienna1, $zmienna2, this.value)'>$wybor3";
  12. echo "<br>";
  13. ?>
  14. </body>

[JAVASCRIPT] pobierz, plaintext
  1. var xmlhttp;
  2.  
  3. function zapisz (jeden,dwa,trzy)
  4. {
  5. xmlhttp=GetXmlHttpObject();
  6. var url="zapisz.php";
  7. url=url+"?1="+jeden+"&2="+dwa+"&3="+trzy;
  8. url=url+"&sid="+Math.random();
  9. xmlhttp.open("GET",url,true);
  10. xmlhttp.send(null);
  11.  
  12. }
  13.  
  14. function GetXmlHttpObject()
  15. {
  16. if (window.XMLHttpRequest)
  17. {
  18. return new XMLHttpRequest();
  19. }
  20. return null;
  21. }
  22.  
[JAVASCRIPT] pobierz, plaintext

  1. <?php
  2. header("Content-Type: text/html; charset=iso-8859-2");
  3. require("dane_bazy.php");
  4. $1=$_GET["1"];
  5. $2=$_GET["2"];
  6. $3=$_GET["3"];
  7. $sql = "UPDATE `tabela` SET `2`='$2', `3`='$3' WHERE `1`='$1' LIMIT 1";
  8. $sql_result = mysql_query($sql,$conn) or die(mysql_error());
  9. mysql_close($conn);
  10. ?>

i grom go wie czemu nie działają ...


--------------------
Człowiek uczy się całe życie, ale i tak głupim umrze.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:01